in sign/src/sign.rs [295:330]
fn test_sign_case2() {
init();
let mut headers = HeaderMap::new();
headers.insert(CONTENT_TYPE, HeaderValue::from_static("application/json"));
let body = r#"
{"key": "value"}
"#;
let signature = sign_v1(
"test-access-key-id",
"test-access-key",
None,
Method::POST,
"/logstores/test-logstore",
&mut headers,
[("type", "log"), ("offset", "0"), ("line", "100")].into(),
Some(body.as_bytes()),
)
.unwrap();
assert_eq!(
signature,
"LOG test-access-key-id:4pL2xZJERC3tPKtRiHh9+nMG3tI="
);
assert!(headers.contains_key(LOG_AUTHORIZATION));
assert!(headers.contains_key(DATE));
assert!(headers.contains_key(LOG_API_VERSION));
assert!(headers.contains_key(LOG_SIGNATURE_METHOD));
assert!(headers.contains_key(CONTENT_LENGTH));
assert!(headers.contains_key(LOG_CONTENT_MD5));
assert!(!headers.contains_key(LOG_ACS_SECURITY_TOKEN));
assert_eq!(
"CE688F8D1AC3ED309BA9BE0A5ABAFCE5",
headers.get(LOG_CONTENT_MD5).unwrap().to_str().unwrap()
);
}