2024-CMPU9010-GROUP-3 / magpie

Group 3 project for the TU Dublin ASD/DS masters course
GNU Affero General Public License v3.0
5 stars 0 forks source link

backend/graceful shutdown #453

Closed ankraus closed 6 days ago

ankraus commented 6 days ago

Description

This PR adds a graceful shutdown to the backend server. To achieve this, the server process is put into its own thread, with the main thread waiting for SIGINT or SIGTERM. When one of these signals is received, the server is given a configurable amount of time to finish handling existing connections. Once the shutdown procedure starts, new connections will be refused.

Fixes #86

Type of change

Please select the option that best describes the changes made:

Changes

github-actions[bot] commented 6 days ago

[Run #106] Test Coverage for private: 52.9% ✅

Detailed Coverage Report | File | Function | Coverage | 🔎 | |------|----------|----------| - | | `github.com/2024-CMPU9010-GROUP-3/magpie/cmd/main/main.go:27` | `main` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/private/db.go:22` | `New` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/private/db.go:30` | `WithTx` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/private/enum_validation.go:5` | `IsValid` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/private/models.go:35` | `Scan` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/private/models.go:53` | `Scan` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/private/models.go:63` | `Value` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/private/queries_private.sql.go:30` | `CreatePoint` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/private/queries_private.sql.go:42` | `DeletePoint` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/private/queries_private.sql.go:62` | `UpdatePoint` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/create_point_dto.go:20` | `Decode` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/create_point_dto.go:31` | `Validate` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/int_id_list_dto.go:15` | `Decode` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/int_id_list_dto.go:26` | `Validate` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/errors/errors.go:12` | `Error` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/errors/errors.go:20` | `WithCause` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/handlers.go:17` | `RegisterDatabaseConnection` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/heartbeat.go:10` | `isAlive` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/heartbeat.go:18` | `HandleHeartbeat` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/points_private.go:17` | `HandlePost` | `93.1%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/points_private.go:70` | `HandlePut` | `93.3%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/points_private.go:130` | `HandleDelete` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/authentication.go:18` | `accessAuthenticated` | `92.3%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/authentication.go:65` | `accessOwnerOnly` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/authentication.go:91` | `accessPublic` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/logging.go:16` | `WriteHeader` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/logging.go:21` | `Logging` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/middleware.go:10` | `CreateMiddlewareStack` | `20.0%` | ⚠️ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/responses/responses.go:12` | `SendResponse` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/responses/responses.go:21` | `SendError` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/responses/responses.go:31` | `send` | `40.0%` | ⚠️ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes.go:19` | `init` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes.go:24` | `AddRoute` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes_private.go:13` | `init` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes_private.go:17` | `private` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes_private.go:24` | `pointsPrivate` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/dbutil/dbutil.go:18` | `SetupDatabase` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/dbutil/dbutil.go:47` | `awaitDatabase` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/dbutil/dbutil.go:64` | `runMigrations` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/dbutil/dbutil.go:102` | `registerCustomDatatypes` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:49` | `Get` | `85.7%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:62` | `GetInt` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:71` | `Load` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:78` | `Validate` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:118` | `GetDbUrl` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/bcrypt.go:17` | `Match` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/bcrypt.go:23` | `BcryptArg` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/handler.go:39` | `executeHandlerTest` | `55.6%` | ⚠️ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/handler.go:122` | `executeRawRequestTests` | `66.7%` | ⚠️ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/handler.go:147` | `RunHandlerTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/handler.go:155` | `RunRawRequestTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:36` | `executeMiddlewareTest` | `81.8%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:79` | `executeLoggingTest` | `71.4%` | ⚠️ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:106` | `RunLoggerTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:114` | `RunMiddlewareTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:122` | `mockNextHandler` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:127` | `captureLogs` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/router.go:19` | `executeRouterTest` | `75.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/router.go:35` | `RunRouterTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/util.go:24` | `Placeholder` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/util.go:28` | `CheckResponseError` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/util.go:34` | `GetLatestMigrationVersion` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/util.go:64` | `GetCustomDataTypes` | `0.0%` | ❌ | | `total:` | `(statements)` | `52.9%` | ⚠️ |
github-actions[bot] commented 6 days ago

Test Results (private) - Run #106

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
48 48 0 0 0 0 0 12.0s

🎉 All tests passed!

Github Test Reporter CTRF

github-actions[bot] commented 6 days ago

[Run #106] Test Coverage for public: 58.0% ✅

Detailed Coverage Report | File | Function | Coverage | 🔎 | |------|----------|----------| - | | `github.com/2024-CMPU9010-GROUP-3/magpie/cmd/main/main.go:27` | `main` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/db.go:22` | `New` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/db.go:30` | `WithTx` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/enum_validation.go:5` | `IsValid` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/models.go:35` | `Scan` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/models.go:53` | `Scan` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/models.go:63` | `Value` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:31` | `CreateLocationHistoryEntry` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:57` | `CreateUser` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:79` | `CreateUserDetails` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:95` | `DeleteLocationHistoryEntries` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:104` | `DeleteUser` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:120` | `EmailExists` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:149` | `GetLocationHistory` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:182` | `GetLoginByEmail` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:201` | `GetLoginById` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:220` | `GetLoginByUsername` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:237` | `GetPointDetails` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:262` | `GetPointsInEnvelope` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:311` | `GetPointsInRadius` | `84.6%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:343` | `GetUserDetails` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:363` | `UpdateLastLogin` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:384` | `UpdateLogin` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:410` | `UpdateUserDetails` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/db/public/queries_public.sql.go:431` | `UsernameExists` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/create_location_history_entry_dto.go:21` | `Decode` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/create_location_history_entry_dto.go:32` | `Validate` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/create_user_dto.go:23` | `Decode` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/create_user_dto.go:32` | `Validate` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/int_id_list_dto.go:15` | `Decode` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/int_id_list_dto.go:26` | `Validate` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/login_user_dto.go:18` | `Decode` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/login_user_dto.go:27` | `Validate` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/update_user_dto.go:23` | `Decode` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/dtos/update_user_dto.go:32` | `Validate` | `85.7%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/errors/errors.go:12` | `Error` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/errors/errors.go:20` | `WithCause` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/auth_public.go:22` | `HandleGet` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/auth_public.go:50` | `HandlePost` | `84.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/auth_public.go:130` | `HandlePut` | `84.6%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/auth_public.go:247` | `HandleDelete` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/auth_public.go:266` | `HandleLogin` | `86.4%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/handlers.go:17` | `RegisterDatabaseConnection` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/heartbeat.go:10` | `isAlive` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/heartbeat.go:18` | `HandleHeartbeat` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/location_history_public.go:20` | `HandleGet` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/location_history_public.go:74` | `HandleDelete` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/location_history_public.go:108` | `HandlePost` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/points_public.go:23` | `HandleGetByRadius` | `93.3%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/handlers/points_public.go:77` | `HandleGetPointDetails` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/authentication.go:18` | `accessAuthenticated` | `92.3%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/authentication.go:65` | `accessOwnerOnly` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/authentication.go:91` | `accessPublic` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/logging.go:16` | `WriteHeader` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/logging.go:21` | `Logging` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/middleware/middleware.go:10` | `CreateMiddlewareStack` | `20.0%` | ⚠️ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/responses/responses.go:12` | `SendResponse` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/responses/responses.go:21` | `SendError` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/responses/responses.go:31` | `send` | `40.0%` | ⚠️ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes.go:19` | `init` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes.go:24` | `AddRoute` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes_public.go:14` | `init` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes_public.go:18` | `public` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes_public.go:26` | `pointsPublic` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes_public.go:37` | `auth` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/routes/routes_public.go:53` | `locationHistory` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/dbutil/dbutil.go:18` | `SetupDatabase` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/dbutil/dbutil.go:47` | `awaitDatabase` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/dbutil/dbutil.go:64` | `runMigrations` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/dbutil/dbutil.go:102` | `registerCustomDatatypes` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:49` | `Get` | `85.7%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:62` | `GetInt` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:71` | `Load` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:78` | `Validate` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/env/env.go:118` | `GetDbUrl` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/bcrypt.go:17` | `Match` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/bcrypt.go:23` | `BcryptArg` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/handler.go:39` | `executeHandlerTest` | `77.8%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/handler.go:122` | `executeRawRequestTests` | `66.7%` | ⚠️ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/handler.go:147` | `RunHandlerTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/handler.go:155` | `RunRawRequestTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:36` | `executeMiddlewareTest` | `81.8%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:79` | `executeLoggingTest` | `71.4%` | ⚠️ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:106` | `RunLoggerTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:114` | `RunMiddlewareTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:122` | `mockNextHandler` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/middleware.go:127` | `captureLogs` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/router.go:19` | `executeRouterTest` | `75.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/testutil/router.go:35` | `RunRouterTests` | `100.0%` | ✅ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/util.go:24` | `Placeholder` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/util.go:28` | `CheckResponseError` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/util.go:34` | `GetLatestMigrationVersion` | `0.0%` | ❌ | | `github.com/2024-CMPU9010-GROUP-3/magpie/internal/util/util.go:64` | `GetCustomDataTypes` | `0.0%` | ❌ | | `total:` | `(statements)` | `58.0%` | ⚠️ |
github-actions[bot] commented 6 days ago

Test Results (public) - Run #106

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
100 100 0 0 0 0 0 19.1s

🎉 All tests passed!

Github Test Reporter CTRF