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