"net/http"
"net/http/httptest"
"regexp"
+ "strings"
"testing"
"time"
)
ExpectStatusCode(t,
"Unauthenticated request, no server key", http.StatusOK, response)
- ExpectBody(t, "Unauthenticated request, no server key", TEST_HASH, response)
+ ExpectBody(t,
+ "Unauthenticated request, no server key",
+ TEST_HASH_PUT_RESPONSE, response)
// ------------------
// With a server key.
ExpectStatusCode(t,
"Authenticated PUT, signed locator, with server key",
http.StatusOK, response)
- if !VerifySignature(response.Body.String(), known_token) {
+ response_locator := strings.TrimSpace(response.Body.String())
+ if !VerifySignature(response_locator, known_token) {
t.Errorf("Authenticated PUT, signed locator, with server key:\n"+
"response '%s' does not contain a valid signature",
- response.Body.String())
+ response_locator)
}
// Unauthenticated PUT, unsigned locator
http.StatusOK, response)
ExpectBody(t,
"Unauthenticated PUT, unsigned locator, with server key",
- TEST_HASH, response)
+ TEST_HASH_PUT_RESPONSE, response)
}
// Test /index requests:
body := bytes.NewReader(rt.request_body)
req, _ := http.NewRequest(rt.method, rt.uri, body)
if rt.api_token != "" {
- req.Header.Set("Authorization", "OAuth "+rt.api_token)
+ req.Header.Set("Authorization", "OAuth2 "+rt.api_token)
}
router.ServeHTTP(response, req)
return response