package bus import ( "git.sendico.io/tech/sxchnge/shared/messaging/reliable" "testing" ) func TestQueueConfiguration(t *testing.T) { config := DefaultConfig() config.Stream.Replicas = 3 config.Provisioning.Mode = reliable.DurableProvisioningOps config.Provisioning.Environment = reliable.DurableEnvironmentProduction if err := config.Validate(); err != nil { t.Fatal(err) } for _, change := range []func(*Config){func(c *Config) { c.Stream.Replicas = 0 }, func(c *Config) { c.Stream.Storage = "memory" }, func(c *Config) { c.Stream.MaxAgeHours = 1 }, func(c *Config) { c.Provisioning.Mode = "typo" }, func(c *Config) { c.Provisioning.Environment = "typo" }, func(c *Config) { c.Stream.Subjects = []string{"other"} }} { c := DefaultConfig() change(&c) if err := c.Validate(); err == nil { t.Fatal("invalid queue configuration accepted") } } }