github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/apiserver/http/testing/request.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package testing 5 6 import ( 7 "encoding/base64" 8 "net/http" 9 10 gc "gopkg.in/check.v1" 11 ) 12 13 // CheckRequest verifies that the HTTP request matches the args 14 // as an API request should. We only check API-related request fields. 15 func CheckRequest(c *gc.C, req *http.Request, method, user, pw, host, pth string) { 16 c.Check(req.Method, gc.Equals, method) 17 18 url := `https://` + host + `:\d+/environment/[-0-9a-f]+/` + pth 19 c.Check(req.URL.String(), gc.Matches, url) 20 21 c.Assert(req.Header, gc.HasLen, 1) 22 auth := base64.StdEncoding.EncodeToString([]byte(user + ":" + pw)) 23 c.Check(req.Header.Get("Authorization"), gc.Equals, "Basic "+auth) 24 }