Smail/server/config/model_test.go
smail 18b6dfbdf7
Some checks are pending
Security Checks / security (push) Waiting to run
完成安全整改与配置系统重构阶段开发
2026-08-28 00:42:28 +08:00

22 lines
817 B
Go

package config
import "testing"
func TestRootConfigValidatesStructuredDatabaseAndPluginID(t *testing.T) {
root := RootConfig{
SchemaVersion: CurrentSchemaVersion, Generation: 1, SetupState: SetupStateBootstrap,
Database: DatabaseConfig{Type: DatabaseTypeSQLite, LocalRef: "smail.db"},
SMTP: SMTPConfig{VerificationEnabled: false},
SSL: SSLConfig{Mode: "default", DefaultDirectory: "config/ssl"},
Plugins: []PluginConfig{{LogicalID: "telegram_push", FileName: "telegram_push", NetworkAllowlist: []string{"api.telegram.org"}}},
Security: SecurityConfig{PasswordVersion: "argon2id"},
}
if err := ValidateRootConfig(root); err != nil {
t.Fatal(err)
}
root.Plugins[0].LogicalID = "../escape"
if err := ValidateRootConfig(root); err == nil {
t.Fatal("invalid plugin ID was accepted")
}
}