tests: Move signature calculation in separate function. (#2160)

Previously newTestRequest() creates request object and returns
signature v4 signed request.  In TestCopyObject(), its required to add
headers later to the request and sign the request.

This patch introduces two new functions
* signRequest(): signs request using given access/secret keys.
* newTestSignedRequest(): returns new request object signed with given
  access/secret keys.

Fixes #2097
This commit is contained in:
Bala FA
2016-07-10 23:40:59 +05:30
committed by Harshavardhana
parent 2a95eabb8a
commit 0793237d94
5 changed files with 252 additions and 214 deletions

View File

@@ -99,8 +99,6 @@ func getSignedHeaders(signedHeaders http.Header) string {
func getCanonicalRequest(extractedSignedHeaders http.Header, payload, queryStr, urlPath, method, host string) string {
rawQuery := strings.Replace(queryStr, "+", "%20", -1)
encodedPath := getURLEncodedName(urlPath)
// Convert any space strings back to "+".
encodedPath = strings.Replace(encodedPath, "+", "%20", -1)
canonicalRequest := strings.Join([]string{
method,
encodedPath,