• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mendersoftware / mender-server / 1893336421

27 Jun 2025 07:09AM UTC coverage: 65.651% (-0.08%) from 65.731%
1893336421

Pull #764

gitlab-ci

bahaa-ghazal
fix(useradm): Use contenttype middleware for login endpoint

Signed-off-by: Bahaa Aldeen Ghazal <bahaa.ghazal@northern.tech>
Pull Request #764: refactor(useradm): Migrate from ant0nie/go-json-rest to gin-gonic/gin

265 of 312 new or added lines in 6 files covered. (84.94%)

5 existing lines in 2 files now uncovered.

32387 of 49332 relevant lines covered (65.65%)

1.39 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

98.31
/backend/services/useradm/api/http/router.go
1
package http
2

3
import (
4
        "net/http"
5
        "os"
6

7
        "github.com/gin-gonic/gin"
8

9
        "github.com/mendersoftware/mender-server/pkg/accesslog"
10
        "github.com/mendersoftware/mender-server/pkg/contenttype"
11
        "github.com/mendersoftware/mender-server/pkg/identity"
12
        "github.com/mendersoftware/mender-server/pkg/requestid"
13
        "github.com/mendersoftware/mender-server/pkg/routing"
14
)
15

16
const (
17
        apiUrlManagementV1       = "/api/management/v1/useradm"
18
        uriManagementAuthLogin   = "/auth/login"
19
        uriManagementAuthLogout  = "/auth/logout"
20
        uriManagementUser        = "/users/:id"
21
        uriManagementUsers       = "/users"
22
        uriManagementSettings    = "/settings"
23
        uriManagementSettingsMe  = "/settings/me"
24
        uriManagementTokens      = "/settings/tokens"
25
        uriManagementToken       = "/settings/tokens/:id"
26
        uriManagementPlans       = "/plans"
27
        uriManagementPlanBinding = "/plan_binding"
28

29
        apiUrlInternalV1  = "/api/internal/v1/useradm"
30
        uriInternalAlive  = "/alive"
31
        uriInternalHealth = "/health"
32

33
        uriInternalAuthVerify  = "/auth/verify"
34
        uriInternalTenants     = "/tenants"
35
        uriInternalTenantUsers = "/tenants/:id/users"
36
        uriInternalTenantUser  = "/tenants/:id/users/:userid"
37
        uriInternalTokens      = "/tokens"
38
)
39

40
func init() {
3✔
41
        if mode := os.Getenv(gin.EnvGinMode); mode != "" {
3✔
NEW
42
                gin.SetMode(mode)
×
43
        } else {
3✔
44
                gin.SetMode(gin.ReleaseMode)
3✔
45
        }
3✔
46
        gin.DisableConsoleColor()
3✔
47
}
48

49
func MakeRouter(i *UserAdmApiHandlers) http.Handler {
3✔
50
        router := gin.New()
3✔
51

3✔
52
        router.Use(requestid.Middleware())
3✔
53
        router.Use(accesslog.Middleware())
3✔
54

3✔
55
        mgmt := router.Group(apiUrlManagementV1)
3✔
56

3✔
57
        mgmt.Group(".").Use(contenttype.CheckJSON()).
3✔
58
                POST(uriManagementAuthLogin, i.AuthLoginHandler)
3✔
59

3✔
60
        mgmt.Use(identity.Middleware())
3✔
61

3✔
62
        mgmt.GET(uriManagementUsers, i.GetUsersHandler)
3✔
63
        mgmt.GET(uriManagementUser, i.GetUserHandler)
3✔
64
        mgmt.GET(uriManagementSettings, i.GetSettingsHandler)
3✔
65
        mgmt.GET(uriManagementSettingsMe, i.GetSettingsMeHandler)
3✔
66
        mgmt.GET(uriManagementTokens, i.GetTokensHandler)
3✔
67
        mgmt.GET(uriManagementPlans, i.GetPlansHandler)
3✔
68
        mgmt.GET(uriManagementPlanBinding, i.GetPlanBindingHandler)
3✔
69
        mgmt.DELETE(uriManagementUser, i.DeleteUserHandler)
3✔
70
        mgmt.DELETE(uriManagementToken, i.DeleteTokenHandler)
3✔
71

3✔
72
        mgmt.Group(".").Use(contenttype.CheckJSON()).
3✔
73
                POST(uriManagementAuthLogout, i.AuthLogoutHandler).
3✔
74
                POST(uriManagementUsers, i.AddUserHandler).
3✔
75
                PUT(uriManagementUser, i.UpdateUserHandler).
3✔
76
                POST(uriManagementSettings, i.SaveSettingsHandler).
3✔
77
                POST(uriManagementSettingsMe, i.SaveSettingsMeHandler).
3✔
78
                POST(uriManagementTokens, i.IssueTokenHandler)
3✔
79

3✔
80
        routing.AutogenOptionsRoutes(router,
3✔
81
                routing.AllowHeaderOptionsGenerator)
3✔
82

3✔
83
        internal := router.Group(apiUrlInternalV1)
3✔
84

3✔
85
        internal.GET(uriInternalAlive, i.AliveHandler)
3✔
86
        internal.GET(uriInternalHealth, i.HealthHandler)
3✔
87

3✔
88
        internal.GET(uriInternalAuthVerify, identity.Middleware(),
3✔
89
                i.AuthVerifyHandler)
3✔
90
        internal.POST(uriInternalAuthVerify, identity.Middleware(),
3✔
91
                i.AuthVerifyHandler)
3✔
92

3✔
93
        internal.POST(uriInternalTenants, i.CreateTenantHandler)
3✔
94
        internal.POST(uriInternalTenantUsers, i.CreateTenantUserHandler)
3✔
95
        internal.DELETE(uriInternalTenantUser, i.DeleteTenantUserHandler)
3✔
96
        internal.GET(uriInternalTenantUsers, i.GetTenantUsersHandler)
3✔
97
        internal.DELETE(uriInternalTokens, i.DeleteTokensHandler)
3✔
98

3✔
99
        return router
3✔
100
}
3✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc