itest: export ServerHarness publicly

This commit is contained in:
Viktor Tigerström 2023-04-14 00:42:14 +02:00
parent 8eb53726d7
commit dfa3aee8bf
2 changed files with 21 additions and 18 deletions

View file

@ -49,7 +49,7 @@ type NetworkHarness struct {
LNDHarness *lntest.HarnessTest
// server is an instance of the local Loop/Pool mock server.
server *serverHarness
server *ServerHarness
// BackendCfg houses the information necessary to use a node as LND
// chain backend, such as rpc configuration, P2P information etc.
@ -130,8 +130,8 @@ func (n *NetworkHarness) SetUp(t *testing.T,
mockServerAddr := fmt.Sprintf(
node.ListenerFormat, node.NextAvailablePort(),
)
n.server = newServerHarness(mockServerAddr)
err := n.server.start()
n.server = NewServerHarness(mockServerAddr)
err := n.server.Start()
require.NoError(t, err)
// Start a mock autopilot server.
@ -273,10 +273,10 @@ func (n *NetworkHarness) NewNode(t *testing.T, name string, extraArgs []string,
remoteMode bool, wait bool) (*HarnessNode, error) {
litArgs := []string{
fmt.Sprintf("--loop.server.host=%s", n.server.serverHost),
fmt.Sprintf("--loop.server.tlspath=%s", n.server.certFile),
fmt.Sprintf("--pool.auctionserver=%s", n.server.serverHost),
fmt.Sprintf("--pool.tlspathauctserver=%s", n.server.certFile),
fmt.Sprintf("--loop.server.host=%s", n.server.ServerHost),
fmt.Sprintf("--loop.server.tlspath=%s", n.server.CertFile),
fmt.Sprintf("--pool.auctionserver=%s", n.server.ServerHost),
fmt.Sprintf("--pool.tlspathauctserver=%s", n.server.CertFile),
"--autopilot.insecure",
fmt.Sprintf(
"--autopilot.address=localhost:%d",

View file

@ -27,11 +27,11 @@ type loopPoolServer struct {
swapserverrpc.UnimplementedSwapServerServer
}
type serverHarness struct {
serverHost string
type ServerHarness struct {
ServerHost string
mockServer *grpc.Server
certFile string
CertFile string
server *loopPoolServer
errChan chan error
@ -39,32 +39,35 @@ type serverHarness struct {
wg sync.WaitGroup
}
func newServerHarness(serverHost string) *serverHarness {
return &serverHarness{
serverHost: serverHost,
// NewServerHarness creates a new ServerHarness instance.
func NewServerHarness(serverHost string) *ServerHarness {
return &ServerHarness{
ServerHost: serverHost,
errChan: make(chan error, 1),
}
}
func (s *serverHarness) stop() {
// Stop stops the mock Loop/Pool server.
func (s *ServerHarness) Stop() {
s.mockServer.Stop()
s.wg.Wait()
}
func (s *serverHarness) start() error {
// Start starts the mock Loop/Pool server.
func (s *ServerHarness) Start() error {
tempDirName, err := ioutil.TempDir("", "litditest")
if err != nil {
return err
}
s.certFile = filepath.Join(tempDirName, "proxy.cert")
s.CertFile = filepath.Join(tempDirName, "proxy.cert")
keyFile := filepath.Join(tempDirName, "proxy.key")
creds, err := genCertPair(s.certFile, keyFile)
creds, err := genCertPair(s.CertFile, keyFile)
if err != nil {
return err
}
httpListener, err := net.Listen("tcp", s.serverHost)
httpListener, err := net.Listen("tcp", s.ServerHost)
if err != nil {
return err
}