本文整理汇总了Golang中github.com/juju/juju/resource/api/client.NewClient函数的典型用法代码示例。如果您正苦于以下问题:Golang NewClient函数的具体用法?Golang NewClient怎么用?Golang NewClient使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewClient函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestTooMany
func (s *ListResourcesSuite) TestTooMany(c *gc.C) {
s.facade.FacadeCallFn = func(_ string, _, response interface{}) error {
typedResponse, ok := response.(*api.ResourcesResults)
c.Assert(ok, jc.IsTrue)
typedResponse.Results = []api.ResourcesResult{{
Resources: nil,
}, {
Resources: nil,
}, {
Resources: nil,
}}
return nil
}
cl := client.NewClient(s.facade, s, s.facade)
services := []string{"a-service", "other-service"}
results, err := cl.ListResources(services)
c.Check(results, gc.HasLen, 0)
c.Check(err, gc.ErrorMatches, `.*got invalid data from server \(expected 2 results, got 3\).*`)
s.stub.CheckCallNames(c, "FacadeCall")
}
示例2: TestBulk
func (s *ListResourcesSuite) TestBulk(c *gc.C) {
expected1, apiResult1 := newResourceResult(c, "a-service", "spam")
s.facade.apiResults["a-service"] = apiResult1
expected2, apiResult2 := newResourceResult(c, "other-service", "eggs", "ham")
s.facade.apiResults["other-service"] = apiResult2
cl := client.NewClient(s.facade, s, s.facade)
services := []string{"a-service", "other-service"}
results, err := cl.ListResources(services)
c.Assert(err, jc.ErrorIsNil)
c.Check(results, jc.DeepEquals, []resource.ServiceResources{
{Resources: expected1},
{Resources: expected2},
})
c.Check(s.stub.Calls(), gc.HasLen, 1)
s.stub.CheckCall(c, 0, "FacadeCall",
"ListResources",
&api.ListResourcesArgs{[]params.Entity{
{
Tag: "service-a-service",
}, {
Tag: "service-other-service",
},
}},
&api.ResourcesResults{
Results: []api.ResourcesResult{
apiResult1,
apiResult2,
},
},
)
}
示例3: TestPendingOkay
func (s *UploadSuite) TestPendingOkay(c *gc.C) {
res, apiResult := newResourceResult(c, "a-service", "spam")
uuid, err := utils.NewUUID()
c.Assert(err, jc.ErrorIsNil)
expected := uuid.String()
s.response.Resource = apiResult.Resources[0]
data := "<data>"
fp, err := charmresource.GenerateFingerprint(strings.NewReader(data))
c.Assert(err, jc.ErrorIsNil)
req, err := http.NewRequest("PUT", "/services/a-service/resources/spam", nil)
c.Assert(err, jc.ErrorIsNil)
req.Header.Set("Content-Type", "application/octet-stream")
req.Header.Set("Content-SHA384", fp.String())
req.Header.Set("Content-Length", fmt.Sprint(len(data)))
req.ContentLength = int64(len(data))
req.URL.RawQuery = "pendingid=" + expected
reader := &stubFile{stub: s.stub}
reader.returnRead = strings.NewReader(data)
s.facade.pendingIDs = []string{expected}
cl := client.NewClient(s.facade, s, s.facade)
uploadID, err := cl.AddPendingResource("a-service", res[0].Resource, reader)
c.Assert(err, jc.ErrorIsNil)
s.stub.CheckCallNames(c,
"FacadeCall",
"Read",
"Read",
"Seek",
"Do",
)
s.stub.CheckCall(c, 4, "Do", req, reader, s.response)
c.Check(uploadID, gc.Equals, expected)
}
示例4: TestOkay
func (s *ListResourcesSuite) TestOkay(c *gc.C) {
expected, apiResult := newResourceResult(c, "a-application", "spam")
s.facade.apiResults["a-application"] = apiResult
cl := client.NewClient(s.facade, s, s.facade)
services := []string{"a-application"}
results, err := cl.ListResources(services)
c.Assert(err, jc.ErrorIsNil)
c.Check(results, jc.DeepEquals, []resource.ServiceResources{
{Resources: expected},
})
c.Check(s.stub.Calls(), gc.HasLen, 1)
s.stub.CheckCall(c, 0, "FacadeCall",
"ListResources",
&api.ListResourcesArgs{[]params.Entity{{
Tag: "application-a-application",
}}},
&api.ResourcesResults{
Results: []api.ResourcesResult{
apiResult,
},
},
)
}
示例5: TestBadService
func (s *UploadSuite) TestBadService(c *gc.C) {
cl := client.NewClient(s.facade, s, s.facade)
err := cl.Upload("???", "spam", nil)
c.Check(err, gc.ErrorMatches, `.*invalid service.*`)
s.stub.CheckNoCalls(c)
}
示例6: TestBadServices
func (s *ListResourcesSuite) TestBadServices(c *gc.C) {
cl := client.NewClient(s.facade, s, s.facade)
services := []string{"???"}
_, err := cl.ListResources(services)
c.Check(err, gc.ErrorMatches, `.*invalid service.*`)
s.stub.CheckNoCalls(c)
}
示例7: TestServiceNotFound
func (s *ListResourcesSuite) TestServiceNotFound(c *gc.C) {
cl := client.NewClient(s.facade, s, s.facade)
services := []string{"a-service"}
_, err := cl.ListResources(services)
c.Check(err, jc.Satisfies, errors.IsNotFound)
s.stub.CheckCallNames(c, "FacadeCall")
}
示例8: TestNoServices
func (s *ListResourcesSuite) TestNoServices(c *gc.C) {
cl := client.NewClient(s.facade, s, s.facade)
var services []string
results, err := cl.ListResources(services)
c.Assert(err, jc.ErrorIsNil)
c.Check(results, gc.HasLen, 0)
s.stub.CheckCallNames(c, "FacadeCall")
}
示例9: TestPendingBadService
func (s *UploadSuite) TestPendingBadService(c *gc.C) {
res, _ := newResourceResult(c, "a-service", "spam")
s.facade.FacadeCallFn = nil
cl := client.NewClient(s.facade, s, s.facade)
_, err := cl.AddPendingResource("???", res[0].Resource, nil)
c.Check(err, gc.ErrorMatches, `.*invalid service.*`)
s.stub.CheckNoCalls(c)
}
示例10: newAPIClient
func newAPIClient(apiCaller api.Connection) (*client.Client, error) {
caller := base.NewFacadeCallerForVersion(apiCaller, resource.ComponentName, server.Version)
httpClient, err := apiCaller.HTTPClient()
if err != nil {
return nil, errors.Trace(err)
}
// The apiCaller takes care of prepending /environment/<envUUID>.
apiClient := client.NewClient(caller, httpClient, apiCaller)
return apiClient, nil
}
示例11: TestBadRequest
func (s *UploadSuite) TestBadRequest(c *gc.C) {
reader := &stubFile{stub: s.stub}
cl := client.NewClient(s.facade, s, s.facade)
failure := errors.New("<failure>")
s.stub.SetErrors(failure)
err := cl.Upload("a-service", "spam", reader)
c.Check(errors.Cause(err), gc.Equals, failure)
s.stub.CheckCallNames(c, "Read")
}
示例12: TestRequestFailed
func (s *UploadSuite) TestRequestFailed(c *gc.C) {
reader := &stubFile{stub: s.stub}
reader.returnRead = strings.NewReader("<data>")
cl := client.NewClient(s.facade, s, s.facade)
failure := errors.New("<failure>")
s.stub.SetErrors(nil, nil, nil, failure)
err := cl.Upload("a-service", "spam", reader)
c.Check(errors.Cause(err), gc.Equals, failure)
s.stub.CheckCallNames(c, "Read", "Read", "Seek", "Do")
}
示例13: TestServiceEmpty
func (s *ListResourcesSuite) TestServiceEmpty(c *gc.C) {
s.facade.apiResults["a-service"] = api.ResourcesResult{}
cl := client.NewClient(s.facade, s, s.facade)
services := []string{"a-service"}
results, err := cl.ListResources(services)
c.Assert(err, jc.ErrorIsNil)
c.Check(results, jc.DeepEquals, []resource.ServiceResources{
{},
})
s.stub.CheckCallNames(c, "FacadeCall")
}
示例14: TestServerError
func (s *ListResourcesSuite) TestServerError(c *gc.C) {
failure := errors.New("<failure>")
s.facade.FacadeCallFn = func(_ string, _, _ interface{}) error {
return failure
}
cl := client.NewClient(s.facade, s, s.facade)
services := []string{"a-service"}
_, err := cl.ListResources(services)
c.Check(err, gc.ErrorMatches, `<failure>`)
s.stub.CheckCallNames(c, "FacadeCall")
}
示例15: TestPendingBadRequest
func (s *UploadSuite) TestPendingBadRequest(c *gc.C) {
res, _ := newResource(c, "spam", "", "")
chRes := res.Resource
reader := &stubFile{stub: s.stub}
s.facade.pendingIDs = []string{"some-unique-id"}
cl := client.NewClient(s.facade, s, s.facade)
failure := errors.New("<failure>")
s.stub.SetErrors(nil, failure)
_, err := cl.AddPendingResource("a-service", chRes, reader)
c.Check(errors.Cause(err), gc.Equals, failure)
s.stub.CheckCallNames(c, "FacadeCall", "Read")
}