Add logger configuration

Change-Id: I8a7c4ac0e09eb114845547202aa27792741cf549
This commit is contained in:
Dominik Adam Przybysz 2015-12-16 20:30:49 +01:00 committed by Dominik Przybysz
parent bfc547721e
commit 951a0f1b56
3 changed files with 30 additions and 74 deletions

View file

@ -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()
}
}

View file

@ -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>

21
pom.xml
View file

@ -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,6 +87,18 @@
<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>
@ -92,7 +107,7 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
@ -101,7 +116,7 @@
<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>