github.com/kubeshop/testkube@v1.17.23/pkg/event/bus/testserver.go (about) 1 package bus 2 3 import ( 4 "os" 5 6 "github.com/nats-io/nats-server/v2/server" 7 natsserver "github.com/nats-io/nats-server/v2/test" 8 nats "github.com/nats-io/nats.go" 9 ) 10 11 func TestServerWithConnection() (*server.Server, *nats.Conn) { 12 opts := &natsserver.DefaultTestOptions 13 opts.JetStream = true 14 opts.Port = -1 15 opts.Debug = true 16 17 dir, err := os.MkdirTemp("", "nats-*") 18 if err != nil { 19 panic(err) 20 } 21 opts.StoreDir = dir 22 23 ns := natsserver.RunServer(opts) 24 ns.EnableJetStream(&server.JetStreamConfig{ 25 StoreDir: dir, 26 }) 27 28 nc, err := nats.Connect(ns.ClientURL()) 29 if err != nil { 30 panic(err) 31 } 32 33 return ns, nc 34 }