ScuttleBot

scuttlebot / internal / topology / topology_test.go
Source Blame History 35 lines
b895d50… lmata 1 package topology_test
b895d50… lmata 2
b895d50… lmata 3 import (
b895d50… lmata 4 "testing"
b895d50… lmata 5
b895d50… lmata 6 "github.com/conflicthq/scuttlebot/internal/topology"
b895d50… lmata 7 )
b895d50… lmata 8
b895d50… lmata 9 func TestValidateName(t *testing.T) {
b895d50… lmata 10 cases := []struct {
b895d50… lmata 11 name string
b895d50… lmata 12 channel string
b895d50… lmata 13 wantErr bool
b895d50… lmata 14 }{
b895d50… lmata 15 {"valid fleet", "#fleet", false},
b895d50… lmata 16 {"valid project", "#project.myapp", false},
b895d50… lmata 17 {"valid subtopic", "#project.myapp.tasks.backend", false},
b895d50… lmata 18 {"valid task", "#task.01HX123", false},
b895d50… lmata 19 {"missing prefix", "fleet", true},
b895d50… lmata 20 {"empty after prefix", "#", true},
b895d50… lmata 21 {"contains space", "#my channel", true},
b895d50… lmata 22 }
b895d50… lmata 23
b895d50… lmata 24 for _, tc := range cases {
b895d50… lmata 25 t.Run(tc.name, func(t *testing.T) {
b895d50… lmata 26 err := topology.ValidateName(tc.channel)
b895d50… lmata 27 if tc.wantErr && err == nil {
b895d50… lmata 28 t.Errorf("ValidateName(%q): expected error, got nil", tc.channel)
b895d50… lmata 29 }
b895d50… lmata 30 if !tc.wantErr && err != nil {
b895d50… lmata 31 t.Errorf("ValidateName(%q): unexpected error: %v", tc.channel, err)
b895d50… lmata 32 }
b895d50… lmata 33 })
b895d50… lmata 34 }
b895d50… lmata 35 }

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button