Skip to content

Commit

Permalink
fixed remaining non-idempotent tests (#758)
Browse files Browse the repository at this point in the history
  • Loading branch information
kaiyaok2 committed Jun 3, 2024
1 parent 11ae0ea commit 8f1ff56
Show file tree
Hide file tree
Showing 10 changed files with 104 additions and 7 deletions.
27 changes: 21 additions & 6 deletions docs-web/src/test/java/com/sismics/docs/rest/TestAppResource.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ public class TestAppResource extends BaseJerseyTest {
* Test the API resource.
*/

// Record if config has been changed by previous test runs
private static boolean configInboxChanged = false;
private static boolean configSmtpChanged = false;
private static boolean configLdapChanged = false;

@Test
public void testAppResource() {
Expand Down Expand Up @@ -191,6 +194,12 @@ public void testGuestLogin() {
target().path("/document/list").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, guestToken)
.get(JsonObject.class);

// Disable guest login (clean up state)
target().path("/app/guest_login").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.post(Entity.form(new Form()
.param("enabled", "false")), JsonObject.class);
}

/**
Expand All @@ -205,11 +214,13 @@ public void testSmtpConfiguration() {
JsonObject json = target().path("/app/config_smtp").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.get(JsonObject.class);
Assert.assertTrue(json.isNull("hostname"));
Assert.assertTrue(json.isNull("port"));
Assert.assertTrue(json.isNull("username"));
Assert.assertTrue(json.isNull("password"));
Assert.assertTrue(json.isNull("from"));
if (!configSmtpChanged) {
Assert.assertTrue(json.isNull("hostname"));
Assert.assertTrue(json.isNull("port"));
Assert.assertTrue(json.isNull("username"));
Assert.assertTrue(json.isNull("password"));
Assert.assertTrue(json.isNull("from"));
}

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

// Get SMTP configuration
json = target().path("/app/config_smtp").request()
Expand Down Expand Up @@ -389,7 +401,9 @@ public void testLdapAuthentication() throws Exception {
JsonObject json = target().path("/app/config_ldap").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.get(JsonObject.class);
Assert.assertFalse(json.getBoolean("enabled"));
if (!configLdapChanged) {
Assert.assertFalse(json.getBoolean("enabled"));
}

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

// Get the LDAP configuration
json = target().path("/app/config_ldap").request()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,12 @@ public void testAuditLogResource() throws Exception {
Assert.assertEquals(countByClass(logs, "Document"), 1);
Assert.assertEquals(countByClass(logs, "Acl"), 2);
Assert.assertEquals(countByClass(logs, "File"), 1);

// Delete auditlog1
String adminToken = adminToken();
target().path("/user/auditlog1").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,5 +188,25 @@ public void testGroupResource() {
Assert.assertEquals(2, groups.size());
Assert.assertTrue(groupList.contains("g11"));
Assert.assertTrue(groupList.contains("g112"));

// Delete all remaining groups and users
target().path("/group/g11").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete(JsonObject.class);
target().path("/group/g12new").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete(JsonObject.class);
target().path("/group/g111").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete(JsonObject.class);
target().path("/group/g112").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete(JsonObject.class);
target().path("/user/group1").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
target().path("/user/admin2").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -137,5 +137,10 @@ public void testRouteModelResource() {
.get(JsonObject.class);
routeModels = json.getJsonArray("routemodels");
Assert.assertEquals(1, routeModels.size());

// Deletes routeModel1 user
target().path("/user/routeModel1").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
}
}
12 changes: 12 additions & 0 deletions docs-web/src/test/java/com/sismics/docs/rest/TestSecurity.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,12 @@ public void testSecurity() {

// User testsecurity logs out
clientUtil.logout(testSecurityToken);

// Delete the user
String adminToken = adminToken();
target().path("/user/testsecurity").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
}

@Test
Expand All @@ -98,5 +104,11 @@ public void testHeaderBasedAuthentication() {
.header(HeaderBasedSecurityFilter.AUTHENTICATED_USER_HEADER, "idontexist")
.get()
.getStatus());

// Delete the user
String adminToken = adminToken();
target().path("/user/header_auth_test").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -127,5 +127,14 @@ public void testShareResource() throws Exception {
Assert.assertEquals(Status.BAD_REQUEST, Status.fromStatusCode(response.getStatus()));
json = response.readEntity(JsonObject.class);
Assert.assertEquals("ShareNotFound", json.getString("type"));

// Deletes share1 and share 2
String adminToken = adminToken();
target().path("/user/share1").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
target().path("/user/share2").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -230,5 +230,11 @@ public void testTagResource() {
Assert.assertEquals(1, tags.size());
Assert.assertEquals("UpdatedName", tags.getJsonObject(0).getString("name"));
Assert.assertNull(tags.getJsonObject(0).get("parent"));

// Deletes user tag1
String adminToken = adminToken();
target().path("/user/tag1").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -103,5 +103,13 @@ public void testThemeResource() throws Exception {
// Get the background
response = target().path("/theme/image/background").request().get();
Assert.assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());

// Reset the main color as admin
target().path("/theme").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.post(Entity.form(new Form()
.param("color", "#ffffff")
.param("name", "Teedy")
.param("css", "")), JsonObject.class);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,11 @@ public void testUserResource() {
.param("username", "alice")
.param("password", "12345678")));
Assert.assertEquals(Status.FORBIDDEN, Status.fromStatusCode(response.getStatus()));

// Delete user bob
target().path("/user").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, bobToken)
.delete();
}

/**
Expand Down Expand Up @@ -416,7 +421,7 @@ public void testTotp() {
response = target().path("/user/totp1").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
Assert.assertEquals(200, response.getStatus());
Assert.assertEquals(Response.Status.OK, Response.Status.fromStatusCode(response.getStatus()));
}

@Test
Expand Down Expand Up @@ -489,5 +494,11 @@ public void testResetPassword() throws Exception {
Assert.assertEquals(Response.Status.BAD_REQUEST, Response.Status.fromStatusCode(response.getStatus()));
json = response.readEntity(JsonObject.class);
Assert.assertEquals("KeyNotFound", json.getString("type"));

// Delete absent_minded
response = target().path("/user/absent_minded").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
Assert.assertEquals(Response.Status.OK, Response.Status.fromStatusCode(response.getStatus()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -84,5 +84,10 @@ public void testWebhookResource() {
.get(JsonObject.class);
webhooks = json.getJsonArray("webhooks");
Assert.assertEquals(0, webhooks.size());

// Deletes webhook1
target().path("/user/webhook1").request()
.cookie(TokenBasedSecurityFilter.COOKIE_NAME, adminToken)
.delete();
}
}

0 comments on commit 8f1ff56

Please sign in to comment.