From 3ec5632f2695c2d848e7f2f946b457d1ae8f0147 Mon Sep 17 00:00:00 2001 From: Igor Artamonov Date: Sun, 6 Dec 2020 22:40:52 -0500 Subject: [PATCH] problem: seems that mock server sometimes conflicts with existing apps solution: find unused port before test --- .../upstream/bitcoin/EsploraClientSpec.groovy | 11 +++++++---- .../upstream/rpcclient/JsonRpcHttpClientSpec.groovy | 2 ++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/test/groovy/io/emeraldpay/dshackle/upstream/bitcoin/EsploraClientSpec.groovy b/src/test/groovy/io/emeraldpay/dshackle/upstream/bitcoin/EsploraClientSpec.groovy index 59f4240c..6e32bace 100644 --- a/src/test/groovy/io/emeraldpay/dshackle/upstream/bitcoin/EsploraClientSpec.groovy +++ b/src/test/groovy/io/emeraldpay/dshackle/upstream/bitcoin/EsploraClientSpec.groovy @@ -22,6 +22,7 @@ import org.bitcoinj.params.TestNet3Params import org.mockserver.integration.ClientAndServer import org.mockserver.model.HttpRequest import org.mockserver.model.HttpResponse +import org.springframework.util.SocketUtils import reactor.test.StepVerifier import spock.lang.Specification @@ -31,9 +32,11 @@ import java.time.Instant class EsploraClientSpec extends Specification { ClientAndServer mockServer + int port = 23001 def setup() { - mockServer = ClientAndServer.startClientAndServer(23001); + port = SocketUtils.findAvailableTcpPort(23001) + mockServer = ClientAndServer.startClientAndServer(port); } def cleanup() { @@ -50,7 +53,7 @@ class EsploraClientSpec extends Specification { ).respond( HttpResponse.response(responseJson) ) - def client = new EsploraClient(new URI("http://localhost:23001"), null, null) + def client = new EsploraClient(new URI("http://localhost:${port}"), null, null) when: def act = client.getUtxo(Address.fromString(new MainNetParams(), "35vktkPo4wdK8Twu4VMiuPLdCx23XEykGY")) @@ -91,7 +94,7 @@ class EsploraClientSpec extends Specification { ).respond( HttpResponse.response(responseJson) ) - def client = new EsploraClient(new URI("http://localhost:23001"), null, null) + def client = new EsploraClient(new URI("http://localhost:${port}"), null, null) when: def act = client.getTransactions(Address.fromString(TestNet3Params.get(), "tb1qyatuwvkfx8thy2ntmtuea6v42vp3zefqvll8kx")) @@ -121,7 +124,7 @@ class EsploraClientSpec extends Specification { ).respond( HttpResponse.response("[]") ) - def client = new EsploraClient(new URI("http://localhost:23001"), null, null) + def client = new EsploraClient(new URI("http://localhost:${port}"), null, null) when: def act = client.getTransactions(Address.fromString(TestNet3Params.get(), "tb1qyatuwvkfx8thy2ntmtuea6v42vp3zefqvll8kx")) diff --git a/src/test/groovy/io/emeraldpay/dshackle/upstream/rpcclient/JsonRpcHttpClientSpec.groovy b/src/test/groovy/io/emeraldpay/dshackle/upstream/rpcclient/JsonRpcHttpClientSpec.groovy index 48acdc87..fd9c4c91 100644 --- a/src/test/groovy/io/emeraldpay/dshackle/upstream/rpcclient/JsonRpcHttpClientSpec.groovy +++ b/src/test/groovy/io/emeraldpay/dshackle/upstream/rpcclient/JsonRpcHttpClientSpec.groovy @@ -23,6 +23,7 @@ import org.mockserver.integration.ClientAndServer import org.mockserver.model.HttpRequest import org.mockserver.model.HttpResponse import org.mockserver.model.MediaType +import org.springframework.util.SocketUtils import reactor.test.StepVerifier import spock.lang.Specification @@ -34,6 +35,7 @@ class JsonRpcHttpClientSpec extends Specification { int port = 19332 def setup() { + port = SocketUtils.findAvailableTcpPort(19332) mockServer = ClientAndServer.startClientAndServer(port); }