Skip to content

Commit 48d391d

Browse files
committed
Add more unit tests
1 parent af7dbc7 commit 48d391d

2 files changed

Lines changed: 82 additions & 1 deletion

File tree

src/test/java/com/uid2/admin/managers/KeysetManagerTest.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,54 @@ public void testCreateKeysetForClient() throws Exception {
174174
assertEquals(7, keysets.keySet().size());
175175
}
176176

177+
@Test
178+
public void createAndAddKeyset_nullAllowedSites_storesEmptySetNotNullAndAddsDspWhenTypesNull() throws Exception {
179+
setKeysets(new HashMap<>());
180+
KeysetManager keysetManager = new KeysetManager(keysetProvider, keysetStoreWriter, keysetKeyManager, true);
181+
182+
AdminKeyset created = keysetManager.createAndAddKeyset(42, null, null);
183+
184+
assertNotNull(created.getAllowedSites());
185+
assertTrue(created.getAllowedSites().isEmpty());
186+
assertEquals(Set.of(ClientType.DSP), created.getAllowedTypes());
187+
}
188+
189+
@Test
190+
public void createAndAddKeyset_nullAllowedSites_preservesOtherTypesAndAddsDsp() throws Exception {
191+
setKeysets(new HashMap<>());
192+
KeysetManager keysetManager = new KeysetManager(keysetProvider, keysetStoreWriter, keysetKeyManager, true);
193+
194+
AdminKeyset created = keysetManager.createAndAddKeyset(42, null, new HashSet<>(Set.of(ClientType.ADVERTISER)));
195+
196+
assertNotNull(created.getAllowedSites());
197+
assertTrue(created.getAllowedSites().isEmpty());
198+
assertTrue(created.getAllowedTypes().contains(ClientType.DSP));
199+
assertTrue(created.getAllowedTypes().contains(ClientType.ADVERTISER));
200+
}
201+
202+
@Test
203+
public void createKeysetForSite_newKeyset_hasNonNullEmptyAllowedSitesAndDspType() throws Exception {
204+
setKeysets(new HashMap<>());
205+
KeysetManager keysetManager = new KeysetManager(keysetProvider, keysetStoreWriter, keysetKeyManager, true);
206+
207+
AdminKeyset created = keysetManager.createKeysetForSite(99);
208+
209+
assertNotNull(created.getAllowedSites());
210+
assertTrue(created.getAllowedSites().isEmpty());
211+
assertTrue(created.getAllowedTypes().contains(ClientType.DSP));
212+
}
213+
214+
@Test
215+
public void createKeysetForSite_newKeyset_hasEmptyAllowedSitesAndNullType() throws Exception {
216+
setKeysets(new HashMap<>());
217+
KeysetManager keysetManager = new KeysetManager(keysetProvider, keysetStoreWriter, keysetKeyManager, true);
218+
219+
AdminKeyset created = keysetManager.createAndAddKeyset(42, new HashSet<>(), null);
220+
221+
assertNotNull(created.getAllowedSites());
222+
assertTrue(created.getAllowedSites().isEmpty());
223+
assertNull(created.getAllowedTypes());
224+
}
177225

178226
@Test
179227
public void testLookUpKeyset() {

src/test/java/com/uid2/admin/vertx/SharingServiceTest.java

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ private void compareKeysetTypeListToResult(AdminKeyset keyset, JsonArray actualL
5151
.collect(Collectors.toSet());
5252
assertEquals(keyset.getAllowedTypes(), actualSet);
5353
}
54-
54+
5555
private void mockSiteExistence(Integer... sites){
5656
for(Integer site : sites) {
5757
doReturn(new Site(site, "test-name", true, null)).when(siteProvider).getSite(site);
@@ -249,6 +249,37 @@ void listSiteSetNew(Vertx vertx, VertxTestContext testContext) {
249249
});
250250
}
251251

252+
@Test
253+
void listSiteSetNewOmittedAllowedSites_emptyAllowedSitesNotNullWithDsp(Vertx vertx, VertxTestContext testContext) {
254+
fakeAuth(Role.SHARING_PORTAL);
255+
256+
Map<Integer, AdminKeyset> keysets = new HashMap<Integer, AdminKeyset>() {{
257+
put(3, new AdminKeyset(3, 5, "test", Set.of(4, 6, 7), Instant.now().getEpochSecond(), true, true, new HashSet<>()));
258+
put(4, new AdminKeyset(4, 7, "test", Set.of(12), Instant.now().getEpochSecond(), true, true, new HashSet<>()));
259+
put(5, new AdminKeyset(5, 4, "test", Set.of(5), Instant.now().getEpochSecond(), true, true, new HashSet<>()));
260+
}};
261+
262+
setAdminKeysets(keysets);
263+
mockSiteExistence(5, 7, 4, 8);
264+
265+
String body = " {\n" +
266+
" \"hash\": 0\n" +
267+
" }";
268+
269+
post(vertx, testContext, "api/sharing/list/8", body, response -> {
270+
assertEquals(200, response.statusCode());
271+
272+
AdminKeyset expected = new AdminKeyset(6, 8, "", Set.of(), Instant.now().getEpochSecond(), true, true, Set.of(ClientType.DSP));
273+
compareKeysetListToResult(expected, response.bodyAsJsonObject().getJsonArray("allowed_sites"));
274+
compareKeysetTypeListToResult(expected, response.bodyAsJsonObject().getJsonArray("allowed_types"));
275+
assertEquals(expected.getAllowedSites(), keysets.get(6).getAllowedSites());
276+
assertEquals(expected.getAllowedTypes(), keysets.get(6).getAllowedTypes());
277+
278+
verify(keysetKeyManager).addKeysetKey(6);
279+
testContext.completeNow();
280+
});
281+
}
282+
252283
@Test
253284
void listSiteSetNewWithType(Vertx vertx, VertxTestContext testContext) {
254285
fakeAuth(Role.SHARING_PORTAL);
@@ -1196,6 +1227,7 @@ void KeysetSetUpdateNullAllowedSites(Vertx vertx, VertxTestContext testContext)
11961227
compareKeysetListToResult(expected, response.bodyAsJsonObject().getJsonArray("allowed_sites"));
11971228
compareKeysetTypeListToResult(expected, response.bodyAsJsonObject().getJsonArray("allowed_types"));
11981229
assertEquals(expected.getAllowedSites(), keysets.get(1).getAllowedSites());
1230+
assertEquals(expected.getAllowedTypes(), keysets.get(1).getAllowedTypes());
11991231

12001232
testContext.completeNow();
12011233
});
@@ -1225,6 +1257,7 @@ void KeysetSetUpdateExplicitlyNullAllowedSites(Vertx vertx, VertxTestContext tes
12251257
compareKeysetListToResult(expected, response.bodyAsJsonObject().getJsonArray("allowed_sites"));
12261258
compareKeysetTypeListToResult(expected, response.bodyAsJsonObject().getJsonArray("allowed_types"));
12271259
assertEquals(expected.getAllowedSites(), keysets.get(1).getAllowedSites());
1260+
assertEquals(expected.getAllowedTypes(), keysets.get(1).getAllowedTypes());
12281261

12291262
testContext.completeNow();
12301263
});

0 commit comments

Comments
 (0)