loading up the forgejo repo on tangled to test page performance
1// Copyright The Forgejo Authors.
2// SPDX-License-Identifier: MIT
3
4package integration
5
6import (
7 "net/http"
8 "testing"
9
10 auth_model "forgejo.org/models/auth"
11 "forgejo.org/modules/setting"
12 "forgejo.org/modules/test"
13 "forgejo.org/routers"
14 v1 "forgejo.org/routers/api/forgejo/v1"
15 "forgejo.org/tests"
16
17 "github.com/stretchr/testify/assert"
18)
19
20func TestAPIForgejoVersion(t *testing.T) {
21 defer tests.PrepareTestEnv(t)()
22
23 t.Run("Version", func(t *testing.T) {
24 req := NewRequest(t, "GET", "/api/forgejo/v1/version")
25 resp := MakeRequest(t, req, http.StatusOK)
26
27 var version v1.Version
28 DecodeJSON(t, resp, &version)
29 assert.Equal(t, "1.0.0", *version.Version)
30 })
31
32 t.Run("Versions with REQUIRE_SIGNIN_VIEW enabled", func(t *testing.T) {
33 defer test.MockVariableValue(&setting.Service.RequireSignInView, true)()
34 defer test.MockVariableValue(&testWebRoutes, routers.NormalRoutes())()
35
36 t.Run("Get forgejo version without auth", func(t *testing.T) {
37 defer tests.PrintCurrentTest(t)()
38
39 // GET api without auth
40 req := NewRequest(t, "GET", "/api/forgejo/v1/version")
41 MakeRequest(t, req, http.StatusForbidden)
42 })
43
44 t.Run("Get forgejo version without auth", func(t *testing.T) {
45 defer tests.PrintCurrentTest(t)()
46 username := "user1"
47 session := loginUser(t, username)
48 token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository)
49
50 // GET api with auth
51 req := NewRequest(t, "GET", "/api/forgejo/v1/version").AddTokenAuth(token)
52 resp := MakeRequest(t, req, http.StatusOK)
53
54 var version v1.Version
55 DecodeJSON(t, resp, &version)
56 assert.Equal(t, "1.0.0", *version.Version)
57 })
58 })
59}