def test_get_botocore_client_use_awsprofile_profile_not_found(mocker, capsys): config = get_config() get_target_region_mock = mocker.patch('mount_efs.get_target_region', return_value=DEFAULT_REGION) mount_efs.BOTOCORE_PRESENT = True boto_session_mock = MagicMock() boto_session_mock.set_config_variable.return_value = None boto_session_mock.create_client.side_effect = [ ProfileNotFound(profile='test_profile') ] mocker.patch('botocore.session.get_session', return_value=boto_session_mock) with pytest.raises(SystemExit) as ex: mount_efs.get_botocore_client(config, 'efs', {'awsprofile': 'test-profile'}) assert 0 != ex.value.code out, err = capsys.readouterr() assert 'could not be found' in err boto_session_mock.set_config_variable.assert_called_once() utils.assert_called(get_target_region_mock)
def test_botocore_none_if_botocore_not_present(mocker): config = _get_mock_config(DEFAULT_CLOUDWATCH_ENABLED, DEFAULT_CLOUDWATCH_LOG_GROUP, DEFAULT_RETENTION_DAYS) mount_efs.BOTOCORE_PRESENT = False client = mount_efs.get_botocore_client(config, 'logs', {}) assert client == None
def _test_botocore_client_established(mocker, iam_name): config = _get_mock_config(DEFAULT_CLOUDWATCH_ENABLED, DEFAULT_CLOUDWATCH_LOG_GROUP, DEFAULT_RETENTION_DAYS) mount_efs.BOTOCORE_PRESENT = True mocker.patch("mount_efs.get_target_region", return_value="us-east-1") mocker.patch("mount_efs.get_iam_role_name", return_value=iam_name) mocker.patch( "mount_efs.get_aws_security_credentials_from_instance_metadata", return_value=( { "AccessKeyId": "123456", "SecretAccessKey": "123456", "Token": "123456" }, "", ), ) boto_session_mock = MagicMock() boto_session_mock.create_client.return_value = "fake-client" mocker.patch("botocore.session.get_session", return_value=boto_session_mock) client = mount_efs.get_botocore_client(config, "logs", {}) assert client == "fake-client"
def test_get_botocore_client_botocore_not_present(mocker): config = get_config() get_target_region_mock = mocker.patch('mount_efs.get_target_region', return_value=DEFAULT_REGION) mount_efs.BOTOCORE_PRESENT = False boto_session_mock = MagicMock() mocker.patch('botocore.session.get_session', return_value=boto_session_mock) client = mount_efs.get_botocore_client(config, 'efs', {}) assert client == None boto_session_mock.assert_not_called() utils.assert_not_called(get_target_region_mock)
def test_get_botocore_client_use_awsprofile(mocker): config = get_config() get_target_region_mock = mocker.patch( "mount_efs.get_target_region", return_value=DEFAULT_REGION ) mount_efs.BOTOCORE_PRESENT = True boto_session_mock = MagicMock() boto_session_mock.set_config_variable.return_value = None boto_session_mock.create_client.return_value = "fake-client" mocker.patch("botocore.session.get_session", return_value=boto_session_mock) client = mount_efs.get_botocore_client(config, "efs", {"awsprofile": "test"}) assert client == "fake-client" boto_session_mock.set_config_variable.assert_called_once() utils.assert_called(get_target_region_mock)
def test_get_botocore_client_botocore_present(mocker): config = get_config() get_target_region_mock = mocker.patch('mount_efs.get_target_region', return_value=DEFAULT_REGION) mount_efs.BOTOCORE_PRESENT = True boto_session_mock = MagicMock() boto_session_mock.set_config_variable.return_value = None boto_session_mock.create_client.return_value = 'fake-client' mocker.patch('botocore.session.get_session', return_value=boto_session_mock) client = mount_efs.get_botocore_client(config, 'efs', {}) assert client == 'fake-client' boto_session_mock.set_config_variable.assert_not_called() boto_session_mock.create_client.assert_called_once() utils.assert_called(get_target_region_mock)
def _test_botocore_client_established(mocker, iam_name): config = _get_mock_config(DEFAULT_CLOUDWATCH_ENABLED, DEFAULT_CLOUDWATCH_LOG_GROUP, DEFAULT_RETENTION_DAYS) mount_efs.BOTOCORE_PRESENT = True mocker.patch('mount_efs.get_target_region', return_value='us-east-1') mocker.patch('mount_efs.get_iam_role_name', return_value=iam_name) mocker.patch( 'mount_efs.get_aws_security_credentials_from_instance_metadata', return_value=({ 'AccessKeyId': '123456', 'SecretAccessKey': '123456', 'Token': '123456' }, '')) boto_session_mock = MagicMock() boto_session_mock.create_client.return_value = 'fake-client' mocker.patch('botocore.session.get_session', return_value=boto_session_mock) client = mount_efs.get_botocore_client(config, 'logs', {}) assert client == 'fake-client'