diff --git a/mockserver-tests/src/test/groovy/pl/touk/mockserver/tests/ServerMockPT.groovy b/mockserver-tests/src/test/groovy/pl/touk/mockserver/tests/ServerMockPT.groovy deleted file mode 100644 index a696a98..0000000 --- a/mockserver-tests/src/test/groovy/pl/touk/mockserver/tests/ServerMockPT.groovy +++ /dev/null @@ -1,59 +0,0 @@ -package pl.touk.mockserver.tests - -import org.apache.http.client.HttpClient -import org.apache.http.client.methods.CloseableHttpResponse -import org.apache.http.client.methods.HttpPost -import org.apache.http.entity.ContentType -import org.apache.http.entity.StringEntity -import org.apache.http.impl.client.HttpClients -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.Specification -import spock.lang.Timeout - -import java.util.concurrent.ExecutorService -import java.util.concurrent.Executors -import java.util.concurrent.TimeUnit - -class ServerMockPT extends Specification { - - @Timeout(value = 90) - def "should handle many request simultaneously"() { - given: - HttpClient client = HttpClients.createDefault() - HttpMockServer httpMockServer = new HttpMockServer() - RemoteMockServer controlServerClient = new RemoteMockServer("localhost", 9999) - int requestAmount = 1000 - String[] responses = new String[requestAmount] - ExecutorService executorService = Executors.newCachedThreadPool() - when: - for (int i = 0; i < requestAmount; ++i) { - int current = i - executorService.submit { - int endpointNumber = current % 10 - int port = 9000 + (current % 7) - controlServerClient.addMock(new AddMock( - name: "testRest$current", - path: "testEndpoint$endpointNumber", - port: port, - predicate: """{req -> req.xml.name() == 'request$current'}""", - response: """{req -> ""}""" - )) - HttpPost restPost = new HttpPost("http://localhost:$port/testEndpoint$endpointNumber") - restPost.entity = new StringEntity("", ContentType.create("text/xml", "UTF-8")) - CloseableHttpResponse response = client.execute(restPost) - responses[current] = Util.extractStringResponse(response) - controlServerClient.removeMock("testRest$current", true) - } - } - executorService.shutdown() - executorService.awaitTermination(90, TimeUnit.SECONDS) - then: - responses.eachWithIndex { res, i -> assert res && new XmlSlurper().parseText(res).name() == "goodResponse$i" as String } - cleanup: - executorService.shutdown() - httpMockServer.stop() - } -} diff --git a/performance-tests/pom.xml b/performance-tests/pom.xml index 2987f78..205a3b6 100644 --- a/performance-tests/pom.xml +++ b/performance-tests/pom.xml @@ -5,7 +5,7 @@ http-mock-server pl.touk.mockserver - 2.1.2-SNAPSHOT + 2.3.1-SNAPSHOT 4.0.0 @@ -25,22 +25,22 @@ org.openjdk.jmh jmh-core - 1.11.2 - test org.openjdk.jmh jmh-generator-annprocess - 1.11.2 - test + + 1.4.0 + org.codehaus.mojo exec-maven-plugin + ${exec-maven-plugin.version} run-benchmarks diff --git a/pom.xml b/pom.xml index b5a145b..a245f8a 100644 --- a/pom.xml +++ b/pom.xml @@ -33,6 +33,9 @@ 1.16.6 true + 1.11.2 + 2.5.2 + 1.4 @@ -84,24 +87,36 @@ mockserver-api ${project.version} + + org.openjdk.jmh + jmh-core + ${jmh.version} + test + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh.version} + test + clean install - - maven-compiler-plugin - 2.3.2 - - 1.8 - 1.8 - - + + maven-compiler-plugin + ${maven-compiler-plugin.version} + + 1.8 + 1.8 + + org.codehaus.gmavenplus gmavenplus-plugin - 1.4 + ${gmavenplus-plugin.version} @@ -114,7 +129,7 @@ org.apache.maven.plugins maven-release-plugin - 2.5.2 + ${maven-release-plugin.version} true