def test_transform_taupage_user_data_accepts_int_key_value(self): input = {'ports': {8080: 9000}} key, value = CloudFormationTemplateTransformer.transform_taupage_user_data_key('@taupageUserData@', input) expected = { "Fn::Base64": { "Fn::Join": [ "\n", [ "#taupage-ami-config", "ports:", {"Fn::Join": [": ", [" 8080", 9000]]} ] ] } } self.assertDictEqual(expected, value)
def test_transform_taupage_user_data_accepts_joins(self): input = { "source": {"Fn::Join": [":", ["my-registry/my-app", {"Ref": "appVersion"}]]} } expected = { "Fn::Base64": { "Fn::Join": [ "\n", [ "#taupage-ami-config", { "Fn::Join": [ ": ", [ "source", { "Fn::Join": [ ":", [ "my-registry/my-app", { "Ref": "appVersion" } ] ] } ] ] } ] ] } } key, value = CloudFormationTemplateTransformer.transform_taupage_user_data_key('@taupageUserData@', input) # import json # print value self.assertDictEqual(expected, value)
def test_render_taupage_user_data_accepts_multiple_sub_dicts(self): input = { "foo": { 'baa': {'key': 'value'} } } expected = {'Fn::Base64': { 'Fn::Join': [ '\n', [ '#taupage-ami-config', 'foo:', ' baa:', {'Fn::Join': [': ', [' key', 'value']]} ] ] } } key, value = CloudFormationTemplateTransformer.transform_taupage_user_data_key('@taupageUserData@', input) self.assertDictEqual(expected, value)
def test_render_taupage_user_data(self): input = { "application_id": "stackName", "application_version": "imageVersion", "environment": { "SSO_KEY": "mySsoKey", "QUEUE_URL": {"ref": "myQueueUrl"} } } expected = { "Fn::Base64": { "Fn::Join": [ "\n", [ "#taupage-ami-config", { "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_taupage_user_data_key('@taupageUserData@', input) self.assertDictEqual(expected, value)