def test_transform_dict_to_yaml_lines_list_accepts_joins(self): input = { "source": {"Fn::Join": [":", ["my-registry/my-app", {"Ref": "appVersion"}]]} } expected = [ { "Fn::Join": [ ": ", [ "source", { "Fn::Join": [ ":", [ "my-registry/my-app", { "Ref": "appVersion" } ] ] } ] ] } ] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list(input) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_accepts_joins(self): input = { "source": { "Fn::Join": [":", ["my-registry/my-app", { "Ref": "appVersion" }]] } } expected = [{ "Fn::Join": [ ": ", [ "source", { "Fn::Join": [":", ["my-registry/my-app", { "Ref": "appVersion" }]] } ] ] }] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( input) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines(self): input = { "docker-compose": { "version": "2", "services": { "grafana": { "environment": { "GF_SECURITY_ADMIN_PASSWORD": { "Ref": "grafanaAdminPassword" } }, "ports": ["3000:3000"], "restart": "always" } } } } expected = [ "docker-compose:", " services:", " grafana:", " environment:", " GF_SECURITY_ADMIN_PASSWORD:"******"Fn::Join": ["", [" ", { "Ref": "grafanaAdminPassword" }]] }, " ports:", " - '3000:3000'", " restart: 'always'", " version: '2'" ] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( input) print(json.dumps(result, indent=4)) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_returns_stable_order(self): input = { 'd': 'd', 'a': 'a', 'e': 'e', 'b': { 'f': 'f', 'c': 'c', 'a': 'a' }, "#": "3" } expected = [{ 'Fn::Join': [': ', ['#', '3']] }, { 'Fn::Join': [': ', ['a', 'a']] }, 'b:', { 'Fn::Join': [': ', [' a', 'a']] }, { 'Fn::Join': [': ', [' c', 'c']] }, { 'Fn::Join': [': ', [' f', 'f']] }, { 'Fn::Join': [': ', ['d', 'd']] }, { 'Fn::Join': [': ', ['e', 'e']] }] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( input) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_returns_stable_order(self): input = { "d": "d", "a": "a", "e": "e", "b": { "f": "f", "c": "c", "a": "a" }, "#": "3" } expected = [{ "Fn::Join": [": ", ["#", "3"]] }, { "Fn::Join": [": ", ["a", "a"]] }, "b:", { "Fn::Join": [": ", [" a", "a"]] }, { "Fn::Join": [": ", [" c", "c"]] }, { "Fn::Join": [": ", [" f", "f"]] }, { "Fn::Join": [": ", ["d", "d"]] }, { "Fn::Join": [": ", ["e", "e"]] }] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( input) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_accepts_int_key_value(self): input = {'ports': {8080: 9000}} result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( input) expected = ["ports:", {"Fn::Join": [": ", [" 8080", 9000]]}] self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_preserves_boolean_values(self): input = {"a": True} expected = ["a: True"] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( input) print(json.dumps(result, indent=4)) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_indents_sub_dicts(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( {'my-key': { 'my-sub-key': 'value' }}) self.assertEqual( ['my-key:', { 'Fn::Join': [': ', [' my-sub-key', 'value']] }], result)
def test_transform_dict_to_yaml_lines_list_accepts_multiple_sub_dicts( self): input = {"foo": {"baa": {"key": "value"}}} expected = ["foo:", " baa:", " key: 'value'"] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( input) print(json.dumps(result, indent=4)) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_accepts_int_key_value(self): input = {'ports': {8080: 9000}} result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list(input) expected = [ "ports:", {"Fn::Join": [": ", [" 8080", 9000]]} ] self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_accepts_multiple_sub_dicts( self): input = {"foo": {'baa': {'key': 'value'}}} expected = [ 'foo:', ' baa:', { 'Fn::Join': [': ', [' key', 'value']] } ] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( input) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_returns_stable_order(self): input = {'d': 'd', 'a': 'a', 'e': 'e', 'b': {'f': 'f', 'c': 'c', 'a': 'a'}, "#": "3"} expected = [{'Fn::Join': [': ', ['#', '3']]}, {'Fn::Join': [': ', ['a', 'a']]}, 'b:', {'Fn::Join': [': ', [' a', 'a']]}, {'Fn::Join': [': ', [' c', 'c']]}, {'Fn::Join': [': ', [' f', 'f']]}, {'Fn::Join': [': ', ['d', 'd']]}, {'Fn::Join': [': ', ['e', 'e']]}] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list(input) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_accepts_multiple_sub_dicts(self): input = { "foo": { 'baa': {'key': 'value'} } } expected = [ 'foo:', ' baa:', {'Fn::Join': [': ', [' key', 'value']]} ] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list(input) self.assertEqual(expected, result)
def test_transform_dict_to_yaml_lines_list_with_simple_kv(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( {"my-key": "my-value"}) self.assertEqual(["my-key: 'my-value'"], result)
def test_transform_dict_to_yaml_lines_list_accepts_list_values(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( {'my-key': ['a', 'b']}) self.assertEqual(['my-key:', '- a', '- b'], result)
def test_transform_dict_to_yaml_lines_list_accepts_list_values(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list({'my-key': ['a', 'b']}) self.assertEqual(['my-key:', '- a', '- b'], result)
def test_transform_dict_to_yaml_lines_list_accepts_integer_values(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list({'my-key': 3}) self.assertEqual([{'Fn::Join': [': ', ['my-key', 3]]}], result)
def test_transform_dict_to_yaml_lines_list_indents_sub_dicts(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( {'my-key': {'my-sub-key': 'value'}}) self.assertEqual(['my-key:', {'Fn::Join': [': ', [' my-sub-key', 'value']]}], result)
def test_transform_dict_to_yaml_lines_list_indents_sub_dicts(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( {"my-key": { "my-sub-key": "v" }}) self.assertEqual(["my-key:", " my-sub-key: 'v'"], result)
def test_transform_dict_to_yaml_lines_list_accepts_integer_values(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( {"my-key": 3}) self.assertEqual(["my-key: 3"], result)
def test_transform_dict_to_yaml_lines_list(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( {'my-key': 'my-value'}) self.assertEqual([{ 'Fn::Join': [': ', ['my-key', 'my-value']] }], result)
def test_transform_dict_to_yaml_lines_list(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list({'my-key': 'my-value'}) self.assertEqual([{'Fn::Join': [': ', ['my-key', 'my-value']]}], result)
def test_transform_dict_to_yaml_lines_list_accepts_integer_values(self): result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list( {'my-key': 3}) self.assertEqual([{'Fn::Join': [': ', ['my-key', 3]]}], result)
def test_transform_dict_to_yaml_lines_preserves_double_values(self): input = {"a": 2.3} expected = ["a: 2.3"] result = CloudFormationTemplateTransformer.transform_dict_to_yaml_lines_list(input) self.assertEqual(expected, result)