Skip to content

Commit c39894a

Browse files
authored
Merge pull request #75 from EMResearch/drivers-suts-for-wm
Drivers for WM SUTs
2 parents 253ab38 + e650eaa commit c39894a

32 files changed

Lines changed: 3540 additions & 11 deletions

File tree

.gitignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ hs_err_pid*
2727
*.iml
2828

2929

30+
js_npm/evomaster-client-js
3031

3132
/temp/
3233
/dist.zip
@@ -260,6 +261,21 @@ dotnet_3/em/embedded/rest/ScsDriver/generated-tests/
260261
/jdk_17_gradle/cs/rest/bibliothek/build/
261262
/jdk_17_gradle/em/external/rest/bibliothek/build
262263
/jdk_17_maven/cs/grpc/signal-registration/target/
264+
jdk_11_maven/cs/rest/pay-publicapi/target/
265+
jdk_11_maven/em/embedded/rest/pay-publicapi/target/
266+
jdk_11_maven/em/external/rest/ind1/target/
267+
jdk_17_maven/cs/rest/signal-server/event-logger/target/
268+
jdk_17_maven/cs/rest/signal-server/websocket-resources/target/
269+
jdk_17_maven/cs/rest/signal-server/integration-tests/target/
270+
jdk_17_maven/cs/rest/signal-server/service/target/
271+
jdk_17_maven/cs/rest/signal-server/api-doc/target/
272+
jdk_17_maven/em/embedded/rest/signal-server/target/
273+
jdk_17_maven/cs/rest/familie-tilbake/target/
274+
jdk_17_maven/em/embedded/rest/familie-tilbake/target/
275+
jdk_17_maven/cs/rest/familie-ba-sak/target/
276+
jdk_17_maven/cs/rest/tiltaksgjennomforing-api/target/
277+
jdk_17_maven/em/embedded/rest/familie-ba-sak/target/
278+
263279
/jdk_8_maven/em/embedded/grpc/ncs/target/
264280
/jdk_8_maven/em/embedded/grpc/scs/target/
265281
/jdk_8_maven/em/external/grpc/ncs/target/

jdk_11_maven/cs/rest/pay-publicapi/pom.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,14 @@
351351
<version>2.3.1</version>
352352
<scope>compile</scope>
353353
</dependency>
354+
355+
<!-- Added to server swagger JSON as static file -->
356+
<dependency>
357+
<groupId>io.dropwizard</groupId>
358+
<artifactId>dropwizard-assets</artifactId>
359+
<version>2.0.25</version>
360+
<scope>compile</scope>
361+
</dependency>
354362
</dependencies>
355363

356364
<build>

jdk_11_maven/cs/rest/pay-publicapi/src/main/java/uk/gov/pay/api/app/PublicApi.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.google.inject.Guice;
44
import com.google.inject.Injector;
55
import io.dropwizard.Application;
6+
import io.dropwizard.assets.AssetsBundle;
67
import io.dropwizard.auth.AuthDynamicFeature;
78
import io.dropwizard.auth.AuthValueFactoryProvider;
89
import io.dropwizard.auth.CachingAuthenticator;
@@ -15,6 +16,8 @@
1516
import io.prometheus.client.CollectorRegistry;
1617
import io.prometheus.client.dropwizard.DropwizardExports;
1718
import io.prometheus.client.exporter.MetricsServlet;
19+
import org.eclipse.jetty.server.AbstractNetworkConnector;
20+
import org.eclipse.jetty.server.Server;
1821
import org.glassfish.jersey.CommonProperties;
1922
import org.slf4j.Logger;
2023
import org.slf4j.LoggerFactory;
@@ -78,11 +81,28 @@
7881
public class PublicApi extends Application<PublicApiConfig> {
7982

8083
private static final Logger logger = LoggerFactory.getLogger(PublicApi.class);
81-
84+
8285
private static final String SERVICE_METRICS_NODE = "publicapi";
8386

87+
/**
88+
* Added to check the status of the SUT, since there is no API
89+
* available to access this information.
90+
*/
91+
private Server jettyServer;
92+
93+
public int getJettyPort() {
94+
return ((AbstractNetworkConnector)jettyServer.getConnectors()[0]).getLocalPort();
95+
}
96+
97+
public Server getJettyServer() {
98+
return jettyServer;
99+
}
100+
84101
@Override
85102
public void initialize(Bootstrap<PublicApiConfig> bootstrap) {
103+
// Added to server Swagger JSON as static file
104+
bootstrap.addBundle(new AssetsBundle("/assets/", "/assets/"));
105+
86106
bootstrap.setConfigurationSourceProvider(
87107
new SubstitutingSourceProvider(
88108
bootstrap.getConfigurationSourceProvider(),
@@ -129,7 +149,7 @@ public void run(PublicApiConfig configuration, Environment environment) {
129149

130150
/*
131151
Turn off 'FilteringJacksonJaxbJsonProvider' which overrides dropwizard JacksonMessageBodyProvider.
132-
Fails on Integration tests if not disabled.
152+
Fails on Integration tests if not disabled.
133153
- https://github.com/dropwizard/dropwizard/issues/1341
134154
*/
135155
environment.jersey().property(CommonProperties.FEATURE_AUTO_DISCOVERY_DISABLE, Boolean.TRUE);
@@ -153,6 +173,8 @@ public void run(PublicApiConfig configuration, Environment environment) {
153173
environment.admin().addServlet("prometheusMetrics", new MetricsServlet(collectorRegistry)).addMapping("/metrics");
154174

155175
environment.lifecycle().manage(injector.getInstance(RedisClientManager.class));
176+
177+
environment.lifecycle().addServerLifecycleListener(server -> jettyServer = server);
156178
}
157179

158180
/**

0 commit comments

Comments
 (0)