| 
									
										
										
										
											2022-08-13 09:49:43 +00:00
										 |  |  | from moto.core import DEFAULT_ACCOUNT_ID as ACCOUNT_ID | 
					
						
							| 
									
										
										
										
											2022-08-04 08:48:08 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-05 13:59:01 -07:00
										 |  |  | TEST_DESCRIPTION = "test_description" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_TAGS = {"key1": "value1", "key2": "value2"} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_AVAILABLE_STATUS = "AVAILABLE" | 
					
						
							|  |  |  | TEST_DELETING_STATUS = "DELETING" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_REGISTRY_NAME = "TestRegistry" | 
					
						
							|  |  |  | TEST_INVALID_REGISTRY_NAME_DOES_NOT_EXIST = "InvalidRegistryDoesNotExist" | 
					
						
							|  |  |  | TEST_REGISTRY_ARN = f"arn:aws:glue:us-east-1:{ACCOUNT_ID}:registry/{TEST_REGISTRY_NAME}" | 
					
						
							|  |  |  | TEST_REGISTRY_ID = {"RegistryName": f"{TEST_REGISTRY_NAME}"} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_SCHEMA_NAME = "TestSchema" | 
					
						
							|  |  |  | TEST_INVALID_SCHEMA_NAME_DOES_NOT_EXIST = "InvalidSchemaDoesNotExist" | 
					
						
							|  |  |  | TEST_SCHEMA_ARN = f"arn:aws:glue:us-east-1:{ACCOUNT_ID}:schema/{TEST_REGISTRY_NAME}/{TEST_SCHEMA_NAME}" | 
					
						
							|  |  |  | TEST_SCHEMA_ID = { | 
					
						
							|  |  |  |     "RegistryName": f"{TEST_REGISTRY_NAME}", | 
					
						
							|  |  |  |     "SchemaName": f"{TEST_SCHEMA_NAME}", | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | TEST_INVALID_SCHEMA_ID_SCHEMA_DOES_NOT_EXIST = { | 
					
						
							|  |  |  |     "RegistryName": TEST_REGISTRY_NAME, | 
					
						
							|  |  |  |     "SchemaName": TEST_INVALID_SCHEMA_NAME_DOES_NOT_EXIST, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | TEST_INVALID_SCHEMA_ID_REGISTRY_DOES_NOT_EXIST = { | 
					
						
							|  |  |  |     "RegistryName": TEST_INVALID_REGISTRY_NAME_DOES_NOT_EXIST, | 
					
						
							|  |  |  |     "SchemaName": TEST_SCHEMA_NAME, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_AVRO_DATA_FORMAT = "AVRO" | 
					
						
							|  |  |  | TEST_JSON_DATA_FORMAT = "JSON" | 
					
						
							|  |  |  | TEST_PROTOBUF_DATA_FORMAT = "PROTOBUF" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_BACKWARD_COMPATIBILITY = "BACKWARD" | 
					
						
							|  |  |  | TEST_DISABLED_COMPATIBILITY = "DISABLED" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_SCHEMA_VERSION_NUMBER = {"VersionNumber": 1, "LatestVersion": False} | 
					
						
							|  |  |  | TEST_SCHEMA_VERSION_NUMBER_LATEST_VERSION = {"LatestVersion": True} | 
					
						
							|  |  |  | TEST_VERSION_ID = "00000000-0000-0000-0000-000000000000" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_METADATA_KEY = "test_metadata_key" | 
					
						
							|  |  |  | TEST_METADATA_VALUE = "test_metadata_value" | 
					
						
							|  |  |  | TEST_METADATA_KEY_VALUE = { | 
					
						
							|  |  |  |     "MetadataKey": TEST_METADATA_KEY, | 
					
						
							|  |  |  |     "MetadataValue": TEST_METADATA_VALUE, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_AVRO_SCHEMA_DEFINITION = """{
 | 
					
						
							| 
									
										
										
										
											2022-08-04 08:48:08 -07:00
										 |  |  |         "type": "record", | 
					
						
							|  |  |  |         "namespace": "Moto_Test", | 
					
						
							|  |  |  |         "name": "Person", | 
					
						
							|  |  |  |         "fields": [ | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 "name": "Name", | 
					
						
							|  |  |  |                 "type": "string" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 "name": "Age", | 
					
						
							|  |  |  |                 "type": "int" | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         ] | 
					
						
							|  |  |  |     }"""
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-05 13:59:01 -07:00
										 |  |  | TEST_NEW_AVRO_SCHEMA_DEFINITION = """{
 | 
					
						
							| 
									
										
										
										
											2022-08-04 08:48:08 -07:00
										 |  |  |         "type": "record", | 
					
						
							|  |  |  |         "namespace": "Moto_Test", | 
					
						
							|  |  |  |         "name": "Person", | 
					
						
							|  |  |  |         "fields": [ | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 "name": "Name", | 
					
						
							|  |  |  |                 "type": "string" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 "name": "Age", | 
					
						
							|  |  |  |                 "type": "int" | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             { | 
					
						
							|  |  |  |                 "name": "address", | 
					
						
							|  |  |  |                 "type": "string", | 
					
						
							|  |  |  |                 "default": "" | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         ] | 
					
						
							|  |  |  |     }"""
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-05 13:59:01 -07:00
										 |  |  | TEST_JSON_SCHEMA_DEFINITION = """{
 | 
					
						
							| 
									
										
										
										
											2022-08-04 08:48:08 -07:00
										 |  |  |         "$id": "https://example.com/person.schema.json", | 
					
						
							|  |  |  |         "$schema": "http://json-schema.org/draft-07/schema#", | 
					
						
							|  |  |  |         "title": "Person", | 
					
						
							|  |  |  |         "type": "object", | 
					
						
							|  |  |  |         "properties": { | 
					
						
							|  |  |  |             "firstName": { | 
					
						
							|  |  |  |                 "type": "string", | 
					
						
							|  |  |  |                 "description": "The person's first name." | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "lastName": { | 
					
						
							|  |  |  |                 "type": "string", | 
					
						
							|  |  |  |                 "description": "The person's last name." | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }"""
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-05 13:59:01 -07:00
										 |  |  | TEST_NEW_JSON_SCHEMA_DEFINITION = """{
 | 
					
						
							| 
									
										
										
										
											2022-08-04 08:48:08 -07:00
										 |  |  |         "$id": "https://example.com/person.schema.json", | 
					
						
							|  |  |  |         "$schema": "http://json-schema.org/draft-07/schema#", | 
					
						
							|  |  |  |         "title": "Person", | 
					
						
							|  |  |  |         "type": "object", | 
					
						
							|  |  |  |         "properties": { | 
					
						
							|  |  |  |             "firstName": { | 
					
						
							|  |  |  |                 "type": "string", | 
					
						
							|  |  |  |                 "description": "The person's first name." | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "lastName": { | 
					
						
							|  |  |  |                 "type": "string", | 
					
						
							|  |  |  |                 "description": "The person's last name." | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "age": { | 
					
						
							|  |  |  |                 "description": "Age in years which must be equal to or greater than zero.", | 
					
						
							|  |  |  |                 "type": "integer", | 
					
						
							|  |  |  |                 "minimum": 0 | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }"""
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-05 13:59:01 -07:00
										 |  |  | TEST_PROTOBUF_SCHEMA_DEFINITION = """syntax = "proto2";
 | 
					
						
							| 
									
										
										
										
											2022-08-04 08:48:08 -07:00
										 |  |  |     package tutorial; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     option java_multiple_files = true; | 
					
						
							|  |  |  |     option java_package = "com.example.tutorial.protos"; | 
					
						
							|  |  |  |     option java_outer_classname = "AddressBookProtos"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     message Person { | 
					
						
							|  |  |  |       optional string name = 1; | 
					
						
							|  |  |  |       optional int32 id = 2; | 
					
						
							|  |  |  |       optional string email = 3; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       enum PhoneType { | 
					
						
							|  |  |  |         MOBILE = 0; | 
					
						
							|  |  |  |         HOME = 1; | 
					
						
							|  |  |  |         WORK = 2; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       message PhoneNumber { | 
					
						
							|  |  |  |         optional string number = 1; | 
					
						
							|  |  |  |         optional PhoneType type = 2 [default = HOME]; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       repeated PhoneNumber phones = 4; | 
					
						
							|  |  |  |     }"""
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-05 13:59:01 -07:00
										 |  |  | TEST_NEW_PROTOBUF_SCHEMA_DEFINITION = """syntax = "proto2";
 | 
					
						
							| 
									
										
										
										
											2022-08-04 08:48:08 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     package tutorial; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     option java_multiple_files = true; | 
					
						
							|  |  |  |     option java_package = "com.example.tutorial.protos"; | 
					
						
							|  |  |  |     option java_outer_classname = "AddressBookProtos"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     message Person { | 
					
						
							|  |  |  |       optional string name = 1; | 
					
						
							|  |  |  |       optional int32 id = 2; | 
					
						
							|  |  |  |       optional string email = 3; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       enum PhoneType { | 
					
						
							|  |  |  |         MOBILE = 0; | 
					
						
							|  |  |  |         HOME = 1; | 
					
						
							|  |  |  |         WORK = 2; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       message PhoneNumber { | 
					
						
							|  |  |  |         optional string number = 1; | 
					
						
							|  |  |  |         optional PhoneType type = 2 [default = HOME]; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       repeated PhoneNumber phones = 4; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     message AddressBook { | 
					
						
							|  |  |  |       repeated Person people = 1; | 
					
						
							|  |  |  |     }"""
 |