| 282 | class InternalsTest : public AwsTestMixin {}; |
| 283 | |
| 284 | TEST_F(InternalsTest, CalculateSSECustomerKeyMD5) { |
| 285 | ASSERT_RAISES(Invalid, CalculateSSECustomerKeyMD5("")); // invalid length |
| 286 | ASSERT_RAISES(Invalid, |
| 287 | CalculateSSECustomerKeyMD5( |
| 288 | "1234567890123456789012345678901234567890")); // invalid length |
| 289 | // valid case, with some non-ASCII character and a null byte in the sse_customer_key |
| 290 | char sse_customer_key[32] = {}; |
| 291 | sse_customer_key[0] = '\x40'; // '@' character |
| 292 | sse_customer_key[1] = '\0'; // null byte |
| 293 | sse_customer_key[2] = '\xFF'; // non-ASCII |
| 294 | sse_customer_key[31] = '\xFA'; // non-ASCII |
| 295 | std::string sse_customer_key_string(sse_customer_key, sizeof(sse_customer_key)); |
| 296 | ASSERT_OK_AND_ASSIGN(auto md5, CalculateSSECustomerKeyMD5(sse_customer_key_string)) |
| 297 | ASSERT_EQ(md5, "97FTa6lj0hE7lshKdBy61g=="); // valid case |
| 298 | } |
| 299 | |
| 300 | //////////////////////////////////////////////////////////////////////////// |
| 301 | // S3Options tests |
nothing calls this directly
no test coverage detected