Add logger configuration
Change-Id: I8a7c4ac0e09eb114845547202aa27792741cf549
This commit is contained in:
parent
bfc547721e
commit
951a0f1b56
3 changed files with 30 additions and 74 deletions
|
@ -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 -> "<goodResponse$current/>"}"""
|
||||
))
|
||||
HttpPost restPost = new HttpPost("http://localhost:$port/testEndpoint$endpointNumber")
|
||||
restPost.entity = new StringEntity("<request$current/>", 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()
|
||||
}
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>http-mock-server</artifactId>
|
||||
<groupId>pl.touk.mockserver</groupId>
|
||||
<version>2.1.2-SNAPSHOT</version>
|
||||
<version>2.3.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -25,22 +25,22 @@
|
|||
<dependency>
|
||||
<groupId>org.openjdk.jmh</groupId>
|
||||
<artifactId>jmh-core</artifactId>
|
||||
<version>1.11.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openjdk.jmh</groupId>
|
||||
<artifactId>jmh-generator-annprocess</artifactId>
|
||||
<version>1.11.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<properties>
|
||||
<exec-maven-plugin.version>1.4.0</exec-maven-plugin.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<version>${exec-maven-plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>run-benchmarks</id>
|
||||
|
|
35
pom.xml
35
pom.xml
|
@ -33,6 +33,9 @@
|
|||
<lombok.version>1.16.6</lombok.version>
|
||||
|
||||
<autoVersionSubmodules>true</autoVersionSubmodules>
|
||||
<jmh.version>1.11.2</jmh.version>
|
||||
<maven-release-plugin.version>2.5.2</maven-release-plugin.version>
|
||||
<gmavenplus-plugin.version>1.4</gmavenplus-plugin.version>
|
||||
</properties>
|
||||
|
||||
<scm>
|
||||
|
@ -84,24 +87,36 @@
|
|||
<artifactId>mockserver-api</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openjdk.jmh</groupId>
|
||||
<artifactId>jmh-core</artifactId>
|
||||
<version>${jmh.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.openjdk.jmh</groupId>
|
||||
<artifactId>jmh-generator-annprocess</artifactId>
|
||||
<version>${jmh.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<defaultGoal>clean install</defaultGoal>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>2.3.2</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>${maven-compiler-plugin.version}</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.gmavenplus</groupId>
|
||||
<artifactId>gmavenplus-plugin</artifactId>
|
||||
<version>1.4</version>
|
||||
<version>${gmavenplus-plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
|
@ -114,7 +129,7 @@
|
|||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<version>2.5.2</version>
|
||||
<version>${maven-release-plugin.version}</version>
|
||||
<configuration>
|
||||
<autoversionsubmodules>true</autoversionsubmodules>
|
||||
</configuration>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue