# Copyright 2016-2018, Pulumi Corporation. All rights reserved. import pulumi # Just test that basic config works. config = pulumi.Config('config_basic_py') # This value is plaintext and doesn't require encryption. value = config.require('aConfigValue') assert value == 'this value is a Pythonic value' # This value is a secret and is encrypted using the passphrase `supersecret`. secret = config.require('bEncryptedSecret') assert secret == 'this super Pythonic secret is encrypted' test_data = [ { 'key': 'outer', 'expected_json': '{"inner":"value"}', 'expected_object': { 'inner': 'value' } }, { 'key': 'names', 'expected_json': '["a","b","c","super secret name"]', 'expected_object': ['a', 'b', 'c', 'super secret name'] }, { 'key': 'servers', 'expected_json': '[{"host":"example","port":80}]', 'expected_object': [{ 'host': 'example', 'port': 80 }] }, { 'key': 'a', 'expected_json': '{"b":[{"c":true},{"c":false}]}', 'expected_object': { 'b': [{ 'c': True }, { 'c': False }] } }, { 'key': 'tokens', 'expected_json': '["shh"]', 'expected_object': ['shh'] }, { 'key': 'foo', 'expected_json': '{"bar":"don\'t tell"}', 'expected_object': { 'bar': "don't tell" } } ] for test in test_data: json = config.require(test['key']) obj = config.require_object(test['key']) assert json == test['expected_json'] assert obj == test['expected_object']