Skip to content

Commit 89d448b

Browse files
committed
fixing mongo driver... needs cleanup
1 parent 605bfcd commit 89d448b

1 file changed

Lines changed: 58 additions & 25 deletions

File tree

jdk_11_gradle/em/embedded/rest/reservations-api/src/main/java/em/embedded/reservationsapi/EmbeddedEvoMasterController.java

Lines changed: 58 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
import com.mongodb.client.MongoCollection;
66
import org.bson.Document;
77
import org.bson.types.ObjectId;
8+
import org.evomaster.client.java.controller.AuthUtils;
89
import org.evomaster.client.java.controller.EmbeddedSutController;
910
import org.evomaster.client.java.controller.InstrumentedSutStarter;
1011
import org.evomaster.client.java.controller.api.dto.AuthenticationDto;
12+
import org.evomaster.client.java.controller.api.dto.JsonTokenPostLoginDto;
1113
import org.evomaster.client.java.controller.api.dto.SutInfoDto;
1214
import org.evomaster.client.java.sql.DbSpecification;
1315
import org.evomaster.client.java.controller.problem.ProblemInfo;
@@ -17,6 +19,7 @@
1719
import org.testcontainers.containers.GenericContainer;
1820
import sk.cyrilgavala.reservationsApi.ReservationsApi;
1921

22+
import java.util.Arrays;
2023
import java.util.Collections;
2124
import java.util.List;
2225
import java.util.Map;
@@ -48,12 +51,22 @@ public static void main(String[] args) {
4851
//https://www.mongodb.com/docs/drivers/java/sync/current/compatibility/
4952
private static final String MONGODB_VERSION = "4.4";
5053

51-
private static final String MONGODB_DATABASE_NAME = "Reservations";
54+
private static final String MONGODB_DATABASE_NAME = "reservations-api";
5255

53-
private static final GenericContainer mongodbContainer = new GenericContainer("mongo:" + MONGODB_VERSION)
54-
.withTmpFs(Collections.singletonMap("/data/db", "rw"))
56+
// docker run -p 27017:27017 -e MONGODB_REPLICA_SET_MODE=primary -e ALLOW_EMPTY_PASSWORD=yes bitnami/mongodb:4.4
57+
// /bitnami/mongodb
58+
// https://hub.docker.com/r/bitnami/mongodb
59+
60+
private static final GenericContainer mongodbContainer = new GenericContainer("bitnami/mongodb:" + MONGODB_VERSION)
61+
.withTmpFs(Collections.singletonMap("/bitnami/mongodb", "rw"))
62+
.withEnv("MONGODB_REPLICA_SET_MODE","primary")
63+
.withEnv("ALLOW_EMPTY_PASSWORD","yes")
5564
.withExposedPorts(MONGODB_PORT);
5665

66+
// private static final GenericContainer mongodbContainer = new GenericContainer("mongo:" + MONGODB_VERSION)
67+
// .withTmpFs(Collections.singletonMap("/data/db", "rw"))
68+
// .withExposedPorts(MONGODB_PORT);
69+
5770
private String mongoDbUrl;
5871

5972
private MongoClient mongoClient;
@@ -81,7 +94,8 @@ public String startSut() {
8194
new String[]{"--server.port=0",
8295
"--databaseUrl="+mongoDbUrl,
8396
"--spring.data.mongodb.uri="+mongoDbUrl,
84-
"--spring.cache.type=NONE"
97+
"--spring.cache.type=NONE",
98+
"--app.jwt.secret=abcdef012345678901234567890123456789abcdef012345678901234567890123456789"
8599
});
86100

87101
return "http://localhost:" + getSutPort();
@@ -116,31 +130,39 @@ public String getPackagePrefixesToCover() {
116130
public void resetStateOfSUT() {
117131
mongoClient.getDatabase(MONGODB_DATABASE_NAME).drop();
118132

119-
// docker run -p 27017:27017 -e MONGODB_REPLICA_SET_MODE=primary -e ALLOW_EMPTY_PASSWORD=yes bitnami/mongodb:4.4
120-
// /bitnami/mongodb
121-
// https://hub.docker.com/r/bitnami/mongodb
133+
122134

123135
// "bar123"
136+
// YmFyMTIz
124137
// $2a$10$b/SjlT3jexPDGci3EtmzpOnYwmjXrtzCQq5dn8rbMCgz7UZ/saylm
125138
mongoClient.getDatabase(MONGODB_DATABASE_NAME).createCollection("users");
126139

127140
MongoCollection<Document> users = mongoClient.getDatabase(MONGODB_DATABASE_NAME).getCollection("users");
128-
users.insertOne(new Document()
129-
.append("_id", new ObjectId())
130-
.append("_class", "sk.cyrilgavala.reservationsApi.model.User")
131-
.append("username", "foo")
132-
.append("email", "foo@foo.com")
133-
.append("password", "$2a$10$b/SjlT3jexPDGci3EtmzpOnYwmjXrtzCQq5dn8rbMCgz7UZ/saylm")
134-
.append("role", "USER")
135-
);
136-
users.insertOne(new Document()
137-
.append("_id", new ObjectId())
138-
.append("_class", "sk.cyrilgavala.reservationsApi.model.User")
139-
.append("username", "admin")
140-
.append("email", "admin@foo.com")
141-
.append("password", "$2a$10$b/SjlT3jexPDGci3EtmzpOnYwmjXrtzCQq5dn8rbMCgz7UZ/saylm")
142-
.append("role", "ADMIN")
143-
);
141+
users.insertMany(Arrays.asList(
142+
new Document()
143+
.append("_id", new ObjectId())
144+
.append("_class", "sk.cyrilgavala.reservationsApi.model.User")
145+
.append("username", "foo")
146+
.append("email", "foo@foo.com")
147+
.append("password", "$2a$10$b/SjlT3jexPDGci3EtmzpOnYwmjXrtzCQq5dn8rbMCgz7UZ/saylm")
148+
.append("role", "USER"),
149+
new Document()
150+
.append("_id", new ObjectId())
151+
.append("_class", "sk.cyrilgavala.reservationsApi.model.User")
152+
.append("username", "bar")
153+
.append("email", "bar@foo.com")
154+
.append("password", "$2a$10$b/SjlT3jexPDGci3EtmzpOnYwmjXrtzCQq5dn8rbMCgz7UZ/saylm")
155+
.append("role", "USER"),
156+
new Document()
157+
.append("_id", new ObjectId())
158+
.append("_class", "sk.cyrilgavala.reservationsApi.model.User")
159+
.append("username", "admin")
160+
.append("email", "admin@foo.com")
161+
.append("password","$2a$10$nEDY5j731yXGnQHyM39PWurJWr1FukegmKYYarK5WOoAMmgDs6D3u")
162+
//.append("password", "$2a$10$b/SjlT3jexPDGci3EtmzpOnYwmjXrtzCQq5dn8rbMCgz7UZ/saylm")
163+
.append("role", "ADMIN")
164+
));
165+
144166

145167
}
146168

@@ -152,8 +174,19 @@ public List<DbSpecification> getDbSpecifications() {
152174

153175
@Override
154176
public List<AuthenticationDto> getInfoForAuthentication() {
155-
//TODO might need to setup JWT headers here
156-
return null;
177+
178+
return Arrays.asList(
179+
new AuthenticationDto() {{
180+
name = "admin";
181+
jsonTokenPostLogin = new JsonTokenPostLoginDto(){{
182+
userId = "admin";
183+
endpoint ="/api/user/login";
184+
jsonPayload = "{\"username\":\"admin\", \"password\":\"bar123\"}";
185+
extractTokenField ="/accessToken";
186+
headerPrefix = "Bearer ";
187+
}};
188+
}}
189+
);
157190
}
158191

159192

0 commit comments

Comments
 (0)