diff --git a/app/aws/credentials.py b/app/aws/credentials.py index fb1fd9b..352210c 100644 --- a/app/aws/credentials.py +++ b/app/aws/credentials.py @@ -206,7 +206,7 @@ def _remove_unused_profiles(credentials_file, profile_group: ProfileGroup): return credentials_file -def write_profile_config(profile_group: ProfileGroup, region: str): +def write_profile_config(profile_group: ProfileGroup, region: str) -> Result: result = Result() config_file = _load_config_file() @@ -238,7 +238,9 @@ def _remove_unused_configs(config_file: configparser, profile_group: ProfileGrou return config_file -def set_access_key(key_name: str, key_id: str, key_secret: str) -> None: +def set_access_key(key_name: str, key_id: str, key_secret: str) -> Result: + result = Result() + credentials_file = _load_credentials_file() if not credentials_file.has_section(key_name): credentials_file.add_section(key_name) @@ -246,6 +248,9 @@ def set_access_key(key_name: str, key_id: str, key_secret: str) -> None: credentials_file.set(key_name, 'aws_secret_access_key', key_secret) _write_credentials_file(credentials_file) + result.set_success() + return result + def get_access_key_list() -> list: credentials_file = _load_credentials_file() diff --git a/app/core/core.py b/app/core/core.py index 01758a3..a6bc182 100644 --- a/app/core/core.py +++ b/app/core/core.py @@ -248,8 +248,8 @@ def _handle_support_files(profile_group: ProfileGroup): files.write_active_group_file(profile_group.name) @staticmethod - def set_access_key(key_name: str, key_id: str, key_secret: str): - credentials.set_access_key(key_name=key_name, key_id=key_id, key_secret=key_secret) + def set_access_key(key_name: str, key_id: str, key_secret: str) -> Result: + return credentials.set_access_key(key_name=key_name, key_id=key_id, key_secret=key_secret) @staticmethod def get_access_key_list(): diff --git a/app/gui/gui.py b/app/gui/gui.py index 0a5700c..3b8123b 100644 --- a/app/gui/gui.py +++ b/app/gui/gui.py @@ -158,8 +158,9 @@ def _on_edit_config_success(self): def set_access_key(self, key_name, key_id, key_secret): self._to_busy_state() + logger.info('initiate set key') self.task = BackgroundTask( - func=self.core.edit_config, + func=self.core.set_access_key, func_kwargs={'key_name': key_name, 'key_id': key_id, 'key_secret': key_secret}, on_success=self._on_set_access_key_success, on_failure=self._on_error, diff --git a/tests/test_aws/test_credentials.py b/tests/test_aws/test_credentials.py index 31af43b..3882583 100644 --- a/tests/test_aws/test_credentials.py +++ b/tests/test_aws/test_credentials.py @@ -320,7 +320,7 @@ def test_fetch_role_credentials__chain_assume(self, mock_credentials, mock_assum self.assertEqual(expected_mock_remove_profile_calls, mock_remove_profile.call_args_list) self.assertEqual(expected_mock_remove_profile_calls, mock_remove_profile.call_args_list) - def test_remove_unused_profiles(self): + def test__remove_unused_profiles(self): mock_config_parser = Mock() mock_config_parser.sections.return_value = [ 'developer', 'unused-profile', @@ -379,7 +379,7 @@ def test_write_profile_config__no_default_region(self, mock_credentials, mock_ad self.assertEqual(expected, mock_remove_profile.call_args_list) self.assertEqual(expected, mock_remove_profile.call_args_list) - def test___remove_unused_configs(self): + def test__remove_unused_configs(self): mock_config_parser = Mock() mock_config_parser.sections.return_value = ['profile developer', 'profile unused-profile', @@ -398,12 +398,15 @@ def test___remove_unused_configs(self): @mock.patch('app.aws.credentials._write_credentials_file') @mock.patch('app.aws.credentials._load_credentials_file') - def test__set_access_key(self, mock_load_credentials_file, _): + def test_set_access_key(self, mock_load_credentials_file, _): mock_config_parser = Mock() mock_config_parser.has_section.return_value = False mock_load_credentials_file.return_value = mock_config_parser - credentials.set_access_key('key-name', 'key-id', 'access-key') + result = credentials.set_access_key('key-name', 'key-id', 'access-key') + self.assertEqual(True, result.was_success) + self.assertEqual(False, result.was_error) + self.assertEqual([call('key-name')], mock_config_parser.has_section.call_args_list) self.assertEqual([call('key-name')], @@ -412,7 +415,7 @@ def test__set_access_key(self, mock_load_credentials_file, _): call('key-name', 'aws_secret_access_key', 'access-key')], mock_config_parser.set.call_args_list) - def test___add_profile_credentials(self): + def test__add_profile_credentials(self): mock_config_parser = Mock() mock_config_parser.has_section.return_value = False @@ -426,7 +429,7 @@ def test___add_profile_credentials(self): call('test-profile', 'aws_session_token', 'test-session-token')], mock_config_parser.set.call_args_list) - def test___add_profile_config(self): + def test__add_profile_config(self): mock_config_parser = Mock() mock_config_parser.has_section.return_value = False