FILE / ScuroNeko/Laniakea

bot_opts_test.go

Исходный файл и его история в репозитории.
FILE 945b8240e639c67c8ef2ac44f460ff5173aff9c7
Files
Laniakea/bot_opts_test.go
T
ScuroNeko 945b8240e6 wip: add long message helpers and payload type controls
- add centralized message validation errors
- switch command handlers to return error
- add explicit long plain-text reply helpers
- support strict payload type policy with debug logging
- document versioning and changelog workflow
2026-03-26 18:15:06 +03:00

57 lines
1.4 KiB
Go

package laniakea
import (
"reflect"
"testing"
"git.nix13.pw/scuroneko/laniakea/tgapi"
)
func TestLoadOptsFromEnvIgnoresEmptyUpdateTypes(t *testing.T) {
t.Setenv("UPDATE_TYPES", "")
opts := LoadOptsFromEnv()
if len(opts.UpdateTypes) != 0 {
t.Fatalf("expected no update types, got %v", opts.UpdateTypes)
}
}
func TestLoadOptsFromEnvSplitsAndTrimsUpdateTypes(t *testing.T) {
t.Setenv("UPDATE_TYPES", "message; ; callback_query ")
opts := LoadOptsFromEnv()
want := []tgapi.UpdateType{tgapi.UpdateTypeMessage, tgapi.UpdateTypeCallbackQuery}
if !reflect.DeepEqual(opts.UpdateTypes, want) {
t.Fatalf("unexpected update types: got %v want %v", opts.UpdateTypes, want)
}
}
func TestLoadPrefixesFromEnvDefaultsOnEmptyValue(t *testing.T) {
t.Setenv("PREFIXES", "")
got := LoadPrefixesFromEnv()
want := []string{"/"}
if !reflect.DeepEqual(got, want) {
t.Fatalf("unexpected prefixes: got %v want %v", got, want)
}
}
func TestLoadPrefixesFromEnvDropsEmptyValues(t *testing.T) {
t.Setenv("PREFIXES", "/; ; ! ")
got := LoadPrefixesFromEnv()
want := []string{"/", "!"}
if !reflect.DeepEqual(got, want) {
t.Fatalf("unexpected prefixes: got %v want %v", got, want)
}
}
func TestLoadOptsFromEnvReadsStrictPayloadType(t *testing.T) {
t.Setenv("STRICT_PAYLOAD_TYPE", "true")
opts := LoadOptsFromEnv()
if !opts.StrictPayloadType {
t.Fatal("expected StrictPayloadType to be enabled")
}
}