Add spock-global-unroll

Change-Id: I0642bdf0e269f60c46d0b9c19b3d29af5a8c786b
This commit is contained in:
Piotr Fus 2018-01-30 10:58:18 +01:00
parent 79e7530390
commit 0b7d0b52bc
6 changed files with 18 additions and 20 deletions

View file

@ -44,6 +44,10 @@
<artifactId>mockserver-client</artifactId> <artifactId>mockserver-client</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency>
<groupId>info.solidsoft.spock</groupId>
<artifactId>spock-global-unroll</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View file

@ -16,7 +16,6 @@ import pl.touk.mockserver.client.Util
import pl.touk.mockserver.server.HttpMockServer import pl.touk.mockserver.server.HttpMockServer
import spock.lang.Shared import spock.lang.Shared
import spock.lang.Specification import spock.lang.Specification
import spock.lang.Unroll
import javax.net.ssl.SSLContext import javax.net.ssl.SSLContext
import javax.net.ssl.SSLHandshakeException import javax.net.ssl.SSLHandshakeException
@ -24,9 +23,9 @@ import java.security.KeyStore
class MockServerHttpsTest extends Specification { class MockServerHttpsTest extends Specification {
RemoteMockServer remoteMockServer RemoteMockServer remoteMockServer = new RemoteMockServer('localhost', 19000)
HttpMockServer httpMockServer HttpMockServer httpMockServer = new HttpMockServer(19000)
@Shared @Shared
SSLContext noClientAuthSslContext = SSLContexts.custom() SSLContext noClientAuthSslContext = SSLContexts.custom()
@ -45,17 +44,12 @@ class MockServerHttpsTest extends Specification {
.loadTrustMaterial(trustStore()) .loadTrustMaterial(trustStore())
.build() .build()
def setup() {
httpMockServer = new HttpMockServer(19000)
remoteMockServer = new RemoteMockServer('localhost', 19000)
}
def cleanup() { def cleanup() {
httpMockServer.stop() httpMockServer.stop()
} }
def 'should handle HTTPS server' () { def 'should handle HTTPS server' () {
expect: given:
remoteMockServer.addMock(new AddMock( remoteMockServer.addMock(new AddMock(
name: 'testHttps', name: 'testHttps',
path: 'testEndpoint', path: 'testEndpoint',
@ -79,7 +73,7 @@ class MockServerHttpsTest extends Specification {
} }
def 'should handle HTTPS server with client auth' () { def 'should handle HTTPS server with client auth' () {
expect: given:
remoteMockServer.addMock(new AddMock( remoteMockServer.addMock(new AddMock(
name: 'testHttps', name: 'testHttps',
path: 'testEndpoint', path: 'testEndpoint',
@ -105,9 +99,8 @@ class MockServerHttpsTest extends Specification {
restPostResponse.name() == 'goodResponse-request' restPostResponse.name() == 'goodResponse-request'
} }
@Unroll
def 'should handle HTTPS server with wrong client auth' () { def 'should handle HTTPS server with wrong client auth' () {
expect: given:
remoteMockServer.addMock(new AddMock( remoteMockServer.addMock(new AddMock(
name: 'testHttps', name: 'testHttps',
path: 'testEndpoint', path: 'testEndpoint',

View file

@ -29,7 +29,6 @@ import pl.touk.mockserver.client.Util
import pl.touk.mockserver.server.HttpMockServer import pl.touk.mockserver.server.HttpMockServer
import spock.lang.Shared import spock.lang.Shared
import spock.lang.Specification import spock.lang.Specification
import spock.lang.Unroll
class MockServerIntegrationTest extends Specification { class MockServerIntegrationTest extends Specification {
@ -244,7 +243,6 @@ class MockServerIntegrationTest extends Specification {
soapPostResponse.Body.'goodResponseSoap-request'.size() == 1 soapPostResponse.Body.'goodResponseSoap-request'.size() == 1
} }
@Unroll
def "should dispatch rest mocks when second on #name"() { def "should dispatch rest mocks when second on #name"() {
given: given:
remoteMockServer.addMock(new AddMock( remoteMockServer.addMock(new AddMock(
@ -283,7 +281,6 @@ class MockServerIntegrationTest extends Specification {
9998 | 'test2' | 'another port and path' 9998 | 'test2' | 'another port and path'
} }
@Unroll
def "should dispatch rest mock with response code"() { def "should dispatch rest mock with response code"() {
given: given:
remoteMockServer.addMock(new AddMock( remoteMockServer.addMock(new AddMock(
@ -857,7 +854,6 @@ class MockServerIntegrationTest extends Specification {
mockEvents2[0].response.statusCode == 202 mockEvents2[0].response.statusCode == 202
} }
@Unroll
def "should return mock report with #mockEvents events when deleting mock with flag skip mock = #skipReport"() { def "should return mock report with #mockEvents events when deleting mock with flag skip mock = #skipReport"() {
expect: expect:
remoteMockServer.addMock(new AddMock( remoteMockServer.addMock(new AddMock(
@ -885,7 +881,6 @@ class MockServerIntegrationTest extends Specification {
true | 0 true | 0
} }
@Unroll
def "should reject mock when it has System.exit in closure"() { def "should reject mock when it has System.exit in closure"() {
when: when:
remoteMockServer.addMock(new AddMock( remoteMockServer.addMock(new AddMock(
@ -1133,7 +1128,6 @@ class MockServerIntegrationTest extends Specification {
remoteMockServer.removeMock('testRest')?.size() == 1 remoteMockServer.removeMock('testRest')?.size() == 1
} }
@Unroll
def 'should handle leading slash'() { def 'should handle leading slash'() {
given: given:
String name = "testRest-${UUID.randomUUID().toString()}" String name = "testRest-${UUID.randomUUID().toString()}"

View file

@ -42,7 +42,7 @@ class HttpMockServer {
HttpMockServer(int port = 9999, ConfigObject initialConfiguration = new ConfigObject(), int threads = 10) { HttpMockServer(int port = 9999, ConfigObject initialConfiguration = new ConfigObject(), int threads = 10) {
executor = Executors.newFixedThreadPool(threads) executor = Executors.newFixedThreadPool(threads)
httpServerWrapper = new HttpServerWrapper(port, executor, null) httpServerWrapper = new HttpServerWrapper(port, executor)
initialConfiguration.values()?.each { ConfigObject co -> initialConfiguration.values()?.each { ConfigObject co ->
addMock(co) addMock(co)

View file

@ -24,7 +24,7 @@ class HttpServerWrapper {
private List<ContextExecutor> executors = [] private List<ContextExecutor> executors = []
HttpServerWrapper(int port, Executor executor, Https https) { HttpServerWrapper(int port, Executor executor, Https https = null) {
this.port = port this.port = port
InetSocketAddress addr = new InetSocketAddress(Inet4Address.getByName("0.0.0.0"), port) InetSocketAddress addr = new InetSocketAddress(Inet4Address.getByName("0.0.0.0"), port)
httpServer = buildServer(addr, https) httpServer = buildServer(addr, https)

View file

@ -36,6 +36,7 @@
<jmh.version>1.11.2</jmh.version> <jmh.version>1.11.2</jmh.version>
<maven-release-plugin.version>2.5.2</maven-release-plugin.version> <maven-release-plugin.version>2.5.2</maven-release-plugin.version>
<gmavenplus-plugin.version>1.4</gmavenplus-plugin.version> <gmavenplus-plugin.version>1.4</gmavenplus-plugin.version>
<spock-global-unroll.version>0.5.1</spock-global-unroll.version>
</properties> </properties>
<scm> <scm>
@ -99,6 +100,12 @@
<version>${jmh.version}</version> <version>${jmh.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>info.solidsoft.spock</groupId>
<artifactId>spock-global-unroll</artifactId>
<version>${spock-global-unroll.version}</version>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>