Skip to content

Commit 8b7c251

Browse files
committed
embedded driver
1 parent e4c87e2 commit 8b7c251

File tree

5 files changed

+156
-3
lines changed

5 files changed

+156
-3
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<parent>
7+
<groupId>org.evomaster</groupId>
8+
<artifactId>evomaster-benchmark-jdk17-em-embedded-rest</artifactId>
9+
<version>3.4.1-SNAPSHOT</version>
10+
</parent>
11+
12+
<artifactId>evomaster-benchmark-jdk17-em-embedded-rest-ohsome-api</artifactId>
13+
<packaging>jar</packaging>
14+
15+
<dependencyManagement>
16+
<dependencies>
17+
<dependency>
18+
<groupId>org.springframework.boot</groupId>
19+
<artifactId>spring-boot-dependencies</artifactId>
20+
<version>2.5.14</version>
21+
<type>pom</type>
22+
<scope>import</scope>
23+
</dependency>
24+
</dependencies>
25+
</dependencyManagement>
26+
27+
<dependencies>
28+
<dependency>
29+
<groupId>org.heigit.ohsome</groupId>
30+
<artifactId>ohsome-api</artifactId>
31+
<version>1.11.0-SNAPSHOT</version>
32+
</dependency>
33+
<dependency>
34+
<groupId>org.testcontainers</groupId>
35+
<artifactId>testcontainers</artifactId>
36+
<version>1.19.1</version>
37+
<scope>compile</scope>
38+
</dependency>
39+
<dependency>
40+
<groupId>org.springframework</groupId>
41+
<artifactId>spring-context</artifactId>
42+
</dependency>
43+
</dependencies>
44+
45+
</project>
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
package em.embedded.ohsome;
2+
3+
import org.evomaster.client.java.controller.EmbeddedSutController;
4+
import org.evomaster.client.java.controller.InstrumentedSutStarter;
5+
import org.evomaster.client.java.controller.api.dto.SutInfoDto;
6+
import org.evomaster.client.java.controller.api.dto.auth.AuthenticationDto;
7+
import org.evomaster.client.java.controller.problem.ProblemInfo;
8+
import org.evomaster.client.java.controller.problem.RestProblem;
9+
import org.evomaster.client.java.sql.DbSpecification;
10+
import org.heigit.ohsome.ohsomeapi.Application;
11+
import org.springframework.boot.ApplicationRunner;
12+
import org.springframework.boot.SpringApplication;
13+
import org.springframework.context.ConfigurableApplicationContext;
14+
import java.util.*;
15+
16+
public class EmbeddedEvoMasterController extends EmbeddedSutController {
17+
18+
private ConfigurableApplicationContext ctx;
19+
20+
public EmbeddedEvoMasterController() {
21+
this(40100);
22+
}
23+
24+
public EmbeddedEvoMasterController(int port) {
25+
setControllerPort(port);
26+
}
27+
28+
public static void main(String[] args) {
29+
int port = 40100;
30+
if (args.length > 0) {
31+
port = Integer.parseInt(args[0]);
32+
}
33+
34+
EmbeddedEvoMasterController controller = new EmbeddedEvoMasterController(port);
35+
InstrumentedSutStarter starter = new InstrumentedSutStarter(controller);
36+
37+
starter.start();
38+
}
39+
40+
@Override
41+
public boolean isSutRunning() {
42+
return ctx!=null && ctx.isRunning();
43+
}
44+
45+
@Override
46+
public String getPackagePrefixesToCover() {
47+
return "org.heigit.ohsome.ohsomeapi.";
48+
}
49+
50+
@Override
51+
public List<AuthenticationDto> getInfoForAuthentication() {
52+
return null;
53+
}
54+
55+
@Override
56+
public ProblemInfo getProblemInfo() {
57+
return new RestProblem(
58+
"http://localhost:" + getSutPort() + "/docs?group=Data%20Aggregation",
59+
null
60+
);
61+
}
62+
63+
@Override
64+
public SutInfoDto.OutputFormat getPreferredOutputFormat() {
65+
return SutInfoDto.OutputFormat.JAVA_JUNIT_5;
66+
}
67+
68+
@Override
69+
public String startSut() {
70+
Application application = new Application();
71+
72+
application.main(new String[]{
73+
"--server.port=0",
74+
"--spring.profiles.active=dev",
75+
"--management.server.port=-1",
76+
"--logging.level.org.springframework=INFO",
77+
"--logging.level.root=OFF",
78+
"--database.db=em/external/rest/ohsome-api/src/main/resources/heidelberg.mv.db",
79+
});
80+
81+
ctx = (ConfigurableApplicationContext) application.getApplicationContext();
82+
return "http://localhost:" + getSutPort();
83+
}
84+
85+
protected int getSutPort() {
86+
return (Integer) ((Map) ctx.getEnvironment()
87+
.getPropertySources().get("server.ports").getSource())
88+
.get("local.server.port");
89+
}
90+
91+
@Override
92+
public void stopSut() {
93+
if(ctx!=null) ctx.stop();
94+
}
95+
96+
@Override
97+
public void resetStateOfSUT() {
98+
}
99+
100+
@Override
101+
public List<DbSpecification> getDbSpecifications() {
102+
return null;
103+
}
104+
}

jdk_17_maven/em/embedded/rest/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<modules>
1515
<module>familie-ba-sak</module>
1616
<module>tiltaksgjennomforing-api</module>
17+
<module>ohsome-api</module>
1718

1819

1920
<!-- <module>signal-server</module>-->

scripts/dist.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,8 @@ def build_jdk_17_maven():
254254
copy(folder + "/cs/rest/tiltaksgjennomforing-api/target/tiltaksgjennomforing-api-sut.jar", DIST)
255255
copy(folder + "/em/external/rest/tiltaksgjennomforing-api/target/tiltaksgjennomforing-api-evomaster-runner.jar", DIST)
256256

257+
copy(folder + "/cs/rest/ohsome-api/target/ohsome-api-sut.jar", DIST)
258+
copy(folder + "/em/external/rest/ohsome-api/target/ohsome-api-evomaster-runner.jar", DIST)
257259

258260
####################
259261
def build_jdk_21_maven():

statistics/table_emb.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@
55
|__petclinic-graphql__|GraphQL|5212|89|15|Java|JDK 8|Maven|PostgreSQL||
66
|__graphql-scs__|GraphQL|577|13|11|Kotlin|JDK 8|Maven|||
77
|__graphql-ncs__|GraphQL|548|8|6|Kotlin|JDK 8|Maven|||
8-
|__signal-registration__|gRPC|13652|177|5|Java|JDK 17|Maven|||
9-
|__grpc-scs__|gRPC|894|14|11|Java|JDK 8|Maven|||
10-
|__grpc-ncs__|gRPC|638|9|6|Java|JDK 8|Maven|||
118
|__languagetool__|REST|174781|1385|2|Java|JDK 8|Maven|||
129
|__ocvn__|REST|45521|526|258|Java|JDK 8|Maven|H2, MongoDB|&check;|
1310
|__pay-publicapi__|REST|34576|377|10|Java|JDK 11|Maven|Redis|&check;|
1411
|__genome-nexus__|REST|30004|405|23|Java|JDK 8|Maven|MongoDB||
1512
|__tiltaksgjennomforing-api__|REST|27316|472|79|Java|JDK 17|Maven|PostgreSQL|&check;|
13+
|__ohsome-api__|REST|14166|87|134|Java|JDK 17|Maven|OSHDB||
1614
|__market__|REST|9861|124|13|Java|JDK 11|Maven|H2|&check;|
1715
|__scout-api__|REST|9736|93|49|Java|JDK 8|Maven|H2|&check;|
1816
|__catwatch__|REST|9636|106|14|Java|JDK 8|Maven|H2||
@@ -35,3 +33,6 @@
3533
|__rest-news__|REST|857|11|7|Kotlin|JDK 8|Maven|H2||
3634
|__thrift-scs__|Thrift|772|14|11|Java|JDK 8|Maven|||
3735
|__thrift-ncs__|Thrift|585|9|6|Java|JDK 8|Maven|||
36+
|__signal-registration__|gRPC|13652|177|5|Java|JDK 17|Maven|||
37+
|__grpc-scs__|gRPC|894|14|11|Java|JDK 8|Maven|||
38+
|__grpc-ncs__|gRPC|638|9|6|Java|JDK 8|Maven|||

0 commit comments

Comments
 (0)