Skip to content

Commit dd92e3d

Browse files
committed
Changed Docker-Compose version to 2.3 to run tests in order to limit memory usage per service.
Added a waiting line for trim-cmd, trip-query and gmaps-adapter
1 parent d221cd3 commit dd92e3d

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

src/test/java/aist/edge/edgeservice/EdgeServiceIntegrationTests.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,15 @@ public class EdgeServiceIntegrationTests {
3939
@ClassRule
4040
public static DockerComposeRule docker = DockerComposeRule.builder().pullOnStartup(true)
4141
.file("src/test/resources/docker-compose.yml")
42-
.waitingForService("userservice", HealthChecks.toHaveAllPortsOpen())
42+
.waitingForService("discoveryservice", HealthChecks.toHaveAllPortsOpen())
43+
.waitingForService("mysqlserver", HealthChecks.toHaveAllPortsOpen())
4344
.waitingForService("mongo", HealthChecks.toHaveAllPortsOpen())
4445
.waitingForService("rabbitmq", HealthChecks.toHaveAllPortsOpen())
46+
.waitingForService("userservice", HealthChecks.toHaveAllPortsOpen())
4547
.waitingForService("tripmanagementcmd", HealthChecks.toHaveAllPortsOpen())
4648
.waitingForService("tripmanagementquery", HealthChecks.toHaveAllPortsOpen())
4749
.waitingForService("gmapsadapter", HealthChecks.toHaveAllPortsOpen())
4850
.waitingForService("calculationservice", HealthChecks.toHaveAllPortsOpen())
49-
.waitingForService("discoveryservice", HealthChecks.toHaveAllPortsOpen())
50-
.waitingForService("discoveryservice", HealthChecks.toRespondOverHttp(8761,
51-
(port) -> port.inFormat("http://localhost:8761")))
5251
.build();
5352

5453
//Get IP addresses and ports to run tests on
@@ -59,18 +58,30 @@ public static void initialize() {
5958
.port(8080);
6059
tripCommandURL = String.format("http://%s:%s", tripManagementCommand.getIp(),
6160
tripManagementCommand.getExternalPort());
61+
while (!docker.containers().container("tripmanagementcmd").portIsListeningOnHttp(8080,
62+
(port) -> port.inFormat(tripCommandURL)).succeeded()) {
63+
LOG.info("Waiting for Trip Command to respond over HTTP");
64+
}
6265
LOG.info("Trip Command url found: " + tripCommandURL);
6366

6467
DockerPort tripManagementQuery = docker.containers().container("tripmanagementquery")
6568
.port(8080);
6669
tripQueryURL = String.format("http://%s:%s", tripManagementQuery.getIp(),
6770
tripManagementQuery.getExternalPort());
71+
while (!docker.containers().container("tripmanagementquery").portIsListeningOnHttp(8080,
72+
(port) -> port.inFormat(tripQueryURL)).succeeded()) {
73+
LOG.info("Waiting for Trip Query to respond over HTTP");
74+
}
6875
LOG.info("Trip Query url found: " + tripQueryURL);
6976

7077
DockerPort gmapsAdapter = docker.containers().container("gmapsadapter")
7178
.port(8080);
7279
gmapsAdapterURL = String.format("http://%s:%s", gmapsAdapter.getIp(),
7380
gmapsAdapter.getExternalPort());
81+
while (!docker.containers().container("gmapsadapter").portIsListeningOnHttp(8080,
82+
(port) -> port.inFormat(gmapsAdapterURL)).succeeded()) {
83+
LOG.info("Waiting for user service to respond over HTTP");
84+
}
7485
LOG.info("Gmaps Adapter url found: " + gmapsAdapterURL);
7586

7687
DockerPort calculationService = docker.containers().container("calculationservice")

src/test/resources/docker-compose.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
version: '3'
1+
version: '2.3'
22

33
services:
44

55
discoveryservice:
66
image: aista/eureka
7+
mem_limit: 512M
78
ports:
89
- "8761:8761"
910

1011
mysqlserver:
1112
image: mysql:5.7
13+
mem_limit: 512M
1214
volumes:
1315
- mysql-data:/var/lib/mysql:rw
1416
restart: always
@@ -23,15 +25,19 @@ services:
2325

2426
userservice:
2527
image: aista/user-service
28+
mem_limit: 512M
2629
container_name: userservice
2730
depends_on:
2831
- discoveryservice
2932
- mysqlserver
3033
ports:
3134
- '8080'
35+
environment:
36+
- JAVA_OPTS=-Xms64m -Xmx128m -XX:+UseG1GC
3237

3338
mongo:
3439
image: 'mongo:3.4.1'
40+
mem_limit: 512M
3541
container_name: 'mongo'
3642
ports:
3743
- '27017:27017'
@@ -40,13 +46,15 @@ services:
4046

4147
rabbitmq:
4248
image: rabbitmq:management
49+
mem_limit: 512M
4350
container_name: 'rabbitmq'
4451
ports:
4552
- "5672:5672"
4653
- "15672:15672"
4754

4855
tripmanagementcmd:
4956
image: aista/trip-management-cmd
57+
mem_limit: 512M
5058
environment:
5159
- RABBIT_HOST=rabbitmq
5260
- MONGO_HOST=mongo
@@ -56,9 +64,12 @@ services:
5664
- discoveryservice
5765
- rabbitmq
5866
- mongo
67+
environment:
68+
- JAVA_OPTS=-Xms64m -Xmx128m -XX:+UseG1GC
5969

6070
tripmanagementquery:
6171
image: aista/trip-management-query
72+
mem_limit: 512M
6273
environment:
6374
- RABBIT_HOST=rabbitmq
6475
- MONGO_HOST=mongo
@@ -68,20 +79,28 @@ services:
6879
- rabbitmq
6980
- mongo
7081
- discoveryservice
82+
environment:
83+
- JAVA_OPTS=-Xms64m -Xmx128m -XX:+UseG1GC
7184

7285
gmapsadapter:
7386
image: aista/gmaps-adapter
87+
mem_limit: 512M
7488
environment:
7589
- EUREKA_SERVER=discoveryservice
90+
- RABBIT_HOST=rabbitmq
7691
ports:
7792
- '8080'
7893
depends_on:
7994
- discoveryservice
95+
environment:
96+
- JAVA_OPTS=-Xms64m -Xmx128m -XX:+UseG1GC
8097

8198
calculationservice:
8299
image: aista/calculation-service
100+
mem_limit: 512M
83101
environment:
84102
- EUREKA_SERVER=discoveryservice
103+
- RABBIT_HOST=rabbitmq
85104
command: ["go", "run", "main.go"]
86105
ports:
87106
- '8080'

0 commit comments

Comments
 (0)