func (*ManifoldSuite) TestAgentEntity_Error(c *gc.C) { manifold := resumer.Manifold(resumer.ManifoldConfig{ AgentName: "agent", APICallerName: "api-caller", }) stub := &testing.Stub{} stub.SetErrors(errors.New("zap")) apiCaller := &fakeAPICaller{stub: stub} worker, err := manifold.Start(dt.StubContext(nil, map[string]interface{}{ "agent": &fakeAgent{}, "api-caller": apiCaller, })) workertest.CheckNilOrKill(c, worker) c.Check(err, gc.ErrorMatches, "zap") stub.CheckCalls(c, []testing.StubCall{{ FuncName: "Agent.GetEntities", Args: []interface{}{params.Entities{ Entities: []params.Entity{{ Tag: "machine-123", }}, }}, }}) }
func (s *ManifoldSuite) TestNewWorker_Error(c *gc.C) { clock := &fakeClock{} facade := &fakeFacade{} manifold := resumer.Manifold(resumer.ManifoldConfig{ AgentName: "agent", APICallerName: "api-caller", Clock: clock, Interval: time.Hour, NewFacade: func(base.APICaller) (resumer.Facade, error) { return facade, nil }, NewWorker: func(actual resumer.Config) (worker.Worker, error) { c.Check(actual, jc.DeepEquals, resumer.Config{ Facade: facade, Clock: clock, Interval: time.Hour, }) return nil, errors.New("blam") }, }) worker, err := manifold.Start(dt.StubContext(nil, map[string]interface{}{ "agent": &fakeAgent{}, "api-caller": newFakeAPICaller(multiwatcher.JobManageModel), })) workertest.CheckNilOrKill(c, worker) c.Check(err, gc.ErrorMatches, "blam") }
func checkInvalid(c *gc.C, config resumer.Config, match string) { check := func(err error) { c.Check(err, jc.Satisfies, errors.IsNotValid) c.Check(err, gc.ErrorMatches, match) } check(config.Validate()) worker, err := resumer.NewResumer(config) workertest.CheckNilOrKill(c, worker) check(err) }
func (*ManifoldSuite) TestMissingAPICaller(c *gc.C) { manifold := resumer.Manifold(resumer.ManifoldConfig{ AgentName: "agent", APICallerName: "api-caller", }) worker, err := manifold.Start(dt.StubContext(nil, map[string]interface{}{ "agent": &fakeAgent{}, "api-caller": dependency.ErrMissing, })) workertest.CheckNilOrKill(c, worker) c.Check(err, gc.Equals, dependency.ErrMissing) }
func (s *ManifoldSuite) TestNewFacade_Missing(c *gc.C) { manifold := resumer.Manifold(resumer.ManifoldConfig{ AgentName: "agent", APICallerName: "api-caller", }) worker, err := manifold.Start(dt.StubContext(nil, map[string]interface{}{ "agent": &fakeAgent{}, "api-caller": newFakeAPICaller(multiwatcher.JobManageModel), })) workertest.CheckNilOrKill(c, worker) c.Check(err, gc.Equals, dependency.ErrUninstall) }
func (s *ManifoldSuite) TestNewFacade_Error(c *gc.C) { apiCaller := newFakeAPICaller(multiwatcher.JobManageModel) manifold := resumer.Manifold(resumer.ManifoldConfig{ AgentName: "agent", APICallerName: "api-caller", NewFacade: func(actual base.APICaller) (resumer.Facade, error) { c.Check(actual, gc.Equals, apiCaller) return nil, errors.New("pow") }, }) worker, err := manifold.Start(dt.StubContext(nil, map[string]interface{}{ "agent": &fakeAgent{}, "api-caller": apiCaller, })) workertest.CheckNilOrKill(c, worker) c.Check(err, gc.ErrorMatches, "pow") }