示例#1
0
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")
示例#2
0
    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')])
示例#3
0
    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'))
示例#4
0
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"
    )
示例#5
0
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")
示例#6
0
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()
示例#7
0
    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'))