def test_create_aws_session_with_profile(mocker): session_mock = mocker.patch("aws_gate.utils.boto3.session", return_value=mocker.MagicMock()) _create_aws_session(region_name="eu-west-1", profile_name="default") assert session_mock.Session.called assert session_mock.Session.call_args == mocker.call( region_name="eu-west-1", profile_name="default")
def test_create_aws_session(self): with patch('aws_gate.utils.boto3.session', return_value=MagicMock()) as session_mock: _create_aws_session(region_name='eu-west-1') self.assertTrue(session_mock.Session.called) self.assertEqual(session_mock.Session.mock_calls, [call(region_name='eu-west-1')])
def test_create_aws_profile_credentials_from_env_vars(self): credentials_dict = { 'AWS_ACCESS_KEY_ID': 'a', 'AWS_SECRET_ACCESS_KEY': 'b', 'AWS_SESSION_TOKEN': 'c' } with patch('aws_gate.utils.boto3.session', return_value=MagicMock()) as session_mock, \ patch.dict(os.environ, credentials_dict): _create_aws_session() self.assertTrue(session_mock.Session.called) self.assertEqual(session_mock.Session.call_args, call(aws_access_key_id='a', aws_secret_access_key='b', aws_session_token='c'))
def test_create_aws_profile_credentials_from_env_vars(mocker): credentials_dict = { "AWS_ACCESS_KEY_ID": "a", "AWS_SECRET_ACCESS_KEY": "b", "AWS_SESSION_TOKEN": "c", } session_mock = mocker.patch( "aws_gate.utils.boto3.session", return_value=mocker.MagicMock() ) mocker.patch.dict(os.environ, credentials_dict) _create_aws_session() assert session_mock.Session.called assert session_mock.Session.call_args == mocker.call( # noqa: S106 aws_access_key_id="a", aws_secret_access_key="b", aws_session_token="c" )
def test_aws_session_file_cache_is_set(): session = _create_aws_session(region_name="eu-west-1") # pylint: disable=protected-access assume_role_provider = session._session.get_component( "credential_provider").get_provider("assume-role") assert isinstance(assume_role_provider.cache, credentials.JSONFileCache) assert assume_role_provider.cache._working_dir == os.path.join( os.path.expanduser("~"), ".aws/cli/cache")
def test_create_aws_session_user_agent(): session = _create_aws_session(region_name="eu-west-1") # pylint: disable=protected-access assert "aws-gate/{}".format(__version__) in session._session.user_agent()
def test_create_aws_session_with_profile(self): with patch('aws_gate.utils.boto3.session', return_value=MagicMock()) as session_mock: _create_aws_session(region_name='eu-west-1', profile_name='default') self.assertTrue(session_mock.Session.called) self.assertEqual(session_mock.Session.call_args, call(region_name='eu-west-1', profile_name='default'))