def test_value_decyrpt(self, sops_mock): encrypted_config_file_path = os.path.join( os.path.dirname(__file__), 'decryptors', 'files', 'tssc-config-secret-stuff.yml') config_value = ConfigValue( value= 'ENC[AES256_GCM,data:UGKfnzsSrciR7GXZJhOCMmFrz3Y6V3pZsd3P,iv:yuReqA+n+rRXVHMc+2US5t7yPx54sooZSXWV4KLjDIs=,tag:jueP7/ZWLfYrEuhh+4eS8g==,type:str]', parent_source=encrypted_config_file_path, path_parts=[ 'tssc-config', 'global-environment-defaults', 'DEV', 'kube-api-token' ]) DecryptionUtils.register_config_value_decryptor(SOPS()) sops_mock.side_effect = create_sops_side_effect('mock decrypted value') decrypted_value = config_value.value sops_mock.assert_called_once_with( '--decrypt', '--extract=["tssc-config"]["global-environment-defaults"]["DEV"]["kube-api-token"]', None, encrypted_config_file_path, _in=None, _out=Any(StringIO), _err=Any(StringIO)) self.assertEqual(decrypted_value, 'mock decrypted value')
def test_encrypted_value_with_sops_decryptor(self, sops_mock): encrypted_config_file_path = os.path.join( os.path.dirname(__file__), 'files', 'tssc-config-secret-stuff.yml') config_file_path = os.path.join(os.path.dirname(__file__), 'files', 'tssc-config.yml') decryptors_config_file_path = os.path.join( os.path.dirname(__file__), 'files', 'tssc-config-decryptors.yml') mock_decrypted_value = 'mock decrypted value' sops_mock.side_effect = create_sops_side_effect(mock_decrypted_value) self._run_main_test(argv=[ '--step', 'required-step-config-test', '--environment', 'DEV' ], config_files=[ encrypted_config_file_path, config_file_path, decryptors_config_file_path ], expected_results={ 'tssc-results': { 'required-step-config-test': { 'environment-name': 'DEV', 'kube-api-token': mock_decrypted_value, 'required-config-key': mock_decrypted_value } } })
def test_encrypted_value_with_sops_decryptor(self, sops_mock): encrypted_config_file_path = os.path.join( os.path.dirname(__file__), 'files', 'step-runner-config-secret-stuff.yml') config_file_path = os.path.join(os.path.dirname(__file__), 'files', 'step-runner-config.yml') decryptors_config_file_path = os.path.join( os.path.dirname(__file__), 'files', 'step-runner-config-decryptors.yml') mock_decrypted_value = 'mock decrypted value' sops_mock.side_effect = create_sops_side_effect(mock_decrypted_value) self._run_main_test( argv=[ '--step', 'required-step-config-test', '--environment', 'DEV' ], config_files=[ encrypted_config_file_path, config_file_path, decryptors_config_file_path ], expected_results={ 'step-runner-results': { 'DEV': { 'required-step-config-test': { 'tests.helpers.sample_step_implementers.RequiredStepConfigStepImplementer': { 'artifacts': [{ 'name': 'environment-name', 'description': '', 'value': 'DEV' }, { 'name': 'kube-api-token', 'description': '', 'value': 'mock decrypted value' }, { 'name': 'required-config-key', 'description': '', 'value': 'mock decrypted value' }], 'message': '', 'sub-step-implementer-name': 'tests.helpers.sample_step_implementers.RequiredStepConfigStepImplementer', 'success': True } } } } })