func (r resources) newUnitFacadeClient(unitName string, caller base.APICaller) (context.APIClient, error) { facadeCaller := base.NewFacadeCallerForVersion(caller, context.HookContextFacade, internalserver.FacadeVersion) httpClient, err := caller.HTTPClient() if err != nil { return nil, errors.Trace(err) } unitHTTPClient := internalclient.NewUnitHTTPClient(httpClient, unitName) return internalclient.NewUnitFacadeClient(facadeCaller, unitHTTPClient), nil }
func (s *UnitFacadeClientSuite) TestUnitDoer(c *gc.C) { req, err := http.NewRequest("GET", "/resources/eggs", nil) c.Assert(err, jc.ErrorIsNil) body := filetesting.NewStubFile(s.stub, nil) var resp *http.Response doer := client.NewUnitHTTPClient(s.api, "spam/1") err = doer.Do(req, body, &resp) c.Assert(err, jc.ErrorIsNil) s.stub.CheckCallNames(c, "Do") //s.stub.CheckCall(c, 0, "Do", expected, body, resp) c.Check(req.URL.Path, gc.Equals, "/units/spam/1/resources/eggs") }