/
uzer_007
/
Rixea
Обзор
Документация
Войти
/
uzer_007
/
Rixea
Код
Запросы
0
Задачи
Вики
Пакеты
5
Релизы
2
CI/CD
Аналитика
Безопасность
master
modules/setting/security_test.go
53 строки
2 KB
uzer_007
feat: первая версия Rixea
02 авг 2026, 22:16
02 авг 2026, 22:16
d4f7504
Код
Авторство
О чём код?
// Copyright 2026 Uzer_007. All rights reserved. // SPDX-License-Identifier: MIT package setting import ( "testing" "github.com/stretchr/testify/assert" ) func TestLoadSecurityFrom(t *testing.T) { previousDisableQueryAuthToken := DisableQueryAuthToken t.Cleanup(func() { DisableQueryAuthToken = previousDisableQueryAuthToken }) assert.Equal(t, "SAMEORIGIN", Security.XFrameOptions) assert.Equal(t, "nosniff", Security.XContentTypeOptions) assert.Equal(t, "external", Security.AllowedHostList) assert.True(t, DisableQueryAuthToken) cfg, err := NewConfigProviderFromData(`[security] X_FRAME_OPTIONS = DENY X_CONTENT_TYPE_OPTIONS = unset ALLOWED_HOST_LIST = foo CONTENT_SECURITY_POLICY_GENERAL = "script-src *; foo" REVERSE_PROXY_LIMIT = 2 REVERSE_PROXY_LOGOUT_REDIRECT = /sso/logout PASSWORD_HASH_ALGO = pbkdf2 SUCCESSFUL_TOKENS_CACHE_SIZE = 42 `) assert.NoError(t, err) loadSecurityFrom(cfg) assert.Equal(t, "DENY", Security.XFrameOptions) assert.Equal(t, "unset", Security.XContentTypeOptions) assert.Equal(t, "foo", Security.AllowedHostList) assert.Equal(t, `"script-src *`, Security.ContentSecurityPolicyGeneral) // Точка с запятой начинает INI-комментарий. assert.Equal(t, 2, ReverseProxyLimit) assert.Equal(t, "/sso/logout", ReverseProxyLogoutRedirect) assert.Equal(t, "pbkdf2$50000$50", PasswordHashAlgo) assert.Equal(t, 42, SuccessfulTokensCacheSize) assert.True(t, DisableQueryAuthToken) cfg, err = NewConfigProviderFromData(`[security] ALLOWED_HOST_LIST = " " DISABLE_QUERY_AUTH_TOKEN = false `) assert.NoError(t, err) loadSecurityFrom(cfg) assert.Equal(t, "external", Security.AllowedHostList) assert.False(t, DisableQueryAuthToken) }