def test_add_profile_missing_file_creates_new(self, open_mock, parser_mock, chmod_mock): fake_parser = mock.MagicMock(name='config_parser') parser_mock.return_value = fake_parser # First time its called, throw an IOError to indicate the file doesnt # exist. Second time its called it returns a Mock for fake writing of # data. open_mock.side_effect = [IOError(), mock.MagicMock()] profile = aws.Credentials('/test') profile.add_profile( name='TestProfile', region='us-east-1', creds={ 'AccessKeyId': 'key', 'SecretAccessKey': 'secret', 'SessionToken': 'token'}) open_mock.assert_has_calls([ mock.call('/test', 'r'), mock.call('/test', 'w+') ]) # Verify we're setting the file permissions as 0600 for safety chmod_mock.assert_has_calls([ mock.call('/test', 0o600) ])
def test_add_profile_missing_file_creates_new( self, open_mock, parser_mock, chmod_mock, ): fake_parser = mock.MagicMock(name="config_parser") parser_mock.return_value = fake_parser # First time its called, throw an IOError to indicate the file doesn't # exist. Second time its called it returns a Mock for fake writing of # data. open_mock.side_effect = [IOError(), mock.MagicMock()] profile = aws.Credentials("/test") profile.add_profile( name="TestProfile", region="us-east-1", creds={ "AccessKeyId": "key", "SecretAccessKey": "secret", "SessionToken": "token", }, ) open_mock.assert_has_calls([ mock.call("/test"), mock.call("/test", "w+"), ], ) # Verify we're setting the file permissions as 0600 for safety chmod_mock.assert_has_calls([ mock.call("/test", 0o600), ], )
def test_add_profile(self, open_mock, parser_mock, chmod_mock): fake_parser = mock.MagicMock(name='config_parser') parser_mock.return_value = fake_parser # Trigger the code to try to create a new section fake_parser.has_section.return_value = None profile = aws.Credentials('/test') profile.add_profile( name='TestProfile', region='us-east-1', creds={ 'AccessKeyId': 'key', 'SecretAccessKey': 'secret', 'SessionToken': 'token'}) fake_parser.assert_has_calls([ mock.call.has_section('TestProfile'), mock.call.add_section('TestProfile'), mock.call.set('TestProfile', 'region', 'us-east-1'), mock.call.set('TestProfile', 'aws_session_token', 'token'), mock.call.set('TestProfile', 'aws_security_token', 'token'), mock.call.set('TestProfile', 'aws_secret_access_key', 'secret'), mock.call.set('TestProfile', 'output', 'json'), mock.call.set('TestProfile', 'aws_access_key_id', 'key') ], any_order=True)
def test_add_profile(self, parser_mock, _open_mock, _chmod_mock): fake_parser = mock.MagicMock(name="config_parser") parser_mock.return_value = fake_parser # Trigger the code to try to create a new section fake_parser.has_section.return_value = None profile = aws.Credentials("/test") profile.add_profile( name="TestProfile", region="us-east-1", creds={ "AccessKeyId": "key", "SecretAccessKey": "secret", "SessionToken": "token", }, ) fake_parser.assert_has_calls( [ mock.call.has_section("TestProfile"), mock.call.add_section("TestProfile"), mock.call.set("TestProfile", "region", "us-east-1"), mock.call.set("TestProfile", "aws_session_token", "token"), mock.call.set("TestProfile", "aws_security_token", "token"), mock.call.set( "TestProfile", "aws_secret_access_key", "secret", ), mock.call.set("TestProfile", "output", "json"), mock.call.set("TestProfile", "aws_access_key_id", "key"), ], any_order=True, )