Пример #1
0
def test_bearer_token() -> None:
    """Makes sure the bearer auth token is added to HTTP request headers."""
    config = build_config({"auth.type": "bearer", "auth.token": "test_token_123"})
    auth = setup_auth(config)
    r = requests.Request(url="http://127.255.0.0:0/", auth=auth)
    prepared = r.prepare()
    assert_that(prepared.headers.get("Authorization")).is_equal_to("Bearer test_token_123")
Пример #2
0
def test_basic_auth() -> None:
    """Makes sure the basic auth token is added to HTTP request headers."""
    config = build_config({"auth.type": "basic", "auth.username": "******", "auth.password": "******"})
    auth = setup_auth(config)
    r = requests.Request(url="http://127.255.0.0:0/", auth=auth)
    prepared = r.prepare()
    assert_that(prepared.headers.get("Authorization")).is_equal_to("Basic dXNlcl8xMjM6cHdkXzEyMw==")
Пример #3
0
def test_aws_auth() -> None:
    """Makes sure the request is signed according to AWS auth requirements."""
    config = build_config({"auth.type": "aws", "auth.region": "us-west-2"})
    os.environ["AWS_ACCESS_KEY_ID"] = "test_key_id"
    os.environ["AWS_SECRET_ACCESS_KEY"] = "test_secret_key"  # noqa: S105
    auth = setup_auth(config)
    r = requests.Request(url="http://127.255.0.0:0/", method="GET", auth=auth)
    prepared = r.prepare()
    assert_that(prepared.headers.get("Authorization")).matches(
        r"AWS4-HMAC-SHA256 Credential=test_key_id/[0-9]+/us-west-2/execute-api/aws4_request, "
        r"SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=.+"
    )
Пример #4
0
def test_aws_auth_profile(tmp_path: Path) -> None:
    """Makes sure the request is signed according to AWS auth requirements."""
    aws_credentials = tmp_path / "aws.config"
    aws_credentials.write_text(
        """
[test1]
aws_access_key_id=test1_key
aws_secret_access_key=test1_secret
aws_session_token=test1_session
    """
    )
    config = build_config({"auth.type": "aws", "auth.region": "us-west-2", "auth.profile": "test1"})
    os.environ["AWS_SHARED_CREDENTIALS_FILE"] = str(aws_credentials)
    auth = setup_auth(config)
    r = requests.Request(url="http://127.255.0.0:0/", method="GET", auth=auth)
    prepared = r.prepare()
    assert_that(prepared.headers.get("Authorization")).matches(
        r"AWS4-HMAC-SHA256 Credential=test1_key/[0-9]+/us-west-2/execute-api/aws4_request, "
        r"SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=.+"
    )
Пример #5
0
def test_auth_type_none() -> None:
    """Makes sure the auth type "none" resolves to a None authenticator."""
    config = build_config({"auth.type": "none"})
    assert_that(setup_auth(config)).is_none()