def _aws_set(session: Session, varname: str, value: str) -> None: """ This is a helper function for save_credentials. The function is the same as running: $ aws configure set varname value """ set_command = ConfigureSetCommand(session) set_command._run_main(Args(varname, value), parsed_globals=None)
def test_configure_set_with_profile_with_tab_dotted(self): set_command = ConfigureSetCommand(self.session, self.config_writer) set_command(args=['profile.some\tprofile.region', 'us-west-2'], parsed_globals=None) self.config_writer.update_config.assert_called_with( {'__section__': "profile 'some\tprofile'", 'region': 'us-west-2'}, 'myconfigfile')
def test_credential_set_profile_with_tab(self): self.session.profile = 'some\tprofile' set_command = ConfigureSetCommand(self.session, self.config_writer) set_command(args=['aws_session_token', 'foo'], parsed_globals=None) self.config_writer.update_config.assert_called_with( {'__section__': 'some\tprofile', 'aws_session_token': 'foo'}, self.fake_credentials_filename)
def test_configure_set_with_profile(self): self.session.profile = 'testing' set_command = ConfigureSetCommand( self.session, self.config_writer) set_command(args=['region', 'us-west-2'], parsed_globals=None) self.config_writer.update_config.assert_called_with( {'__section__': 'profile testing', 'region': 'us-west-2'}, 'myconfigfile')
def test_access_key_written_to_shared_credentials_file_profile(self): set_command = ConfigureSetCommand( self.session, self.config_writer) set_command(args=['profile.foo.aws_access_key_id', 'bar'], parsed_globals=None) self.config_writer.update_config.assert_called_with( {'__section__': 'foo', 'aws_access_key_id': 'bar'}, self.fake_credentials_filename)
def test_session_token_written_to_shared_credentials_file(self): set_command = ConfigureSetCommand( self.session, self.config_writer) set_command(args=['aws_session_token', 'foo'], parsed_globals=None) self.config_writer.update_config.assert_called_with( {'__section__': 'default', 'aws_session_token': 'foo'}, self.fake_credentials_filename)
def test_configure_set_command_dotted(self): set_command = ConfigureSetCommand(self.session, self.config_writer) set_command(args=['preview.emr', 'true'], parsed_globals=None) self.config_writer.update_config.assert_called_with( { '__section__': 'preview', 'emr': 'true' }, 'myconfigfile')
def test_configure_set_with_profile_nested(self): # aws configure set default.s3.signature_version s3v4 set_command = ConfigureSetCommand( self.session, self.config_writer) set_command(args=['profile.foo.s3.signature_version', 's3v4'], parsed_globals=None) self.config_writer.update_config.assert_called_with( {'__section__': 'profile foo', 's3': {'signature_version': 's3v4'}}, 'myconfigfile')
def test_configure_set_command_dotted_with_profile(self): self.session.profile = 'emr-dev' set_command = ConfigureSetCommand( self.session, self.config_writer) set_command( args=['emr.instance_profile', 'my_ip_emr'], parsed_globals=None) self.config_writer.update_config.assert_called_with( {'__section__': 'profile emr-dev', 'emr': {'instance_profile': 'my_ip_emr'}}, 'myconfigfile')
def test_configure_set_handles_predefined_plugins_section(self): self.session.variables['profile'] = 'default' set_command = ConfigureSetCommand( self.session, self.config_writer) set_command( args=['plugins.foo', 'mypackage'], parsed_globals=None) self.config_writer.update_config.assert_called_with( {'__section__': 'plugins', 'foo': 'mypackage'}, 'myconfigfile')