本文整理汇总了Golang中github.com/juju/testing.Stub.CheckCalls方法的典型用法代码示例。如果您正苦于以下问题:Golang Stub.CheckCalls方法的具体用法?Golang Stub.CheckCalls怎么用?Golang Stub.CheckCalls使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/juju/testing.Stub
的用法示例。
在下文中一共展示了Stub.CheckCalls方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestModelInfo
func (s *ClientSuite) TestModelInfo(c *gc.C) {
var stub jujutesting.Stub
owner := names.NewUserTag("owner")
apiCaller := apitesting.APICallerFunc(func(objType string, v int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
*(result.(*params.MigrationModelInfo)) = params.MigrationModelInfo{
UUID: "uuid",
Name: "name",
OwnerTag: owner.String(),
AgentVersion: version.MustParse("1.2.3"),
}
return nil
})
client := migrationmaster.NewClient(apiCaller, nil)
model, err := client.ModelInfo()
stub.CheckCalls(c, []jujutesting.StubCall{
{"MigrationMaster.ModelInfo", []interface{}{"", nil}},
})
c.Check(err, jc.ErrorIsNil)
c.Check(model, jc.DeepEquals, migration.ModelInfo{
UUID: "uuid",
Name: "name",
Owner: owner,
AgentVersion: version.MustParse("1.2.3"),
})
}
示例2: TestAddress
func (s *FacadeSuite) TestAddress(c *gc.C) {
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, arg)
c.Check(id, gc.Equals, "")
*result.(*params.SSHAddressResults) = params.SSHAddressResults{
Results: []params.SSHAddressResult{{Address: "1.1.1.1"}},
}
return nil
})
facade := sshclient.NewFacade(apiCaller)
expectedArg := []interface{}{params.Entities{[]params.Entity{{
names.NewUnitTag("foo/0").String(),
}}}}
public, err := facade.PublicAddress("foo/0")
c.Assert(err, jc.ErrorIsNil)
c.Check(public, gc.Equals, "1.1.1.1")
stub.CheckCalls(c, []jujutesting.StubCall{{"SSHClient.PublicAddress", expectedArg}})
stub.ResetCalls()
private, err := facade.PrivateAddress("foo/0")
c.Assert(err, jc.ErrorIsNil)
c.Check(private, gc.Equals, "1.1.1.1")
stub.CheckCalls(c, []jujutesting.StubCall{{"SSHClient.PrivateAddress", expectedArg}})
}
示例3: TestRunningActionSuccess
func (s *ClientSuite) TestRunningActionSuccess(c *gc.C) {
tag := names.NewMachineTag(utils.MustNewUUID().String())
expectedCalls := []jujutesting.StubCall{{
"MachineActions.RunningActions",
[]interface{}{"", params.Entities{
Entities: []params.Entity{{Tag: tag.String()}},
}},
}}
actionsList := []params.ActionResult{
{Action: ¶ms.Action{Name: "foo"}},
{Action: ¶ms.Action{Name: "baz"}},
}
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
c.Check(result, gc.FitsTypeOf, ¶ms.ActionsByReceivers{})
*(result.(*params.ActionsByReceivers)) = params.ActionsByReceivers{
Actions: []params.ActionsByReceiver{{
Actions: actionsList,
}},
}
return nil
})
client := machineactions.NewClient(apiCaller)
actions, err := client.RunningActions(tag)
c.Assert(err, jc.ErrorIsNil)
c.Assert(actions, jc.DeepEquals, actionsList)
stub.CheckCalls(c, expectedCalls)
}
示例4: TestReportKeys
func (s *facadeSuite) TestReportKeys(c *gc.C) {
stub := new(testing.Stub)
apiCaller := basetesting.APICallerFunc(func(
objType string, version int,
id, request string,
args, response interface{},
) error {
c.Check(objType, gc.Equals, "HostKeyReporter")
c.Check(version, gc.Equals, 0)
c.Check(id, gc.Equals, "")
stub.AddCall(request, args)
*response.(*params.ErrorResults) = params.ErrorResults{
Results: []params.ErrorResult{{
(*params.Error)(nil),
}},
}
return nil
})
facade := hostkeyreporter.NewFacade(apiCaller)
err := facade.ReportKeys("42", []string{"rsa", "dsa"})
c.Assert(err, jc.ErrorIsNil)
stub.CheckCalls(c, []testing.StubCall{{
"ReportKeys", []interface{}{params.SSHHostKeySet{
EntityKeys: []params.SSHHostKeys{{
Tag: names.NewMachineTag("42").String(),
PublicKeys: []string{"rsa", "dsa"},
}},
}},
}})
}
示例5: TestActionFinishTooManyResults
func (s *ClientSuite) TestActionFinishTooManyResults(c *gc.C) {
tag := names.NewActionTag(utils.MustNewUUID().String())
expectedCalls := []jujutesting.StubCall{{
"MachineActions.FinishActions",
[]interface{}{"", params.ActionExecutionResults{
Results: []params.ActionExecutionResult{{
ActionTag: tag.String(),
Status: "",
Results: nil,
Message: "",
}},
}},
}}
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
c.Check(result, gc.FitsTypeOf, ¶ms.ErrorResults{})
res := result.(*params.ErrorResults)
res.Results = make([]params.ErrorResult, 2)
return nil
})
client := machineactions.NewClient(apiCaller)
err := client.ActionFinish(tag, "", nil, "")
c.Assert(err, gc.ErrorMatches, "expected 1 result, got 2")
stub.CheckCalls(c, expectedCalls)
}
示例6: TestGetActionSuccess
func (s *ClientSuite) TestGetActionSuccess(c *gc.C) {
tag := names.NewActionTag(utils.MustNewUUID().String())
expectedCalls := []jujutesting.StubCall{{
"MachineActions.Actions",
[]interface{}{"", params.Entities{
Entities: []params.Entity{{Tag: tag.String()}},
}},
}}
expectedName := "ack"
expectedParams := map[string]interface{}{"floob": "zgloob"}
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
c.Check(result, gc.FitsTypeOf, ¶ms.ActionResults{})
*(result.(*params.ActionResults)) = params.ActionResults{
Results: []params.ActionResult{{
Action: ¶ms.Action{
Name: expectedName,
Parameters: expectedParams,
},
}},
}
return nil
})
client := machineactions.NewClient(apiCaller)
action, err := client.Action(tag)
c.Assert(err, jc.ErrorIsNil)
c.Assert(action.Name(), gc.Equals, expectedName)
c.Assert(action.Params(), gc.DeepEquals, expectedParams)
stub.CheckCalls(c, expectedCalls)
}
示例7: TestActionFinishSuccess
func (s *ClientSuite) TestActionFinishSuccess(c *gc.C) {
tag := names.NewActionTag(utils.MustNewUUID().String())
status := "stubstatus"
actionResults := map[string]interface{}{"stub": "stub"}
message := "stubmsg"
expectedCalls := []jujutesting.StubCall{{
"MachineActions.FinishActions",
[]interface{}{"", params.ActionExecutionResults{
Results: []params.ActionExecutionResult{{
ActionTag: tag.String(),
Status: status,
Results: actionResults,
Message: message,
}},
}},
}}
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
c.Check(result, gc.FitsTypeOf, ¶ms.ErrorResults{})
*(result.(*params.ErrorResults)) = params.ErrorResults{
Results: []params.ErrorResult{{}},
}
return nil
})
client := machineactions.NewClient(apiCaller)
err := client.ActionFinish(tag, status, actionResults, message)
c.Assert(err, jc.ErrorIsNil)
stub.CheckCalls(c, expectedCalls)
}
示例8: TestActionFinishResultError
func (s *ClientSuite) TestActionFinishResultError(c *gc.C) {
tag := names.NewActionTag(utils.MustNewUUID().String())
expectedCalls := []jujutesting.StubCall{{
"MachineActions.FinishActions",
[]interface{}{"", params.ActionExecutionResults{
Results: []params.ActionExecutionResult{{
ActionTag: tag.String(),
Status: "",
Results: nil,
Message: "",
}},
}},
}}
expectedErr := ¶ms.Error{
Message: "rigged",
Code: params.CodeNotAssigned,
}
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
c.Check(result, gc.FitsTypeOf, ¶ms.ErrorResults{})
*(result.(*params.ErrorResults)) = params.ErrorResults{
Results: []params.ErrorResult{{expectedErr}},
}
return nil
})
client := machineactions.NewClient(apiCaller)
err := client.ActionFinish(tag, "", nil, "")
c.Assert(errors.Cause(err), gc.Equals, expectedErr)
stub.CheckCalls(c, expectedCalls)
}
示例9: TestActionBeginSuccess
func (s *ClientSuite) TestActionBeginSuccess(c *gc.C) {
tag := names.NewActionTag(utils.MustNewUUID().String())
expectedCalls := []jujutesting.StubCall{{
"MachineActions.BeginActions",
[]interface{}{"", params.Entities{
Entities: []params.Entity{{Tag: tag.String()}},
}},
}}
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
c.Check(result, gc.FitsTypeOf, ¶ms.ErrorResults{})
*(result.(*params.ErrorResults)) = params.ErrorResults{
Results: []params.ErrorResult{{}},
}
return nil
})
client := machineactions.NewClient(apiCaller)
err := client.ActionBegin(tag)
c.Assert(err, jc.ErrorIsNil)
stub.CheckCalls(c, expectedCalls)
}
示例10: TestExport
func (s *ClientSuite) TestExport(c *gc.C) {
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
out := result.(*params.SerializedModel)
*out = params.SerializedModel{
Bytes: []byte("foo"),
Charms: []string{"cs:foo-1"},
Tools: []params.SerializedModelTools{{
Version: "2.0.0-trusty-amd64",
URI: "/tools/0",
}},
}
return nil
})
client := migrationmaster.NewClient(apiCaller, nil)
out, err := client.Export()
c.Assert(err, jc.ErrorIsNil)
stub.CheckCalls(c, []jujutesting.StubCall{
{"MigrationMaster.Export", []interface{}{"", nil}},
})
c.Assert(out, gc.DeepEquals, migration.SerializedModel{
Bytes: []byte("foo"),
Charms: []string{"cs:foo-1"},
Tools: map[version.Binary]string{
version.MustParseBinary("2.0.0-trusty-amd64"): "/tools/0",
},
})
}
示例11: AssertModelCall
func (s *ClientSuite) AssertModelCall(c *gc.C, stub *jujutesting.Stub, tag names.ModelTag, call string, err error) {
expectedArg := params.ModelArgs{ModelTag: tag.String()}
stub.CheckCalls(c, []jujutesting.StubCall{
{"MigrationTarget." + call, []interface{}{"", expectedArg}},
})
c.Assert(err, gc.ErrorMatches, "boom")
}
示例12: TestNewWorkerError
func (s *ManifoldSuite) TestNewWorkerError(c *gc.C) {
fakeClock := &fakeClock{}
fakeFacade := &fakeFacade{}
fakeAPICaller := &fakeAPICaller{}
stub := testing.Stub{}
manifold := charmrevisionmanifold.Manifold(charmrevisionmanifold.ManifoldConfig{
APICallerName: "api-caller",
ClockName: "clock",
NewFacade: func(apiCaller base.APICaller) (charmrevisionmanifold.Facade, error) {
stub.AddCall("NewFacade", apiCaller)
return fakeFacade, nil
},
NewWorker: func(config charmrevision.Config) (worker.Worker, error) {
stub.AddCall("NewWorker", config)
return nil, errors.New("snrght")
},
})
_, err := manifold.Start(dt.StubGetResource(dt.StubResources{
"api-caller": dt.StubResource{Output: fakeAPICaller},
"clock": dt.StubResource{Output: fakeClock},
}))
c.Check(err, gc.ErrorMatches, "cannot create worker: snrght")
stub.CheckCalls(c, []testing.StubCall{{
"NewFacade", []interface{}{fakeAPICaller},
}, {
"NewWorker", []interface{}{charmrevision.Config{
RevisionUpdater: fakeFacade,
Clock: fakeClock,
}},
}})
}
示例13: TestRunningActionsResultError
func (s *ClientSuite) TestRunningActionsResultError(c *gc.C) {
tag := names.NewMachineTag(utils.MustNewUUID().String())
expectedCalls := []jujutesting.StubCall{{
"MachineActions.RunningActions",
[]interface{}{"", params.Entities{
Entities: []params.Entity{{Tag: tag.String()}},
}},
}}
expectedErr := ¶ms.Error{
Message: "rigged",
Code: params.CodeNotAssigned,
}
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
c.Check(result, gc.FitsTypeOf, ¶ms.ActionsByReceivers{})
*(result.(*params.ActionsByReceivers)) = params.ActionsByReceivers{
Actions: []params.ActionsByReceiver{{
Error: expectedErr,
}},
}
return nil
})
client := machineactions.NewClient(apiCaller)
action, err := client.RunningActions(tag)
c.Assert(errors.Cause(err), gc.Equals, expectedErr)
c.Assert(action, gc.IsNil)
stub.CheckCalls(c, expectedCalls)
}
示例14: TestWatchResultError
func (s *ClientSuite) TestWatchResultError(c *gc.C) {
tag := names.NewMachineTag("2")
expectErr := ¶ms.Error{
Message: "rigged",
Code: params.CodeNotAssigned,
}
expectedCalls := []jujutesting.StubCall{{
"MachineActions.WatchActionNotifications",
[]interface{}{"", params.Entities{
Entities: []params.Entity{{Tag: tag.String()}},
}},
}}
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
c.Check(result, gc.FitsTypeOf, ¶ms.StringsWatchResults{})
res := result.(*params.StringsWatchResults)
res.Results = make([]params.StringsWatchResult, 1)
res.Results[0].Error = expectErr
return nil
})
client := machineactions.NewClient(apiCaller)
w, err := client.WatchActionNotifications(tag)
c.Assert(errors.Cause(err), gc.Equals, expectErr)
c.Assert(w, gc.IsNil)
stub.CheckCalls(c, expectedCalls)
}
示例15: TestReap
func (s *ClientSuite) TestReap(c *gc.C) {
var stub jujutesting.Stub
apiCaller := apitesting.APICallerFunc(func(objType string, version int, id, request string, arg, result interface{}) error {
stub.AddCall(objType+"."+request, id, arg)
return nil
})
client := migrationmaster.NewClient(apiCaller, nil)
err := client.Reap()
c.Check(err, jc.ErrorIsNil)
stub.CheckCalls(c, []jujutesting.StubCall{
{"MigrationMaster.Reap", []interface{}{"", nil}},
})
}