46 lines
1020 B
Go
46 lines
1020 B
Go
//go:build integration
|
|
|
|
package testbus
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/nats-io/nats.go"
|
|
)
|
|
|
|
func TestEveryTestHasABusOfItsOwn(t *testing.T) {
|
|
seen := map[string]bool{}
|
|
for i := 0; i < 2; i++ {
|
|
t.Run("one", func(t *testing.T) {
|
|
url := URL(t)
|
|
if seen[url] {
|
|
t.Fatalf("two tests were handed %s", url)
|
|
}
|
|
seen[url] = true
|
|
conn, err := nats.Connect(url)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
defer conn.Close()
|
|
js, err := conn.JetStream()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if _, err := js.StreamInfo("EVENTS"); err == nil {
|
|
t.Fatal("a stream an earlier test made is here")
|
|
}
|
|
if _, err := js.AddStream(&nats.StreamConfig{Name: "EVENTS", Subjects: []string{"mesh.>"}}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
})
|
|
}
|
|
// Asked twice, one test reaches one bus.
|
|
if a, b := URL(t), URL(t); a != b {
|
|
t.Errorf("one test was handed two buses: %s and %s", a, b)
|
|
}
|
|
if v := strings.Count(Version, "."); v != 2 {
|
|
t.Errorf("the server's release reads %q", Version)
|
|
}
|
|
}
|