loading up the forgejo repo on tangled to test page performance
1// Copyright 2020 The Gitea Authors. All rights reserved.
2// SPDX-License-Identifier: MIT
3
4package integration
5
6import (
7 "net/http"
8 "testing"
9
10 "forgejo.org/modules/setting"
11 api "forgejo.org/modules/structs"
12 "forgejo.org/tests"
13
14 "github.com/stretchr/testify/assert"
15)
16
17func TestAPIExposedSettings(t *testing.T) {
18 defer tests.PrepareTestEnv(t)()
19
20 ui := new(api.GeneralUISettings)
21 req := NewRequest(t, "GET", "/api/v1/settings/ui")
22 resp := MakeRequest(t, req, http.StatusOK)
23
24 DecodeJSON(t, resp, &ui)
25 assert.Len(t, ui.AllowedReactions, len(setting.UI.Reactions))
26 assert.ElementsMatch(t, setting.UI.Reactions, ui.AllowedReactions)
27
28 apiSettings := new(api.GeneralAPISettings)
29 req = NewRequest(t, "GET", "/api/v1/settings/api")
30 resp = MakeRequest(t, req, http.StatusOK)
31
32 DecodeJSON(t, resp, &apiSettings)
33 assert.Equal(t, &api.GeneralAPISettings{
34 MaxResponseItems: setting.API.MaxResponseItems,
35 DefaultPagingNum: setting.API.DefaultPagingNum,
36 DefaultGitTreesPerPage: setting.API.DefaultGitTreesPerPage,
37 DefaultMaxBlobSize: setting.API.DefaultMaxBlobSize,
38 }, apiSettings)
39
40 repo := new(api.GeneralRepoSettings)
41 req = NewRequest(t, "GET", "/api/v1/settings/repository")
42 resp = MakeRequest(t, req, http.StatusOK)
43
44 DecodeJSON(t, resp, &repo)
45 assert.Equal(t, &api.GeneralRepoSettings{
46 MirrorsDisabled: !setting.Mirror.Enabled,
47 HTTPGitDisabled: setting.Repository.DisableHTTPGit,
48 MigrationsDisabled: setting.Repository.DisableMigrations,
49 TimeTrackingDisabled: false,
50 LFSDisabled: !setting.LFS.StartServer,
51 }, repo)
52
53 attachment := new(api.GeneralAttachmentSettings)
54 req = NewRequest(t, "GET", "/api/v1/settings/attachment")
55 resp = MakeRequest(t, req, http.StatusOK)
56
57 DecodeJSON(t, resp, &attachment)
58 assert.Equal(t, &api.GeneralAttachmentSettings{
59 Enabled: setting.Attachment.Enabled,
60 AllowedTypes: setting.Attachment.AllowedTypes,
61 MaxFiles: setting.Attachment.MaxFiles,
62 MaxSize: setting.Attachment.MaxSize,
63 }, attachment)
64}