mirror of
https://github.com/profullstack/agentbbs.git
synced 2026-08-13 14:27:27 +00:00
48 lines
1 KiB
Go
48 lines
1 KiB
Go
package qryptinvite
|
|
|
|
import (
|
|
"strconv"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestConfigFromEnvRejectsNonPositiveTTL(t *testing.T) {
|
|
for _, value := range []string{"0s", "-1h"} {
|
|
t.Run(value, func(t *testing.T) {
|
|
t.Setenv("AGENTBBS_QRYPT_INVITE_TTL", value)
|
|
|
|
if got := ConfigFromEnv().TTL; got != DefaultTTL {
|
|
t.Fatalf("TTL = %s, want default %s", got, DefaultTTL)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestConfigFromEnvQuotaValidation(t *testing.T) {
|
|
tests := []struct {
|
|
value string
|
|
want int
|
|
}{
|
|
{value: "-1", want: DefaultQuota},
|
|
{value: "0", want: 0},
|
|
{value: "12", want: 12},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(strconv.Quote(tt.value), func(t *testing.T) {
|
|
t.Setenv("AGENTBBS_QRYPT_INVITE_QUOTA", tt.value)
|
|
|
|
if got := ConfigFromEnv().Quota; got != tt.want {
|
|
t.Fatalf("Quota = %d, want %d", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestConfigFromEnvAcceptsPositiveTTL(t *testing.T) {
|
|
t.Setenv("AGENTBBS_QRYPT_INVITE_TTL", "24h")
|
|
|
|
if got := ConfigFromEnv().TTL; got != 24*time.Hour {
|
|
t.Fatalf("TTL = %s, want %s", got, 24*time.Hour)
|
|
}
|
|
}
|