Example #1
0
 public function testConstructStringToSign()
 {
     $http_method = "GET";
     $headers = NULL;
     $uri = "/fds/bucket/test.txt?uploads&uploadId=xx&partNumber=1";
     // No headers
     $this->assertEquals($http_method . "\n" . "\n" . "\n" . "\n" . "" . "/fds/bucket/test.txt?partNumber=1&uploadId=xx&uploads", Signer::constructStringToSign($http_method, $uri, $headers));
     // Normal headers
     $headers = array();
     $headers[Common::CONTENT_TYPE] = "application/json";
     $headers[Common::CONTENT_MD5] = "123131331313231";
     $headers[Common::DATE] = "Tue, 27 Mar 2007 21:20:26+0000";
     $this->assertEquals($http_method . "\n" . $headers[Common::CONTENT_MD5] . "\n" . $headers[Common::CONTENT_TYPE] . "\n" . $headers[Common::DATE] . "\n" . "" . "/fds/bucket/test.txt?partNumber=1&uploadId=xx&uploads", Signer::constructStringToSign($http_method, $uri, $headers));
     // Xiaomi date overrides default 'Date'
     $headers[Common::XIAOMI_HEADER_PREFIX . "date"] = "Tue, 28 Mar 2007 21:20:26+0000";
     $this->assertEquals($http_method . "\n" . $headers[Common::CONTENT_MD5] . "\n" . $headers[Common::CONTENT_TYPE] . "\n" . "\n" . Common::XIAOMI_HEADER_PREFIX . "date:Tue, 28 Mar 2007 21:20:26+0000\n" . "/fds/bucket/test.txt?partNumber=1&uploadId=xx&uploads", Signer::constructStringToSign($http_method, $uri, $headers));
     // Pre-signed uri
     $uri = "/fds/bucket/test.txt?GalaxyAccessKeyId=AKIAIOSFODNN7EXAMPLE" . "&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv4%3D";
     $this->assertEquals($http_method . "\n" . $headers[Common::CONTENT_MD5] . "\n" . $headers[Common::CONTENT_TYPE] . "\n" . "1141889120\n" . Common::XIAOMI_HEADER_PREFIX . "date:Tue, 28 Mar 2007 21:20:26+0000\n" . "/fds/bucket/test.txt", Signer::constructStringToSign($http_method, $uri, $headers));
 }