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  }