Skip to content
Snippets Groups Projects
Commit 5bdd3119 authored by felmer's avatar felmer
Browse files

SSDM-5724: making SearchRoleAssignmentsTest more robust

SVN: 38945
parent 902e8e70
No related branches found
No related tags found
No related merge requests found
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package ch.ethz.sis.openbis.systemtest.asapi.v3; package ch.ethz.sis.openbis.systemtest.asapi.v3;
import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
...@@ -54,37 +55,9 @@ public class SearchRoleAssignmentsTest extends AbstractTest ...@@ -54,37 +55,9 @@ public class SearchRoleAssignmentsTest extends AbstractTest
List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects(); List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects();
// Then // Then
assertRoleAssignments(assignments, "ADMIN INSTANCE for user instance_admin\n" assertMinimumNumbersOfRoleAssignments(assignments, 29);
+ "ADMIN INSTANCE for user test\n"
+ "ADMIN PROJECT[/TEST-SPACE/PROJECT-TO-DELETE] for user test_project_pa_off\n"
+ "ADMIN PROJECT[/TEST-SPACE/PROJECT-TO-DELETE] for user test_project_pa_on\n"
+ "ADMIN PROJECT[/TEST-SPACE/TEST-PROJECT] for user test_project_pa_off\n"
+ "ADMIN PROJECT[/TEST-SPACE/TEST-PROJECT] for user test_project_pa_on\n"
+ "ADMIN SPACE[CISD] for user test\n"
+ "ADMIN SPACE[CISD] for user test_v3\n"
+ "ADMIN SPACE[TEST-SPACE] for user test_space\n"
+ "ADMIN SPACE[TEST-SPACE] for user test_space_pa_off\n"
+ "ADMIN SPACE[TEST-SPACE] for user test_space_pa_on\n"
+ "ADMIN SPACE[TESTGROUP] for group AGROUP\n"
+ "ADMIN SPACE[TESTGROUP] for user admin\n"
+ "ADMIN SPACE[TESTGROUP] for user homeless\n"
+ "ADMIN SPACE[TESTGROUP] for user observer_cisd\n"
+ "ADMIN SPACE[TESTGROUP] for user test\n"
+ "ETL_SERVER INSTANCE for user etlserver\n"
+ "ETL_SERVER INSTANCE for user test\n"
+ "ETL_SERVER SPACE[CISD] for user test\n"
+ "ETL_SERVER SPACE[TEST-SPACE] for user test_space_etl_server\n"
+ "ETL_SERVER SPACE[TESTGROUP] for user test_group_etl_server\n"
+ "OBSERVER INSTANCE for user instance_observer\n"
+ "OBSERVER SPACE[CISD] for user observer_cisd\n"
+ "OBSERVER SPACE[TEST-SPACE] for user test_v3\n"
+ "OBSERVER SPACE[TESTGROUP] for user observer\n"
+ "POWER_USER SPACE[CISD] for user homeless\n"
+ "POWER_USER SPACE[CISD] for user test_role\n"
+ "POWER_USER SPACE[TESTGROUP] for user poweruser\n"
+ "USER PROJECT[/CISD/DEFAULT] for group AGROUP\n");
} }
@Test @Test
public void testSearchForAllProjects() public void testSearchForAllProjects()
{ {
...@@ -102,11 +75,7 @@ public class SearchRoleAssignmentsTest extends AbstractTest ...@@ -102,11 +75,7 @@ public class SearchRoleAssignmentsTest extends AbstractTest
List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects(); List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects();
// Then // Then
assertRoleAssignments(assignments, "ADMIN PROJECT[/TEST-SPACE/PROJECT-TO-DELETE] for user test_project_pa_off\n" assertMinimumNumbersOfRoleAssignments(assignments, 5);
+ "ADMIN PROJECT[/TEST-SPACE/PROJECT-TO-DELETE] for user test_project_pa_on\n"
+ "ADMIN PROJECT[/TEST-SPACE/TEST-PROJECT] for user test_project_pa_off\n"
+ "ADMIN PROJECT[/TEST-SPACE/TEST-PROJECT] for user test_project_pa_on\n"
+ "USER PROJECT[/CISD/DEFAULT] for group AGROUP\n");
} }
@Test @Test
...@@ -126,25 +95,7 @@ public class SearchRoleAssignmentsTest extends AbstractTest ...@@ -126,25 +95,7 @@ public class SearchRoleAssignmentsTest extends AbstractTest
List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects(); List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects();
// Then // Then
assertRoleAssignments(assignments, "ADMIN SPACE[CISD] for user test\n" assertMinimumNumbersOfRoleAssignments(assignments, 19);
+ "ADMIN SPACE[CISD] for user test_v3\n"
+ "ADMIN SPACE[TEST-SPACE] for user test_space\n"
+ "ADMIN SPACE[TEST-SPACE] for user test_space_pa_off\n"
+ "ADMIN SPACE[TEST-SPACE] for user test_space_pa_on\n"
+ "ADMIN SPACE[TESTGROUP] for group AGROUP\n"
+ "ADMIN SPACE[TESTGROUP] for user admin\n"
+ "ADMIN SPACE[TESTGROUP] for user homeless\n"
+ "ADMIN SPACE[TESTGROUP] for user observer_cisd\n"
+ "ADMIN SPACE[TESTGROUP] for user test\n"
+ "ETL_SERVER SPACE[CISD] for user test\n"
+ "ETL_SERVER SPACE[TEST-SPACE] for user test_space_etl_server\n"
+ "ETL_SERVER SPACE[TESTGROUP] for user test_group_etl_server\n"
+ "OBSERVER SPACE[CISD] for user observer_cisd\n"
+ "OBSERVER SPACE[TEST-SPACE] for user test_v3\n"
+ "OBSERVER SPACE[TESTGROUP] for user observer\n"
+ "POWER_USER SPACE[CISD] for user homeless\n"
+ "POWER_USER SPACE[CISD] for user test_role\n"
+ "POWER_USER SPACE[TESTGROUP] for user poweruser\n");
} }
@Test @Test
...@@ -164,8 +115,7 @@ public class SearchRoleAssignmentsTest extends AbstractTest ...@@ -164,8 +115,7 @@ public class SearchRoleAssignmentsTest extends AbstractTest
List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects(); List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects();
// Then // Then
assertRoleAssignments(assignments, "ADMIN SPACE[TESTGROUP] for group AGROUP\n" assertMinimumNumbersOfRoleAssignments(assignments, 2);
+ "USER PROJECT[/CISD/DEFAULT] for group AGROUP\n");
} }
@Test @Test
...@@ -185,33 +135,7 @@ public class SearchRoleAssignmentsTest extends AbstractTest ...@@ -185,33 +135,7 @@ public class SearchRoleAssignmentsTest extends AbstractTest
List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects(); List<RoleAssignment> assignments = v3api.searchRoleAssignments(sessionToken, searchCriteria, fetchOptions).getObjects();
// Then // Then
assertRoleAssignments(assignments, "ADMIN INSTANCE for user instance_admin\n" assertMinimumNumbersOfRoleAssignments(assignments, 27);
+ "ADMIN INSTANCE for user test\n"
+ "ADMIN PROJECT[/TEST-SPACE/PROJECT-TO-DELETE] for user test_project_pa_off\n"
+ "ADMIN PROJECT[/TEST-SPACE/PROJECT-TO-DELETE] for user test_project_pa_on\n"
+ "ADMIN PROJECT[/TEST-SPACE/TEST-PROJECT] for user test_project_pa_off\n"
+ "ADMIN PROJECT[/TEST-SPACE/TEST-PROJECT] for user test_project_pa_on\n"
+ "ADMIN SPACE[CISD] for user test\n"
+ "ADMIN SPACE[CISD] for user test_v3\n"
+ "ADMIN SPACE[TEST-SPACE] for user test_space\n"
+ "ADMIN SPACE[TEST-SPACE] for user test_space_pa_off\n"
+ "ADMIN SPACE[TEST-SPACE] for user test_space_pa_on\n"
+ "ADMIN SPACE[TESTGROUP] for user admin\n"
+ "ADMIN SPACE[TESTGROUP] for user homeless\n"
+ "ADMIN SPACE[TESTGROUP] for user observer_cisd\n"
+ "ADMIN SPACE[TESTGROUP] for user test\n"
+ "ETL_SERVER INSTANCE for user etlserver\n"
+ "ETL_SERVER INSTANCE for user test\n"
+ "ETL_SERVER SPACE[CISD] for user test\n"
+ "ETL_SERVER SPACE[TEST-SPACE] for user test_space_etl_server\n"
+ "ETL_SERVER SPACE[TESTGROUP] for user test_group_etl_server\n"
+ "OBSERVER INSTANCE for user instance_observer\n"
+ "OBSERVER SPACE[CISD] for user observer_cisd\n"
+ "OBSERVER SPACE[TEST-SPACE] for user test_v3\n"
+ "OBSERVER SPACE[TESTGROUP] for user observer\n"
+ "POWER_USER SPACE[CISD] for user homeless\n"
+ "POWER_USER SPACE[CISD] for user test_role\n"
+ "POWER_USER SPACE[TESTGROUP] for user poweruser\n");
} }
@Test @Test
...@@ -287,18 +211,15 @@ public class SearchRoleAssignmentsTest extends AbstractTest ...@@ -287,18 +211,15 @@ public class SearchRoleAssignmentsTest extends AbstractTest
+ "ETL_SERVER SPACE[CISD] for user test\n"); + "ETL_SERVER SPACE[CISD] for user test\n");
} }
private void assertMinimumNumbersOfRoleAssignments(List<RoleAssignment> assignments, int minSize)
{
assertTrue(assignments.size() >= minSize, "Expecting at least " + minSize
+ " but got only the following " + assignments.size() + ": " + render(assignments));
}
private void assertRoleAssignments(List<RoleAssignment> assignments, String expectedAssignmentsAsString) private void assertRoleAssignments(List<RoleAssignment> assignments, String expectedAssignmentsAsString)
{ {
List<String> assignmentsAsStrings = new ArrayList<>(); List<String> assignmentsAsStrings = render(assignments);
for (RoleAssignment roleAssignment : assignments)
{
String asString = asString(roleAssignment);
if (asString.contains("EO_") == false) // other tests create new role assignments
{
assignmentsAsStrings.add(asString);
}
}
Collections.sort(assignmentsAsStrings);
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
for (String line : assignmentsAsStrings) for (String line : assignmentsAsStrings)
{ {
...@@ -306,6 +227,18 @@ public class SearchRoleAssignmentsTest extends AbstractTest ...@@ -306,6 +227,18 @@ public class SearchRoleAssignmentsTest extends AbstractTest
} }
assertEquals(builder.toString(), expectedAssignmentsAsString); assertEquals(builder.toString(), expectedAssignmentsAsString);
} }
private List<String> render(List<RoleAssignment> assignments)
{
List<String> assignmentsAsStrings = new ArrayList<>();
for (RoleAssignment roleAssignment : assignments)
{
String asString = asString(roleAssignment);
assignmentsAsStrings.add(asString);
}
Collections.sort(assignmentsAsStrings);
return assignmentsAsStrings;
}
private String asString(RoleAssignment assignment) private String asString(RoleAssignment assignment)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment