def test_transform_yaml_user_data_key(self): input = { "application_id": "stackName", "application_version": "imageVersion", "environment": { "SSO_KEY": "mySsoKey", "QUEUE_URL": {"ref": "myQueueUrl"} } } expected = {'Fn::Base64': {'Fn::Join': ['\n', [ {'Fn::Join': [': ', ['application_id', 'stackName']]}, {'Fn::Join': [': ', ['application_version', 'imageVersion']]}, 'environment:', {'Fn::Join': [': ', [' QUEUE_URL', {'ref': 'myQueueUrl'}]]}, {'Fn::Join': [': ', [' SSO_KEY', 'mySsoKey']]}]] } } key, value = CloudFormationTemplateTransformer.transform_yaml_user_data_key('@YamlUserData@', input) self.assertEqual("UserData", key) self.assertEqual(expected, value)
def test_transform_yaml_user_data_key(self): input = { "application_id": "stackName", "application_version": "imageVersion", "environment": { "SSO_KEY": "mySsoKey", "QUEUE_URL": { "ref": "myQueueUrl" } } } expected = { 'Fn::Base64': { 'Fn::Join': [ '\n', [{ 'Fn::Join': [': ', ['application_id', 'stackName']] }, { 'Fn::Join': [': ', ['application_version', 'imageVersion']] }, 'environment:', { 'Fn::Join': [': ', [' QUEUE_URL', { 'ref': 'myQueueUrl' }]] }, { 'Fn::Join': [': ', [' SSO_KEY', 'mySsoKey']] }] ] } } key, value = CloudFormationTemplateTransformer.transform_yaml_user_data_key( '@YamlUserData@', input) self.assertEqual("UserData", key) self.assertEqual(expected, value)
def test_transform_yaml_user_data_key(self): input = { "application_id": "stackName", "application_version": "imageVersion", "environment": { "SSO_KEY": "mySsoKey", "QUEUE_URL": { "ref": "myQueueUrl" } } } expected = { "Fn::Base64": { "Fn::Join": [ "\n", [{ "Fn::Join": [": ", ["application_id", "stackName"]] }, { "Fn::Join": [": ", ["application_version", "imageVersion"]] }, "environment:", { "Fn::Join": [": ", [" SSO_KEY", "mySsoKey"]] }, { "Fn::Join": [": ", [" QUEUE_URL", { "ref": "myQueueUrl" }]] }] ] } } key, value = CloudFormationTemplateTransformer.transform_yaml_user_data_key( '@YamlUserData@', input) self.assertEqual("UserData", key) six.assertCountEqual(self, expected, value)
def test_transform_yaml_user_data_key(self): input = { "application_id": "stackName", "application_version": "imageVersion", "environment": { "SSO_KEY": "mySsoKey", "QUEUE_URL": {"ref": "myQueueUrl"} } } expected = { "Fn::Base64": { "Fn::Join": [ "\n", [ { "Fn::Join": [ ": ", [ "application_id", "stackName" ] ] }, { "Fn::Join": [ ": ", [ "application_version", "imageVersion" ] ] }, "environment:", { "Fn::Join": [ ": ", [ " SSO_KEY", "mySsoKey" ] ] }, { "Fn::Join": [ ": ", [ " QUEUE_URL", { "ref": "myQueueUrl" } ] ] } ] ] } } key, value = CloudFormationTemplateTransformer.transform_yaml_user_data_key('@YamlUserData@', input) self.assertEqual("UserData", key) six.assertCountEqual(self, expected, value)
def test_transform_yaml_user_data_key(self): input = { 'docker-compose': { 'services': { 'db': { 'environment': { 'MYSQL_DATABASE': 'wordpress', 'MYSQL_PASSWORD': '******', 'MYSQL_ROOT_PASSWORD': '******', 'MYSQL_USER': '******' }, 'image': 'mysql:5.7', 'restart': 'always', 'volumes': ['db_data:/var/lib/mysql'] }, 'wordpress': { 'depends_on': ['db'], 'environment': { 'WORDPRESS_DB_HOST': 'db:3306', 'WORDPRESS_DB_PASSWORD': '******' }, 'image': { 'fn::join': [':', ['wordpress', { 'ref': 'wp_version' }]] }, 'ports': ['8000:80'], 'restart': 'always' } }, 'version': '2', 'volumes': 'db_data' }, 'healthchecks': [{ 'http': { 'port': 8000 } }, { 'AwsElb': { 'loadbalancer_name': { 'Ref': 'my-alb' } } }], 'pre_start': [{ 'AwsEcrLogin': { 'account_id': 123456789123, 'region': 'eu-west-1' } }], 'signals': [{ 'AwsCfn': { 'logical_resource_id': { 'fn::getatt': ['my-asg', 'arn'] }, 'region': 'eu-west-1', 'stack_name': 'my-stack' } }] } expected = { "Fn::Base64": { "Fn::Join": [ "\n", [ "docker-compose:", " services:", " db:", " environment:", " MYSQL_DATABASE: 'wordpress'", " MYSQL_PASSWORD: '******'", " MYSQL_ROOT_PASSWORD: '******'", " MYSQL_USER: '******'", " image: 'mysql:5.7'", " restart: 'always'", " volumes:", " - 'db_data:/var/lib/mysql'", " wordpress:", " depends_on:", " - 'db'", " environment:", " WORDPRESS_DB_HOST: 'db:3306'", " WORDPRESS_DB_PASSWORD: '******'", " image:", { "Fn::Join": [ "", [ " ", { "fn::join": [ ":", [ "wordpress", { "ref": "wp_version" } ] ] } ] ] }, " ports:", " - '8000:80'", " restart: 'always'", " version: '2'", " volumes: 'db_data'", "healthchecks:", " - http:", " port: 8000", " - AwsElb:", " loadbalancer_name:", { "Fn::Join": ["", [" ", { "Ref": "my-alb" }]] }, "pre_start:", " - AwsEcrLogin:"******" account_id: 123456789123", " region: 'eu-west-1'", "signals:", " - AwsCfn:", " logical_resource_id:", { "Fn::Join": [ "", [" ", { "fn::getatt": ["my-asg", "arn"] }] ] }, " region: 'eu-west-1'", " stack_name: 'my-stack'" ] ] } } key, value = CloudFormationTemplateTransformer.transform_yaml_user_data_key( "@YamlUserData@", input) print(json.dumps(value, indent=4)) self.assertEqual("UserData", key) self.assertEqual(expected, value)