diff --git a/worker/actionpruner/worker_test.go b/worker/actionpruner/worker_test.go index 88ff5303c7d..bfbe921368b 100644 --- a/worker/actionpruner/worker_test.go +++ b/worker/actionpruner/worker_test.go @@ -14,6 +14,8 @@ import ( gc "gopkg.in/check.v1" "github.com/juju/juju/core/watcher/watchertest" + "github.com/juju/juju/environs/config" + coretesting "github.com/juju/juju/testing" "github.com/juju/juju/worker/actionpruner" "github.com/juju/juju/worker/pruner" "github.com/juju/juju/worker/pruner/mocks" @@ -27,18 +29,33 @@ func (s *PrunerSuite) TestRunStop(c *gc.C) { ctrl := gomock.NewController(c) defer ctrl.Finish() + cfg, err := config.New(false, map[string]interface{}{ + "name": "test", + "type": "manual", + "uuid": coretesting.ModelTag.Id(), + "max-action-results-age": "2h", + "max-action-results-size": "2GiB", + }) + c.Assert(err, jc.ErrorIsNil) + ch := make(chan struct{}, 1) ch <- struct{}{} w := watchertest.NewMockNotifyWatcher(ch) facade := mocks.NewMockFacade(ctrl) facade.EXPECT().WatchForModelConfigChanges().Return(w, nil) + + // Depending on the host compute speed, the loop may select either + // the watcher change event, or the catacomb's dying event first. + facade.EXPECT().ModelConfig().Return(cfg, nil).AnyTimes() + updater, err := actionpruner.New(pruner.Config{ Facade: facade, - PruneInterval: 0, + PruneInterval: time.Minute, Clock: testclock.NewClock(time.Now()), Logger: loggo.GetLogger("test"), }) + c.Assert(err, jc.ErrorIsNil) workertest.CleanKill(c, updater) }