func (s *clientSuite) TestTrack(c *gc.C) { id := "ce5bc2a7-65d8-4800-8199-a7c3356ab309" numStubCalls := 0 s.facade.FacadeCallFn = func(name string, args, response interface{}) error { numStubCalls++ c.Check(name, gc.Equals, "Track") typedResponse, ok := response.(*internal.PayloadResults) c.Assert(ok, gc.Equals, true) typedResponse.Results = []internal.PayloadResult{{ Entity: params.Entity{ Tag: names.NewPayloadTag(id).String(), }, Payload: nil, NotFound: false, Error: nil, }} return nil } pclient := client.NewUnitFacadeClient(s.facade) pl, err := api.API2Payload(s.payload) c.Assert(err, jc.ErrorIsNil) results, err := pclient.Track(pl.Payload) c.Assert(err, jc.ErrorIsNil) c.Check(numStubCalls, gc.Equals, 1) c.Check(results, jc.DeepEquals, []payload.Result{{ ID: id, Payload: nil, NotFound: false, Error: nil, }}) }
func (s *clientSuite) TestLookUpOkay(c *gc.C) { id := "ce5bc2a7-65d8-4800-8199-a7c3356ab309" response := &internal.PayloadResults{ Results: []internal.PayloadResult{{ Entity: params.Entity{ Tag: names.NewPayloadTag(id).String(), }, Payload: nil, NotFound: false, Error: nil, }}, } s.facade.responses = append(s.facade.responses, response) pclient := client.NewUnitFacadeClient(s.facade) results, err := pclient.LookUp("idfoo/bar") c.Assert(err, jc.ErrorIsNil) c.Check(results, jc.DeepEquals, []payload.Result{{ ID: id, Payload: nil, NotFound: false, Error: nil, }}) s.stub.CheckCalls(c, []testing.StubCall{{ FuncName: "FacadeCall", Args: []interface{}{ "LookUp", &internal.LookUpArgs{ Args: []internal.LookUpArg{{ Name: "idfoo", ID: "bar", }}, }, response, }, }}) }
func (payloads) newUnitFacadeClient(caller base.APICaller) context.APIClient { facadeCaller := base.NewFacadeCallerForVersion(caller, payloadsHookContextFacade, 0) return internalclient.NewUnitFacadeClient(facadeCaller) }
func (s *clientSuite) TestLookUpMulti(c *gc.C) { id1 := "ce5bc2a7-65d8-4800-8199-a7c3356ab309" id2 := "ce5bc2a7-65d8-4800-8199-a7c3356ab311" response := &internal.PayloadResults{ Results: []internal.PayloadResult{{ Entity: params.Entity{ Tag: names.NewPayloadTag(id1).String(), }, Payload: nil, NotFound: false, Error: nil, }, { Entity: params.Entity{ Tag: "", }, Payload: nil, NotFound: true, Error: common.ServerError(errors.NotFoundf("payload")), }, { Entity: params.Entity{ Tag: names.NewPayloadTag(id2).String(), }, Payload: nil, NotFound: false, Error: nil, }}, } s.facade.responses = append(s.facade.responses, response) pclient := client.NewUnitFacadeClient(s.facade) results, err := pclient.LookUp("idfoo/bar", "idbaz/bam", "spam/eggs") c.Assert(err, jc.ErrorIsNil) c.Assert(results, gc.HasLen, 3) c.Assert(results[1].Error, gc.NotNil) results[1].Error = nil c.Check(results, jc.DeepEquals, []payload.Result{{ ID: id1, Payload: nil, NotFound: false, Error: nil, }, { ID: "", Payload: nil, NotFound: true, Error: nil, }, { ID: id2, Payload: nil, NotFound: false, Error: nil, }}) s.stub.CheckCalls(c, []testing.StubCall{{ FuncName: "FacadeCall", Args: []interface{}{ "LookUp", &internal.LookUpArgs{ Args: []internal.LookUpArg{{ Name: "idfoo", ID: "bar", }, { Name: "idbaz", ID: "bam", }, { Name: "spam", ID: "eggs", }}, }, response, }, }}) }