33 lines
966 B
Go
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)
|
|
}
|
|
}
|