def test_kms_master_key_provider_post_processing_not_one_region(regions):
    with pytest.raises(BadUserArgumentError) as excinfo:
        key_providers.aws_kms_master_key_provider(region=regions)

    excinfo.match(
        r"Only one region may be specified per master key provider configuration. *"
    )
def test_kms_master_key_provider_post_processing_not_one_profile(
        profile_names):
    with pytest.raises(BadUserArgumentError) as excinfo:
        key_providers.aws_kms_master_key_provider(profile=profile_names)

    excinfo.match(
        r"Only one profile may be specified per master key provider configuration. *"
    )
def test_kms_master_key_provider_post_processing(patch_botocore_session,
                                                 patch_kms_master_key_provider,
                                                 source, expected):
    test = key_providers.aws_kms_master_key_provider(**source)

    patch_kms_master_key_provider.assert_called_once_with(**expected)
    assert test is patch_kms_master_key_provider.return_value
def test_kms_master_key_provider_post_processing_default_profile(
        patch_botocore_session, patch_kms_master_key_provider):
    key_providers.aws_kms_master_key_provider()

    patch_botocore_session.assert_called_once_with(profile=None)
def test_kms_master_key_provider_post_processing_named_profile(
        patch_botocore_session, patch_kms_master_key_provider):
    key_providers.aws_kms_master_key_provider(profile=["a profile name"])

    patch_botocore_session.assert_called_once_with(profile="a profile name")
    assert patch_botocore_session.return_value.user_agent_extra == USER_AGENT_SUFFIX