Skip to content

Commit 8f1ff56

Browse files
authored
fixed remaining non-idempotent tests (#758)
1 parent 11ae0ea commit 8f1ff56

10 files changed

+104
-7
lines changed

docs-web/src/test/java/com/sismics/docs/rest/TestAppResource.java

+21-6
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ public class TestAppResource extends BaseJerseyTest {
3737
* Test the API resource.
3838
*/
3939

40+
// Record if config has been changed by previous test runs
4041
private static boolean configInboxChanged = false;
42+
private static boolean configSmtpChanged = false;
43+
private static boolean configLdapChanged = false;
4144

4245
@Test
4346
public void testAppResource() {
@@ -191,6 +194,12 @@ public void testGuestLogin() {
191194
target().path("/document/list").request()
192195
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, guestToken)
193196
.get(JsonObject.class);
197+
198+
// Disable guest login (clean up state)
199+
target().path("/app/guest_login").request()
200+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
201+
.post(Entity.form(new Form()
202+
.param("enabled", "false")), JsonObject.class);
194203
}
195204

196205
/**
@@ -205,11 +214,13 @@ public void testSmtpConfiguration() {
205214
JsonObject json = target().path("/app/config_smtp").request()
206215
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
207216
.get(JsonObject.class);
208-
Assert.assertTrue(json.isNull("hostname"));
209-
Assert.assertTrue(json.isNull("port"));
210-
Assert.assertTrue(json.isNull("username"));
211-
Assert.assertTrue(json.isNull("password"));
212-
Assert.assertTrue(json.isNull("from"));
217+
if (!configSmtpChanged) {
218+
Assert.assertTrue(json.isNull("hostname"));
219+
Assert.assertTrue(json.isNull("port"));
220+
Assert.assertTrue(json.isNull("username"));
221+
Assert.assertTrue(json.isNull("password"));
222+
Assert.assertTrue(json.isNull("from"));
223+
}
213224

214225
// Change SMTP configuration
215226
target().path("/app/config_smtp").request()
@@ -220,6 +231,7 @@ public void testSmtpConfiguration() {
220231
.param("username", "sismics")
221232
.param("from", "[email protected]")
222233
), JsonObject.class);
234+
configSmtpChanged = true;
223235

224236
// Get SMTP configuration
225237
json = target().path("/app/config_smtp").request()
@@ -389,7 +401,9 @@ public void testLdapAuthentication() throws Exception {
389401
JsonObject json = target().path("/app/config_ldap").request()
390402
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
391403
.get(JsonObject.class);
392-
Assert.assertFalse(json.getBoolean("enabled"));
404+
if (!configLdapChanged) {
405+
Assert.assertFalse(json.getBoolean("enabled"));
406+
}
393407

394408
// Change LDAP configuration
395409
target().path("/app/config_ldap").request()
@@ -406,6 +420,7 @@ public void testLdapAuthentication() throws Exception {
406420
.param("default_email", "[email protected]")
407421
.param("default_storage", "100000000")
408422
), JsonObject.class);
423+
configLdapChanged = true;
409424

410425
// Get the LDAP configuration
411426
json = target().path("/app/config_ldap").request()

docs-web/src/test/java/com/sismics/docs/rest/TestAuditLogResource.java

+6
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ public void testAuditLogResource() throws Exception {
118118
Assert.assertEquals(countByClass(logs, "Document"), 1);
119119
Assert.assertEquals(countByClass(logs, "Acl"), 2);
120120
Assert.assertEquals(countByClass(logs, "File"), 1);
121+
122+
// Delete auditlog1
123+
String adminToken = adminToken();
124+
target().path("/user/auditlog1").request()
125+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
126+
.delete();
121127
}
122128

123129
/**

docs-web/src/test/java/com/sismics/docs/rest/TestGroupResource.java

+20
Original file line numberDiff line numberDiff line change
@@ -188,5 +188,25 @@ public void testGroupResource() {
188188
Assert.assertEquals(2, groups.size());
189189
Assert.assertTrue(groupList.contains("g11"));
190190
Assert.assertTrue(groupList.contains("g112"));
191+
192+
// Delete all remaining groups and users
193+
target().path("/group/g11").request()
194+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
195+
.delete(JsonObject.class);
196+
target().path("/group/g12new").request()
197+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
198+
.delete(JsonObject.class);
199+
target().path("/group/g111").request()
200+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
201+
.delete(JsonObject.class);
202+
target().path("/group/g112").request()
203+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
204+
.delete(JsonObject.class);
205+
target().path("/user/group1").request()
206+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
207+
.delete();
208+
target().path("/user/admin2").request()
209+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
210+
.delete();
191211
}
192212
}

docs-web/src/test/java/com/sismics/docs/rest/TestRouteModelResource.java

+5
Original file line numberDiff line numberDiff line change
@@ -137,5 +137,10 @@ public void testRouteModelResource() {
137137
.get(JsonObject.class);
138138
routeModels = json.getJsonArray("routemodels");
139139
Assert.assertEquals(1, routeModels.size());
140+
141+
// Deletes routeModel1 user
142+
target().path("/user/routeModel1").request()
143+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
144+
.delete();
140145
}
141146
}

docs-web/src/test/java/com/sismics/docs/rest/TestSecurity.java

+12
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ public void testSecurity() {
7373

7474
// User testsecurity logs out
7575
clientUtil.logout(testSecurityToken);
76+
77+
// Delete the user
78+
String adminToken = adminToken();
79+
target().path("/user/testsecurity").request()
80+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
81+
.delete();
7682
}
7783

7884
@Test
@@ -98,5 +104,11 @@ public void testHeaderBasedAuthentication() {
98104
.header(HeaderBasedSecurityFilter.AUTHENTICATED_USER_HEADER, "idontexist")
99105
.get()
100106
.getStatus());
107+
108+
// Delete the user
109+
String adminToken = adminToken();
110+
target().path("/user/header_auth_test").request()
111+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
112+
.delete();
101113
}
102114
}

docs-web/src/test/java/com/sismics/docs/rest/TestShareResource.java

+9
Original file line numberDiff line numberDiff line change
@@ -127,5 +127,14 @@ public void testShareResource() throws Exception {
127127
Assert.assertEquals(Status.BAD_REQUEST, Status.fromStatusCode(response.getStatus()));
128128
json = response.readEntity(JsonObject.class);
129129
Assert.assertEquals("ShareNotFound", json.getString("type"));
130+
131+
// Deletes share1 and share 2
132+
String adminToken = adminToken();
133+
target().path("/user/share1").request()
134+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
135+
.delete();
136+
target().path("/user/share2").request()
137+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
138+
.delete();
130139
}
131140
}

docs-web/src/test/java/com/sismics/docs/rest/TestTagResource.java

+6
Original file line numberDiff line numberDiff line change
@@ -230,5 +230,11 @@ public void testTagResource() {
230230
Assert.assertEquals(1, tags.size());
231231
Assert.assertEquals("UpdatedName", tags.getJsonObject(0).getString("name"));
232232
Assert.assertNull(tags.getJsonObject(0).get("parent"));
233+
234+
// Deletes user tag1
235+
String adminToken = adminToken();
236+
target().path("/user/tag1").request()
237+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
238+
.delete();
233239
}
234240
}

docs-web/src/test/java/com/sismics/docs/rest/TestThemeResource.java

+8
Original file line numberDiff line numberDiff line change
@@ -103,5 +103,13 @@ public void testThemeResource() throws Exception {
103103
// Get the background
104104
response = target().path("/theme/image/background").request().get();
105105
Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
106+
107+
// Reset the main color as admin
108+
target().path("/theme").request()
109+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
110+
.post(Entity.form(new Form()
111+
.param("color", "#ffffff")
112+
.param("name", "Teedy")
113+
.param("css", "")), JsonObject.class);
106114
}
107115
}

docs-web/src/test/java/com/sismics/docs/rest/TestUserResource.java

+12-1
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,11 @@ public void testUserResource() {
230230
.param("username", "alice")
231231
.param("password", "12345678")));
232232
Assert.assertEquals(Status.FORBIDDEN, Status.fromStatusCode(response.getStatus()));
233+
234+
// Delete user bob
235+
target().path("/user").request()
236+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, bobToken)
237+
.delete();
233238
}
234239

235240
/**
@@ -416,7 +421,7 @@ public void testTotp() {
416421
response = target().path("/user/totp1").request()
417422
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
418423
.delete();
419-
Assert.assertEquals(200, response.getStatus());
424+
Assert.assertEquals(Response.Status.OK, Response.Status.fromStatusCode(response.getStatus()));
420425
}
421426

422427
@Test
@@ -489,5 +494,11 @@ public void testResetPassword() throws Exception {
489494
Assert.assertEquals(Response.Status.BAD_REQUEST, Response.Status.fromStatusCode(response.getStatus()));
490495
json = response.readEntity(JsonObject.class);
491496
Assert.assertEquals("KeyNotFound", json.getString("type"));
497+
498+
// Delete absent_minded
499+
response = target().path("/user/absent_minded").request()
500+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
501+
.delete();
502+
Assert.assertEquals(Response.Status.OK, Response.Status.fromStatusCode(response.getStatus()));
492503
}
493504
}

docs-web/src/test/java/com/sismics/docs/rest/TestWebhookResource.java

+5
Original file line numberDiff line numberDiff line change
@@ -84,5 +84,10 @@ public void testWebhookResource() {
8484
.get(JsonObject.class);
8585
webhooks = json.getJsonArray("webhooks");
8686
Assert.assertEquals(0, webhooks.size());
87+
88+
// Deletes webhook1
89+
target().path("/user/webhook1").request()
90+
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
91+
.delete();
8792
}
8893
}

0 commit comments

Comments
 (0)