in src/aws/credential.rs [1058:1095]
fn test_sign_port() {
let client = HttpClient::new(Client::new());
let credential = AwsCredential {
key_id: "H20ABqCkLZID4rLe".to_string(),
secret_key: "jMqRDgxSsBqqznfmddGdu1TmmZOJQxdM".to_string(),
token: None,
};
let date = DateTime::parse_from_rfc3339("2022-08-09T13:05:25Z")
.unwrap()
.with_timezone(&Utc);
let mut request = client
.request(Method::GET, "http://localhost:9000/tsm-schemas")
.query(&[
("delimiter", "/"),
("encoding-type", "url"),
("list-type", "2"),
("prefix", ""),
])
.into_parts()
.1
.unwrap();
let authorizer = AwsAuthorizer {
date: Some(date),
credential: &credential,
service: "s3",
region: "us-east-1",
token_header: None,
sign_payload: true,
request_payer: false,
};
authorizer.authorize(&mut request, None);
assert_eq!(request.headers().get(&AUTHORIZATION).unwrap(), "AWS4-HMAC-SHA256 Credential=H20ABqCkLZID4rLe/20220809/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=9ebf2f92872066c99ac94e573b4e1b80f4dbb8a32b1e8e23178318746e7d1b4d")
}