Skip to content

Commit fbe1fe0

Browse files
committed
chore: remove placeholder domain services and use mocks
1 parent 859c412 commit fbe1fe0

File tree

20 files changed

+5965
-291
lines changed

20 files changed

+5965
-291
lines changed

apiserver/facade/facadetest/context.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
"github.com/juju/juju/core/logger"
1717
"github.com/juju/juju/core/model"
1818
"github.com/juju/juju/core/objectstore"
19-
domainservicestesting "github.com/juju/juju/domain/services/testing"
2019
"github.com/juju/juju/internal/services"
2120
"github.com/juju/juju/state"
2221
)
@@ -202,7 +201,7 @@ func (c ModelContext) HTTPClient(purpose corehttp.Purpose) (facade.HTTPClient, e
202201
// DomainServices implements facade.ModelContext.
203202
func (c ModelContext) DomainServices() services.DomainServices {
204203
if c.DomainServices_ == nil {
205-
return domainservicestesting.NewPlaceholderDomainServices()
204+
panic("missing domain services")
206205
}
207206
return c.DomainServices_
208207
}

apiserver/facades/agent-schema.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7651,7 +7651,9 @@
76517651
"Version": 2,
76527652
"AvailableTo": [
76537653
"controller-machine-agent",
7654-
"machine-agent"
7654+
"machine-agent",
7655+
"unit-agent",
7656+
"model-user"
76557657
],
76567658
"Schema": {
76577659
"type": "object",

apiserver/facades/controller/cleaner/cleaner_test.go

Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/juju/errors"
1010
"github.com/juju/testing"
1111
jc "github.com/juju/testing/checkers"
12+
"go.uber.org/mock/gomock"
1213
gc "gopkg.in/check.v1"
1314

1415
"github.com/juju/juju/apiserver/common"
@@ -26,12 +27,21 @@ type CleanerSuite struct {
2627
coretesting.BaseSuite
2728

2829
st *mockState
29-
api *cleaner.CleanerAPI
3030
authoriser apiservertesting.FakeAuthorizer
31+
32+
domainServices *MockDomainServices
3133
}
3234

3335
var _ = gc.Suite(&CleanerSuite{})
3436

37+
func (s *CleanerSuite) setupMocks(c *gc.C) *gomock.Controller {
38+
ctrl := gomock.NewController(c)
39+
s.domainServices = NewMockDomainServices(ctrl)
40+
s.domainServices.EXPECT().Application()
41+
s.domainServices.EXPECT().Machine()
42+
return ctrl
43+
}
44+
3545
func (s *CleanerSuite) SetUpTest(c *gc.C) {
3646
s.BaseSuite.SetUpTest(c)
3747

@@ -40,16 +50,6 @@ func (s *CleanerSuite) SetUpTest(c *gc.C) {
4050
}
4151
s.st = &mockState{&testing.Stub{}, false}
4252
cleaner.PatchState(s, s.st)
43-
44-
res := common.NewResources()
45-
46-
var err error
47-
s.api, err = cleaner.NewCleanerAPI(facadetest.ModelContext{
48-
Resources_: res,
49-
Auth_: s.authoriser,
50-
})
51-
c.Assert(err, jc.ErrorIsNil)
52-
c.Assert(s.api, gc.NotNil)
5353
}
5454

5555
func (s *CleanerSuite) TestNewCleanerAPIRequiresController(c *gc.C) {
@@ -64,30 +64,69 @@ func (s *CleanerSuite) TestNewCleanerAPIRequiresController(c *gc.C) {
6464
}
6565

6666
func (s *CleanerSuite) TestWatchCleanupsSuccess(c *gc.C) {
67-
_, err := s.api.WatchCleanups(context.Background())
67+
ctrl := s.setupMocks(c)
68+
defer ctrl.Finish()
69+
70+
api, err := cleaner.NewCleanerAPI(facadetest.ModelContext{
71+
Resources_: common.NewResources(),
72+
Auth_: s.authoriser,
73+
DomainServices_: s.domainServices,
74+
})
75+
c.Assert(err, jc.ErrorIsNil)
76+
77+
_, err = api.WatchCleanups(context.Background())
6878
c.Assert(err, jc.ErrorIsNil)
6979
s.st.CheckCallNames(c, "WatchCleanups")
7080
}
7181

7282
func (s *CleanerSuite) TestWatchCleanupsFailure(c *gc.C) {
83+
ctrl := s.setupMocks(c)
84+
defer ctrl.Finish()
85+
86+
api, err := cleaner.NewCleanerAPI(facadetest.ModelContext{
87+
Resources_: common.NewResources(),
88+
Auth_: s.authoriser,
89+
DomainServices_: s.domainServices,
90+
})
91+
c.Assert(err, jc.ErrorIsNil)
7392
s.st.SetErrors(errors.New("boom!"))
7493
s.st.watchCleanupsFails = true
7594

76-
result, err := s.api.WatchCleanups(context.Background())
95+
result, err := api.WatchCleanups(context.Background())
7796
c.Assert(err, jc.ErrorIsNil)
7897
c.Assert(result.Error.Error(), gc.Equals, "boom!")
7998
s.st.CheckCallNames(c, "WatchCleanups")
8099
}
81100

82101
func (s *CleanerSuite) TestCleanupSuccess(c *gc.C) {
83-
err := s.api.Cleanup(context.Background())
102+
ctrl := s.setupMocks(c)
103+
defer ctrl.Finish()
104+
105+
api, err := cleaner.NewCleanerAPI(facadetest.ModelContext{
106+
Resources_: common.NewResources(),
107+
Auth_: s.authoriser,
108+
DomainServices_: s.domainServices,
109+
})
110+
c.Assert(err, jc.ErrorIsNil)
111+
112+
err = api.Cleanup(context.Background())
84113
c.Assert(err, jc.ErrorIsNil)
85114
s.st.CheckCallNames(c, "Cleanup")
86115
}
87116

88117
func (s *CleanerSuite) TestCleanupFailure(c *gc.C) {
118+
ctrl := s.setupMocks(c)
119+
defer ctrl.Finish()
120+
121+
api, err := cleaner.NewCleanerAPI(facadetest.ModelContext{
122+
Resources_: common.NewResources(),
123+
Auth_: s.authoriser,
124+
DomainServices_: s.domainServices,
125+
})
126+
c.Assert(err, jc.ErrorIsNil)
127+
89128
s.st.SetErrors(errors.New("Boom!"))
90-
err := s.api.Cleanup(context.Background())
129+
err = api.Cleanup(context.Background())
91130
c.Assert(err, gc.ErrorMatches, "Boom!")
92131
s.st.CheckCallNames(c, "Cleanup")
93132
}

0 commit comments

Comments
 (0)