Skip to content

Commit f3d6b90

Browse files
author
Mateo Ivankovic
committed
tests
1 parent 153b043 commit f3d6b90

File tree

15 files changed

+1651
-359
lines changed

15 files changed

+1651
-359
lines changed

server/src/.mockery.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ packages:
4141
interfaces:
4242
SessionService:
4343
SessionDatabase:
44+
SessionApi:
4445

4546
scrumlr.io/server/sessionrequests:
4647
interfaces:
@@ -52,6 +53,7 @@ packages:
5253
interfaces:
5354
UserService:
5455
UserDatabase:
56+
UsersApi:
5557

5658
scrumlr.io/server/notes:
5759
interfaces:

server/src/api/board_templates_test.go

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import (
1919
"scrumlr.io/server/columntemplates"
2020
"scrumlr.io/server/common"
2121
"scrumlr.io/server/identifiers"
22+
"scrumlr.io/server/serviceinitialize"
23+
"scrumlr.io/server/sessions"
2224
"scrumlr.io/server/users"
2325
)
2426

@@ -388,13 +390,30 @@ func TestTemplateRoutesMiddlewareIntegration(t *testing.T) {
388390
mockBoardTemplates.EXPECT().Update(mock.Anything, mock.Anything).Return(mockTemplate, nil).Maybe()
389391
mockBoardTemplates.EXPECT().Delete(mock.Anything, mock.Anything).Return(nil).Maybe()
390392

393+
sessionApiMock := sessions.NewMockSessionApi(t)
394+
next := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
395+
w.WriteHeader(http.StatusOK)
396+
})
397+
398+
sessionApiMock.EXPECT().BoardParticipantContext(mock.Anything).Return(next)
399+
sessionApiMock.EXPECT().BoardModeratorContext(mock.Anything).Return(next)
400+
sessionServiceMock := sessions.NewMockSessionService(t)
401+
402+
initializer := serviceinitialize.NewServiceInitializer(nil, nil)
403+
middleware := initializer.InitializeContextService(false)
404+
apiInitializer := serviceinitialize.NewApiInitializer(middleware, "/")
405+
userApi := apiInitializer.InitializeUserApi(mockUsers, sessionServiceMock, false, false)
406+
routesInitializer := serviceinitialize.NewRoutesInitializer()
407+
userRoutes := routesInitializer.InitializeUserRoutes(userApi, sessionApiMock)
408+
sessionRoutes := routesInitializer.InitializeSessionRoutes(sessionApiMock)
409+
391410
// Use the actual router from router.go with minimal mocked dependencies
392-
r := New(
393-
"/", // basePath
394-
nil, // realtime (not needed for templates)
395-
mockAuth,
396-
nil,
397-
nil, // auth
411+
s := New(
412+
"/", // basePath
413+
nil, // realtime (not needed for templates)
414+
mockAuth, // auth
415+
userRoutes,
416+
sessionRoutes,
398417
nil, // boards
399418
nil, // columns
400419
nil, // votings
@@ -441,7 +460,7 @@ func TestTemplateRoutesMiddlewareIntegration(t *testing.T) {
441460
rr := httptest.NewRecorder()
442461

443462
// Execute request
444-
r.ServeHTTP(rr, req)
463+
s.ServeHTTP(rr, req)
445464

446465
// Verify status
447466
assert.Equal(t, tt.expectedStatus, rr.Code, "Expected status %d for %s %s, got %d", tt.expectedStatus, tt.method, tt.path, rr.Code)

server/src/api/json_parse_test.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,6 @@ func (suite *JSONErrTestSuite) TestJSONErrs() {
6464
name: "boards.updateBoard",
6565
handler: func(s *Server) func(w http.ResponseWriter, r *http.Request) { return s.updateBoard },
6666
},
67-
{
68-
name: "board_sessions.updateBoardSessions",
69-
handler: func(s *Server) func(w http.ResponseWriter, r *http.Request) { return s.updateBoardSessions },
70-
},
7167
{
7268
name: "board_session_request.updateBoardSessionRequest",
7369
handler: func(s *Server) func(w http.ResponseWriter, r *http.Request) { return s.updateBoardSessionRequest },
@@ -83,7 +79,7 @@ func (suite *JSONErrTestSuite) TestJSONErrs() {
8379
"id": %s
8480
}`))
8581

86-
req.req = logger.InitTestLoggerRequest(req.Request())
82+
req.Req = logger.InitTestLoggerRequest(req.Request())
8783
req.AddToContext(identifiers.BoardIdentifier, mockUUID).
8884
AddToContext(identifiers.UserIdentifier, mockUUID).
8985
AddToContext(identifiers.NoteIdentifier, mockUUID).

server/src/api/router.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ func (s *Server) initBoardSessionResources(r chi.Router) {
319319

320320
r.Post("/", s.joinBoard) //board
321321
})
322-
322+
r.Mount("/", s.sessionRoutes)
323323
})
324324
}
325325

server/src/main.go

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"os"
99
"strings"
1010

11-
"github.com/go-chi/chi/v5"
1211
"go.uber.org/zap"
1312
"scrumlr.io/server/common"
1413
"scrumlr.io/server/initialize"
@@ -398,8 +397,6 @@ func run(c *cli.Context) error {
398397
return errors.New("you may not start the application without a session secret if an authentication provider is configured")
399398
}
400399

401-
r := chi.NewRouter()
402-
403400
bun := initialize.InitializeBun(db, logger.GetLogLevel())
404401
initializer := serviceinitialize.NewServiceInitializer(bun, rt)
405402

@@ -433,11 +430,11 @@ func run(c *cli.Context) error {
433430

434431
middleware := initializer.InitializeContextService(c.Bool("disable-anonymous-login"))
435432

436-
apiInitializer := serviceinitialize.NewApiInitializer(middleware, r, basePath)
433+
apiInitializer := serviceinitialize.NewApiInitializer(middleware, basePath)
437434
sessionApi := apiInitializer.InitializeSessionApi(sessionService)
438435
userApi := apiInitializer.InitializeUserApi(userService, sessionService, c.Bool("allow-anonymous-board-creation"), c.Bool("allow-anonymous-custom-templates"))
439436

440-
routesInitializer := serviceinitialize.NewRoutesInitializer(middleware)
437+
routesInitializer := serviceinitialize.NewRoutesInitializer()
441438
userRoutes := routesInitializer.InitializeUserRoutes(userApi, sessionApi)
442439
sessionRoutes := routesInitializer.InitializeSessionRoutes(sessionApi)
443440
s := api.New(
@@ -468,12 +465,6 @@ func run(c *cli.Context) error {
468465
c.Bool("allow-anonymous-board-creation"),
469466
c.Bool("auth-enable-experimental-file-system-store"),
470467
)
471-
s.Mount("/v2/", r)
472-
473-
chi.Walk(s, func(method string, route string, handler http.Handler, middlewares ...func(http.Handler) http.Handler) error {
474-
fmt.Printf("[%s]: '%s' has %d middlewares\n", method, route, len(middlewares))
475-
return nil
476-
})
477468

478469
port := fmt.Sprintf(":%d", c.Int("port"))
479470
logger.Get().Infow("starting server", "base-path", basePath, "port", port)

0 commit comments

Comments
 (0)