From d070ea820bb615624a320b04941e500dbefbbfac Mon Sep 17 00:00:00 2001 From: Piotr Fus Date: Mon, 26 Feb 2018 10:39:34 +0100 Subject: [PATCH] Handle HTTPS from config Change-Id: I48ea5ea2e35e62906b7b5ec5c5e624d06192172b --- .../touk/mockserver/tests/MockServerHttpsTest.groovy | 6 ++---- .../pl/touk/mockserver/server/HttpMockServer.groovy | 12 +++++++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/mockserver-tests/src/test/groovy/pl/touk/mockserver/tests/MockServerHttpsTest.groovy b/mockserver-tests/src/test/groovy/pl/touk/mockserver/tests/MockServerHttpsTest.groovy index 28a070a..8d6eff8 100644 --- a/mockserver-tests/src/test/groovy/pl/touk/mockserver/tests/MockServerHttpsTest.groovy +++ b/mockserver-tests/src/test/groovy/pl/touk/mockserver/tests/MockServerHttpsTest.groovy @@ -14,6 +14,7 @@ import pl.touk.mockserver.api.request.AddMock import pl.touk.mockserver.client.RemoteMockServer import pl.touk.mockserver.client.Util import pl.touk.mockserver.server.HttpMockServer +import spock.lang.AutoCleanup import spock.lang.Shared import spock.lang.Specification @@ -25,6 +26,7 @@ class MockServerHttpsTest extends Specification { RemoteMockServer remoteMockServer = new RemoteMockServer('localhost', 19000) + @AutoCleanup('stop') HttpMockServer httpMockServer = new HttpMockServer(19000) @Shared @@ -44,10 +46,6 @@ class MockServerHttpsTest extends Specification { .loadTrustMaterial(trustStore()) .build() - def cleanup() { - httpMockServer.stop() - } - def 'should handle HTTPS server' () { given: remoteMockServer.addMock(new AddMock( diff --git a/mockserver/src/main/groovy/pl/touk/mockserver/server/HttpMockServer.groovy b/mockserver/src/main/groovy/pl/touk/mockserver/server/HttpMockServer.groovy index 58b7573..6a57f12 100644 --- a/mockserver/src/main/groovy/pl/touk/mockserver/server/HttpMockServer.groovy +++ b/mockserver/src/main/groovy/pl/touk/mockserver/server/HttpMockServer.groovy @@ -122,7 +122,7 @@ class HttpMockServer { throw new RuntimeException('mock already registered') } Mock mock = mockFromConfig(co) - HttpServerWrapper child = getOrCreateChildServer(mock.port, null) + HttpServerWrapper child = getOrCreateChildServer(mock.port, mock.https) child.addMock(mock) configuration.put(name, co) mockNames << name @@ -172,6 +172,16 @@ class HttpMockServer { mock.responseHeaders = co.responseHeaders ?: null mock.schema = co.schema ?: null mock.preserveHistory = co.preserveHistory != false + if (co.https) { + mock.https = new Https( + keystorePath: co.https.keystorePath ?: null, + keystorePassword: co.https.keystorePassword, + keyPassword: co.https.keyPassword, + truststorePath: co.https.truststorePath, + truststorePassword: co.https.truststorePassword, + requireClientAuth: co.https?.requireClientAuth?.asBoolean() ?: false + ) + } return mock }