Skip to content

Commit 4b323d0

Browse files
committed
tests: use new inputs in tests
1 parent 568809a commit 4b323d0

12 files changed

Lines changed: 198 additions & 36 deletions

internal/controller/context_controller_test.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,12 @@ func TestContextController(t *testing.T) {
121121
group := router.Group("/api")
122122
gin.SetMode(gin.TestMode)
123123

124-
controller.NewContextController(log, cfg, runtime, group)
124+
controller.NewContextController(controller.ContextControllerInput{
125+
Log: log,
126+
Config: &cfg,
127+
Runtime: &runtime,
128+
RouterGroup: group,
129+
})
125130

126131
recorder := httptest.NewRecorder()
127132

internal/controller/health_controller_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ func TestHealthController(t *testing.T) {
5555
group := router.Group("/api")
5656
gin.SetMode(gin.TestMode)
5757

58-
controller.NewHealthController(group)
58+
controller.NewHealthController(controller.HealthControllerInput{
59+
RouterGroup: group,
60+
})
5961

6062
recorder := httptest.NewRecorder()
6163

internal/controller/oidc_controller_test.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,13 @@ func TestOIDCController(t *testing.T) {
3535

3636
store := memory.New()
3737

38-
oidcService, err := service.NewOIDCService(log, cfg, runtime, store, dg)
38+
oidcService, err := service.NewOIDCService(service.OIDCServiceInput{
39+
Log: log,
40+
Config: &cfg,
41+
Runtime: &runtime,
42+
Queries: store,
43+
Ding: dg,
44+
})
3945
require.NoError(t, err)
4046

4147
// Middleware that injects an authenticated local user into the gin context,
@@ -831,7 +837,13 @@ func TestOIDCController(t *testing.T) {
831837
svc = nil
832838
}
833839

834-
controller.NewOIDCController(log, svc, runtime, group, &router.RouterGroup)
840+
controller.NewOIDCController(controller.OIDCControllerInput{
841+
Log: log,
842+
OIDCService: svc,
843+
RuntimeConfig: &runtime,
844+
RouterGroup: group,
845+
MainRouter: &router.RouterGroup,
846+
})
835847

836848
recorder := httptest.NewRecorder()
837849

internal/controller/proxy_controller_test.go

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -369,10 +369,21 @@ func TestProxyController(t *testing.T) {
369369
ctx := context.TODO()
370370
dg := ding.New(ctx)
371371

372-
broker := service.NewOAuthBrokerService(log, map[string]model.OAuthServiceConfig{}, ctx)
373-
aclsService := service.NewAccessControlsService(log, cfg, nil)
372+
broker := service.NewOAuthBrokerService(service.OAuthBrokerServiceInput{
373+
Log: log,
374+
Runtime: &runtime,
375+
Ctx: ctx,
376+
})
377+
aclsService := service.NewAccessControlsService(service.AccessControlServiceInput{
378+
Log: log,
379+
Config: &cfg,
380+
LabelProvider: nil,
381+
})
374382

375-
policyEngine, err := service.NewPolicyEngine(cfg, log)
383+
policyEngine, err := service.NewPolicyEngine(service.PolicyEngineInput{
384+
Log: log,
385+
Config: &cfg,
386+
})
376387
require.NoError(t, err)
377388

378389
policyEngine.RegisterRule(service.RuleUserAllowed, &service.UserAllowedRule{
@@ -395,7 +406,18 @@ func TestProxyController(t *testing.T) {
395406
Log: log,
396407
})
397408

398-
authService := service.NewAuthService(log, cfg, runtime, ctx, dg, nil, store, broker, nil, policyEngine)
409+
authService := service.NewAuthService(service.AuthServiceInput{
410+
Log: log,
411+
Config: &cfg,
412+
Runtime: &runtime,
413+
Ctx: ctx,
414+
Ding: dg,
415+
LDAP: nil,
416+
Queries: store,
417+
OAuthBroker: broker,
418+
Tailscale: nil,
419+
PolicyEngine: policyEngine,
420+
})
399421

400422
for _, test := range tests {
401423
t.Run(test.description, func(t *testing.T) {
@@ -410,7 +432,14 @@ func TestProxyController(t *testing.T) {
410432

411433
recorder := httptest.NewRecorder()
412434

413-
controller.NewProxyController(log, runtime, group, aclsService, authService, policyEngine)
435+
controller.NewProxyController(controller.ProxyControllerInput{
436+
Log: log,
437+
RuntimeConfig: &runtime,
438+
RouterGroup: group,
439+
ACLsService: aclsService,
440+
AuthService: authService,
441+
PolicyEngine: policyEngine,
442+
})
414443

415444
test.run(t, router, recorder)
416445
})

internal/controller/resources_controller_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,10 @@ func TestResourcesController(t *testing.T) {
6969
group := router.Group("/")
7070
gin.SetMode(gin.TestMode)
7171

72-
controller.NewResourcesController(cfg, group)
72+
controller.NewResourcesController(controller.ResourcesControllerInput{
73+
RouterGroup: group,
74+
Config: &cfg,
75+
})
7376

7477
recorder := httptest.NewRecorder()
7578
test.run(t, router, recorder)

internal/controller/user_controller_test.go

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -414,11 +414,29 @@ func TestUserController(t *testing.T) {
414414
ctx := context.TODO()
415415
dg := ding.New(ctx)
416416

417-
policyEngine, err := service.NewPolicyEngine(cfg, log)
417+
policyEngine, err := service.NewPolicyEngine(service.PolicyEngineInput{
418+
Log: log,
419+
Config: &cfg,
420+
})
418421
require.NoError(t, err)
419422

420-
broker := service.NewOAuthBrokerService(log, map[string]model.OAuthServiceConfig{}, ctx)
421-
authService := service.NewAuthService(log, cfg, runtime, ctx, dg, nil, store, broker, nil, policyEngine)
423+
broker := service.NewOAuthBrokerService(service.OAuthBrokerServiceInput{
424+
Log: log,
425+
Runtime: &runtime,
426+
Ctx: ctx,
427+
})
428+
authService := service.NewAuthService(service.AuthServiceInput{
429+
Log: log,
430+
Config: &cfg,
431+
Runtime: &runtime,
432+
Ctx: ctx,
433+
Ding: dg,
434+
LDAP: nil,
435+
Queries: store,
436+
OAuthBroker: broker,
437+
Tailscale: nil,
438+
PolicyEngine: policyEngine,
439+
})
422440

423441
beforeEach := func() {
424442
// Clear failed login attempts before each test
@@ -437,7 +455,12 @@ func TestUserController(t *testing.T) {
437455
group := router.Group("/api")
438456
gin.SetMode(gin.TestMode)
439457

440-
controller.NewUserController(log, runtime, group, authService)
458+
controller.NewUserController(controller.UserControllerInput{
459+
Log: log,
460+
RuntimeConfig: &runtime,
461+
RouterGroup: group,
462+
AuthService: authService,
463+
})
441464

442465
recorder := httptest.NewRecorder()
443466

internal/controller/well_known_controller_test.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,13 @@ func TestWellKnownController(t *testing.T) {
9393

9494
store := memory.New()
9595

96-
oidcService, err := service.NewOIDCService(log, cfg, runtime, store, dg)
96+
oidcService, err := service.NewOIDCService(service.OIDCServiceInput{
97+
Log: log,
98+
Config: &cfg,
99+
Runtime: &runtime,
100+
Queries: store,
101+
Ding: dg,
102+
})
97103
require.NoError(t, err)
98104

99105
for _, test := range tests {
@@ -103,7 +109,10 @@ func TestWellKnownController(t *testing.T) {
103109

104110
recorder := httptest.NewRecorder()
105111

106-
controller.NewWellKnownController(oidcService, &router.RouterGroup)
112+
controller.NewWellKnownController(controller.WellKnownControllerInput{
113+
OIDCService: oidcService,
114+
RouterGroup: &router.RouterGroup,
115+
})
107116

108117
test.run(t, router, recorder)
109118
})

internal/middleware/context_middleware_test.go

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -254,13 +254,37 @@ func TestContextMiddleware(t *testing.T) {
254254

255255
store := memory.New()
256256

257-
policyEngine, err := service.NewPolicyEngine(cfg, log)
257+
policyEngine, err := service.NewPolicyEngine(service.PolicyEngineInput{
258+
Log: log,
259+
Config: &cfg,
260+
})
258261
require.NoError(t, err)
259262

260-
broker := service.NewOAuthBrokerService(log, map[string]model.OAuthServiceConfig{}, ctx)
261-
authService := service.NewAuthService(log, cfg, runtime, ctx, dg, nil, store, broker, nil, policyEngine)
262-
263-
contextMiddleware := middleware.NewContextMiddleware(log, runtime, authService, broker, nil)
263+
broker := service.NewOAuthBrokerService(service.OAuthBrokerServiceInput{
264+
Log: log,
265+
Runtime: &runtime,
266+
Ctx: ctx,
267+
})
268+
authService := service.NewAuthService(service.AuthServiceInput{
269+
Log: log,
270+
Config: &cfg,
271+
Runtime: &runtime,
272+
Ctx: ctx,
273+
Ding: dg,
274+
LDAP: nil,
275+
Queries: store,
276+
OAuthBroker: broker,
277+
Tailscale: nil,
278+
PolicyEngine: policyEngine,
279+
})
280+
281+
contextMiddleware := middleware.NewContextMiddleware(middleware.ContextMiddlewareInput{
282+
Log: log,
283+
RuntimeConfig: &runtime,
284+
AuthService: authService,
285+
BrokerService: broker,
286+
TailscaleService: nil,
287+
})
264288

265289
for _, test := range tests {
266290
authService.ClearLoginAttempts()

internal/service/access_controls_service_test.go

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,11 @@ func TestLookupStaticACLs(t *testing.T) {
8787

8888
for _, tt := range tests {
8989
t.Run(tt.name, func(t *testing.T) {
90-
svc := NewAccessControlsService(log, model.Config{Apps: tt.apps}, nil)
90+
svc := NewAccessControlsService(AccessControlServiceInput{
91+
Log: log,
92+
Config: &model.Config{Apps: tt.apps},
93+
LabelProvider: nil,
94+
})
9195
got := svc.lookupStaticACLs(tt.domain)
9296
if tt.expectNil {
9397
assert.Nil(t, got)
@@ -112,7 +116,11 @@ func TestGetAccessControls(t *testing.T) {
112116
},
113117
},
114118
}
115-
svc := NewAccessControlsService(log, config, nil)
119+
svc := NewAccessControlsService(AccessControlServiceInput{
120+
Log: log,
121+
Config: &config,
122+
LabelProvider: nil,
123+
})
116124

117125
got, err := svc.GetAccessControls("foo.example.com")
118126

@@ -123,7 +131,11 @@ func TestGetAccessControls(t *testing.T) {
123131
})
124132

125133
t.Run("returns nil when no static match and no label provider", func(t *testing.T) {
126-
svc := NewAccessControlsService(log, model.Config{}, nil)
134+
svc := NewAccessControlsService(AccessControlServiceInput{
135+
Log: log,
136+
Config: &model.Config{},
137+
LabelProvider: nil,
138+
})
127139

128140
got, err := svc.GetAccessControls("unknown.example.com")
129141

@@ -133,7 +145,11 @@ func TestGetAccessControls(t *testing.T) {
133145

134146
t.Run("returns nil when label provider pointer wraps a nil interface", func(t *testing.T) {
135147
var provider LabelProvider
136-
svc := NewAccessControlsService(log, model.Config{}, &provider)
148+
svc := NewAccessControlsService(AccessControlServiceInput{
149+
Log: log,
150+
Config: &model.Config{},
151+
LabelProvider: provider, // nil provider
152+
})
137153

138154
got, err := svc.GetAccessControls("unknown.example.com")
139155

@@ -152,7 +168,11 @@ func TestGetAccessControls(t *testing.T) {
152168
},
153169
}
154170
var provider LabelProvider = mock
155-
svc := NewAccessControlsService(log, model.Config{}, &provider)
171+
svc := NewAccessControlsService(AccessControlServiceInput{
172+
Log: log,
173+
Config: &model.Config{},
174+
LabelProvider: provider,
175+
})
156176

157177
got, err := svc.GetAccessControls("dynamic.example.com")
158178

@@ -170,7 +190,11 @@ func TestGetAccessControls(t *testing.T) {
170190
"foo": {Config: model.AppConfig{Domain: "foo.example.com"}},
171191
},
172192
}
173-
svc := NewAccessControlsService(log, config, &provider)
193+
svc := NewAccessControlsService(AccessControlServiceInput{
194+
Log: log,
195+
Config: &config,
196+
LabelProvider: provider,
197+
})
174198

175199
got, err := svc.GetAccessControls("foo.example.com")
176200

@@ -188,7 +212,11 @@ func TestGetAccessControls(t *testing.T) {
188212
},
189213
}
190214
var provider LabelProvider = mock
191-
svc := NewAccessControlsService(log, model.Config{}, &provider)
215+
svc := NewAccessControlsService(AccessControlServiceInput{
216+
Log: log,
217+
Config: &model.Config{},
218+
LabelProvider: provider,
219+
})
192220

193221
got, err := svc.GetAccessControls("dynamic.example.com")
194222

internal/service/auth_service_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ func TestIsEmailWhitelistedUsesProviderSpecificList(t *testing.T) {
1414

1515
auth := &AuthService{
1616
log: log,
17-
runtime: model.RuntimeConfig{
17+
runtime: &model.RuntimeConfig{
1818
OAuthWhitelist: []string{"global@example.com"},
1919
OAuthProviders: map[string]model.OAuthServiceConfig{
2020
"github": {

0 commit comments

Comments
 (0)