182 lines
4.9 KiB
Python
182 lines
4.9 KiB
Python
from moto.core import DEFAULT_ACCOUNT_ID as ACCOUNT_ID
|
|
|
|
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 = """{
|
|
"type": "record",
|
|
"namespace": "Moto_Test",
|
|
"name": "Person",
|
|
"fields": [
|
|
{
|
|
"name": "Name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "Age",
|
|
"type": "int"
|
|
}
|
|
]
|
|
}"""
|
|
|
|
TEST_NEW_AVRO_SCHEMA_DEFINITION = """{
|
|
"type": "record",
|
|
"namespace": "Moto_Test",
|
|
"name": "Person",
|
|
"fields": [
|
|
{
|
|
"name": "Name",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "Age",
|
|
"type": "int"
|
|
},
|
|
{
|
|
"name": "address",
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
]
|
|
}"""
|
|
|
|
TEST_JSON_SCHEMA_DEFINITION = """{
|
|
"$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."
|
|
}
|
|
}
|
|
}"""
|
|
|
|
TEST_NEW_JSON_SCHEMA_DEFINITION = """{
|
|
"$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
|
|
}
|
|
}
|
|
}"""
|
|
|
|
TEST_PROTOBUF_SCHEMA_DEFINITION = """syntax = "proto2";
|
|
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;
|
|
}"""
|
|
|
|
TEST_NEW_PROTOBUF_SCHEMA_DEFINITION = """syntax = "proto2";
|
|
|
|
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;
|
|
}"""
|