Files
go-sip/cmd/sip-go-agent/dispatcher_config_test.go
T

33 lines
966 B
Go

package main
import (
"errors"
"os"
"path/filepath"
"strings"
"testing"
)
func TestDispatcherHasNoBusinessHTTPFlags(t *testing.T) {
command := newDispatcherCommand()
for _, name := range []string{"control-listen", "control-token", "config", "db"} {
if command.Flags().Lookup(name) != nil {
t.Fatalf("obsolete Dispatcher flag remains: --%s", name)
}
}
}
func TestDispatcherRequiresDeploymentIdentityBeforeOpeningDatabase(t *testing.T) {
path := filepath.Join(t.TempDir(), "untouched.db")
t.Setenv("DISPATCHER_ID", "")
t.Setenv("DISPATCHER_SQLITE_PATH", path)
root := newRootCommand()
root.SetArgs([]string{"dispatcher", "--mode", "mock"})
if err := root.Execute(); err == nil || !strings.Contains(err.Error(), "DISPATCHER_ID") {
t.Fatalf("missing Dispatcher identity did not fail early: %v", err)
}
if _, err := os.Stat(path); !errors.Is(err, os.ErrNotExist) {
t.Fatalf("database was touched before deployment validation: %v", err)
}
}