1// Copyright The Forgejo Authors.
2// SPDX-License-Identifier: MIT
3
4package setting
5
6import (
7 "testing"
8
9 "forgejo.org/modules/container"
10
11 "github.com/stretchr/testify/assert"
12 "github.com/stretchr/testify/require"
13)
14
15func Test_loadAdminFrom(t *testing.T) {
16 iniStr := `
17 [admin]
18 DISABLE_REGULAR_ORG_CREATION = true
19 DEFAULT_EMAIL_NOTIFICATIONS = z
20 SEND_NOTIFICATION_EMAIL_ON_NEW_USER = true
21 USER_DISABLED_FEATURES = a,b
22 EXTERNAL_USER_DISABLE_FEATURES = x,y
23 `
24 cfg, err := NewConfigProviderFromData(iniStr)
25 require.NoError(t, err)
26 loadAdminFrom(cfg)
27
28 assert.True(t, Admin.DisableRegularOrgCreation)
29 assert.Equal(t, "z", Admin.DefaultEmailNotification)
30 assert.True(t, Admin.SendNotificationEmailOnNewUser)
31 assert.Equal(t, container.SetOf("a", "b"), Admin.UserDisabledFeatures)
32 assert.Equal(t, container.SetOf("x", "y"), Admin.ExternalUserDisableFeatures)
33}