def test_apply_cloud_providers_config_extend(self): ''' Tests the successful extension of a cloud provider ''' overrides = { 'my-production-envs': [{ 'extends': 'my-dev-envs:ec2', 'location': 'us-east-1', 'user': '******' }], 'my-dev-envs': [{ 'id': 'ABCDEFGHIJKLMNOP', 'user': '******', 'location': 'ap-southeast-1', 'key': 'supersecretkeysupersecretkey', 'provider': 'ec2' }, { 'apikey': 'abcdefghijklmnopqrstuvwxyz', 'password': '******', 'provider': 'linode' }], 'conf_file': PATH } ret = { 'my-production-envs': { 'ec2': { 'profiles': {}, 'location': 'us-east-1', 'key': 'supersecretkeysupersecretkey', 'provider': 'ec2', 'id': 'ABCDEFGHIJKLMNOP', 'user': '******' } }, 'my-dev-envs': { 'linode': { 'apikey': 'abcdefghijklmnopqrstuvwxyz', 'password': '******', 'profiles': {}, 'provider': 'linode' }, 'ec2': { 'profiles': {}, 'location': 'ap-southeast-1', 'key': 'supersecretkeysupersecretkey', 'provider': 'ec2', 'id': 'ABCDEFGHIJKLMNOP', 'user': '******' } } } self.assertEqual( ret, sconfig.apply_cloud_providers_config(overrides, defaults=DEFAULT))
def test_apply_cloud_providers_config_extend_multiple(self): ''' Tests the successful extension of two cloud providers ''' overrides = {'my-production-envs': [{'extends': 'my-dev-envs:ec2', 'location': 'us-east-1', 'user': '******'}, {'password': '******', 'extends': 'my-dev-envs:linode', 'location': 'Salt Lake City' }], 'my-dev-envs': [{'id': 'ABCDEFGHIJKLMNOP', 'user': '******', 'location': 'ap-southeast-1', 'key': 'supersecretkeysupersecretkey', 'driver': 'ec2'}, {'apikey': 'abcdefghijklmnopqrstuvwxyz', 'password': '******', 'driver': 'linode'}], 'conf_file': PATH} ret = {'my-production-envs': {'linode': {'apikey': 'abcdefghijklmnopqrstuvwxyz', 'profiles': {}, 'location': 'Salt Lake City', 'driver': 'linode', 'password': '******'}, 'ec2': {'user': '******', 'key': 'supersecretkeysupersecretkey', 'driver': 'ec2', 'id': 'ABCDEFGHIJKLMNOP', 'profiles': {}, 'location': 'us-east-1'}}, 'my-dev-envs': {'linode': {'apikey': 'abcdefghijklmnopqrstuvwxyz', 'password': '******', 'profiles': {}, 'driver': 'linode'}, 'ec2': {'profiles': {}, 'user': '******', 'key': 'supersecretkeysupersecretkey', 'driver': 'ec2', 'id': 'ABCDEFGHIJKLMNOP', 'location': 'ap-southeast-1'}}} self.assertEqual(ret, sconfig.apply_cloud_providers_config( overrides, defaults=DEFAULT))