Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/org/labkey/test/BaseWebDriverTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -1984,7 +1984,7 @@ public ApiPermissionsHelper createSiteDeveloper(String userEmail)
}
else
{
apiPermissionsHelper.setSiteRoleUserPermissions(userEmail, "Platform Developer");
apiPermissionsHelper.setSiteRoleUserPermissions(userEmail, PermissionsHelper.DEVELOPER_ROLE);
}

return apiPermissionsHelper;
Expand Down
11 changes: 7 additions & 4 deletions src/org/labkey/test/pages/admin/PermissionsPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
import java.util.List;

import static org.labkey.test.WebTestHelper.buildURL;
import static org.labkey.test.util.PermissionsHelper.EDITOR_ROLE;
import static org.labkey.test.util.PermissionsHelper.PROJECT_ADMIN_ROLE;
import static org.labkey.test.util.PermissionsHelper.READER_ROLE;

public class PermissionsPage extends LabKeyPage<PermissionsPage.ElementCache>
{
Expand Down Expand Up @@ -104,7 +107,7 @@ public String toRole(String perm)
String R = "security.roles.";
if ("No Permissions".equals(perm))
return R + "NoPermissionsRole";
if ("Project Administrator".equals(perm))
if (PROJECT_ADMIN_ROLE.equals(perm))
return R + "ProjectAdminRole";
else if (!perm.contains("."))
return R + perm + "Role";
Expand Down Expand Up @@ -498,9 +501,9 @@ public PermissionsPage assertPermissionSetting(String userOrGroupName, String pe

if (role.endsWith("security.roles.NoPermissionsRole"))
{
assertNoPermission(userOrGroupName, "Reader");
assertNoPermission(userOrGroupName, "Editor");
assertNoPermission(userOrGroupName, "Project Administrator");
assertNoPermission(userOrGroupName, READER_ROLE);
assertNoPermission(userOrGroupName, EDITOR_ROLE);
assertNoPermission(userOrGroupName, PROJECT_ADMIN_ROLE);
return this;
}
waitForElement(Locator.permissionRendered(), BaseWebDriverTest.WAIT_FOR_JAVASCRIPT);
Expand Down
4 changes: 3 additions & 1 deletion src/org/labkey/test/tests/AbstractAdminConsoleTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
import java.util.Arrays;
import java.util.List;

import static org.labkey.test.util.PermissionsHelper.APP_ADMIN_ROLE;

public abstract class AbstractAdminConsoleTest extends BaseWebDriverTest
{
protected static final String APP_ADMIN_USER = "app_admin_test_user@adminconsole.test";
Expand Down Expand Up @@ -73,7 +75,7 @@ protected void createTestUsers()

int appAdminId = _userHelper.createUser(APP_ADMIN_USER, true, false).getUserId();
setInitialPassword(appAdminId);
apiPermissionsHelper.addMemberToRole(APP_ADMIN_USER, "Application Admin", PermissionsHelper.MemberType.user, "/");
apiPermissionsHelper.addMemberToRole(APP_ADMIN_USER, APP_ADMIN_ROLE, PermissionsHelper.MemberType.user, "/");

int troubleshooterId = _userHelper.createUser(TROUBLESHOOTER_USER, true, false).getUserId();
setInitialPassword(troubleshooterId);
Expand Down
18 changes: 9 additions & 9 deletions src/org/labkey/test/tests/AbstractAssayTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
import java.util.List;

import static org.labkey.test.params.FieldDefinition.DOMAIN_TRICKY_CHARACTERS;
import static org.labkey.test.util.PermissionsHelper.EDITOR_ROLE;
import static org.labkey.test.util.PermissionsHelper.READER_ROLE;

/**
* @deprecated TODO: Move shared functionality to a Helper class
Expand All @@ -42,8 +44,6 @@
public abstract class AbstractAssayTest extends BaseWebDriverTest
{
//constants added for security tests
protected final static String TEST_ASSAY_PERMS_READER = "Reader"; //name of built-in reader role
private final static String TEST_ASSAY_PERMS_EDITOR = "Editor"; //name of built-in editor role
private final static String TEST_ASSAY_PERMS_NONE = "No Permissions"; //name of built-in no perms role

private final static String TEST_ASSAY_GRP_USERS = "Users"; //name of built-in Users group
Expand Down Expand Up @@ -202,10 +202,10 @@ protected void setupEnvironment()
//we should now be sitting on the new project security page
//create a group in the project for PIs and make them readers by default
permissionsHelper.createPermissionsGroup(TEST_ASSAY_GRP_PIS);
permissionsHelper.setPermissions(TEST_ASSAY_GRP_PIS, TEST_ASSAY_PERMS_READER);
permissionsHelper.setPermissions(TEST_ASSAY_GRP_PIS, READER_ROLE);

//set Users group to be Readers by default
permissionsHelper.setPermissions(TEST_ASSAY_GRP_USERS, TEST_ASSAY_PERMS_READER);
permissionsHelper.setPermissions(TEST_ASSAY_GRP_USERS, READER_ROLE);

//add a PI user to that group
permissionsHelper.addUserToProjGroup(TEST_ASSAY_USR_PI1, getProjectName(), TEST_ASSAY_GRP_PIS);
Expand Down Expand Up @@ -238,9 +238,9 @@ protected void setupEnvironment()
//setup security on sub-folders:
// PIs should be Editors on Lab1 and Study1, but not Study2 or Study3
// Users should be Editors on Lab1, readers on Study2, and nothing on Study3
setSubfolderSecurity(getProjectName(), TEST_ASSAY_FLDR_LAB1, TEST_ASSAY_GRP_PIS, TEST_ASSAY_PERMS_EDITOR);
setSubfolderSecurity(getProjectName(), TEST_ASSAY_FLDR_LAB1, TEST_ASSAY_GRP_USERS, TEST_ASSAY_PERMS_EDITOR);
setSubfolderSecurity(getProjectName(), TEST_ASSAY_FLDR_STUDY1, TEST_ASSAY_GRP_PIS, TEST_ASSAY_PERMS_EDITOR);
setSubfolderSecurity(getProjectName(), TEST_ASSAY_FLDR_LAB1, TEST_ASSAY_GRP_PIS, EDITOR_ROLE);
setSubfolderSecurity(getProjectName(), TEST_ASSAY_FLDR_LAB1, TEST_ASSAY_GRP_USERS, EDITOR_ROLE);
setSubfolderSecurity(getProjectName(), TEST_ASSAY_FLDR_STUDY1, TEST_ASSAY_GRP_PIS, EDITOR_ROLE);
setSubfolderSecurity(getProjectName(), TEST_ASSAY_FLDR_STUDY3, TEST_ASSAY_GRP_USERS, TEST_ASSAY_PERMS_NONE);

//setup study-level security:
Expand Down Expand Up @@ -287,8 +287,8 @@ protected void setSubfolderSecurity(String project, String subfolder, String gro
waitForElement(Locator.permissionRendered());
if (TEST_ASSAY_PERMS_NONE.equals(perms))
{
_permissionsHelper.removePermission(group, "Editor");
_permissionsHelper.removePermission(group, "Reader");
_permissionsHelper.removePermission(group, EDITOR_ROLE);
_permissionsHelper.removePermission(group, READER_ROLE);
}
else
_permissionsHelper.setPermissions(group, perms);
Expand Down
6 changes: 4 additions & 2 deletions src/org/labkey/test/tests/AdminConsoleTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.labkey.test.util.PermissionsHelper.APP_ADMIN_ROLE;
import static org.labkey.test.util.PermissionsHelper.READER_ROLE;

@Category({Daily.class})
@BaseWebDriverTest.ClassTimeout(minutes = 3)
Expand Down Expand Up @@ -175,7 +177,7 @@ public void testRibbonBar()
assertEquals("Incorrect URL", expected, href);

goToHome();
impersonateRole("Reader");
impersonateRole(READER_ROLE);
assertElementPresent(ribbon);
assertElementPresent(ribbonLink);
stopImpersonating();
Expand Down Expand Up @@ -229,7 +231,7 @@ public void testSiteBannerAPIConfiguration() throws Exception
.verifyTrue("expect banner to be shown", bannerLoc.isDisplayed(getDriver()));

// as app admin
impersonateRole("Application Admin");
impersonateRole(APP_ADMIN_ROLE);
var reHideBannerCmd = new SimplePostCommand("admin", "setRibbonMessage.api");
reHideBannerCmd.setParameters(Map.of("show", false));
try
Expand Down
8 changes: 5 additions & 3 deletions src/org/labkey/test/tests/AdvancedImportOptionsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.labkey.test.util.PermissionsHelper.FOLDER_ADMIN_ROLE;
import static org.labkey.test.util.PermissionsHelper.READER_ROLE;

@Category(Daily.class)
@BaseWebDriverTest.ClassTimeout(minutes = 9)
Expand Down Expand Up @@ -324,11 +326,11 @@ public void testImportToMultipleFolders()

log("Setting up permissions for a limited user");
clickFolder(IMPORT_FOLDER_MULTI01);
permissionsHelper.addMemberToRole(LIMITED_USER, "Folder Administrator", PermissionsHelper.MemberType.user);
permissionsHelper.addMemberToRole(LIMITED_USER, FOLDER_ADMIN_ROLE, PermissionsHelper.MemberType.user);
clickFolder(IMPORT_FOLDER_MULTI02);
permissionsHelper.addMemberToRole(LIMITED_USER, "Reader", PermissionsHelper.MemberType.user);
permissionsHelper.addMemberToRole(LIMITED_USER, READER_ROLE, PermissionsHelper.MemberType.user);
clickFolder(IMPORT_FOLDER_MULTI03);
permissionsHelper.addMemberToRole(LIMITED_USER, "Folder Administrator", PermissionsHelper.MemberType.user);
permissionsHelper.addMemberToRole(LIMITED_USER, FOLDER_ADMIN_ROLE, PermissionsHelper.MemberType.user);

pushLocation();
impersonate(LIMITED_USER);
Expand Down
6 changes: 4 additions & 2 deletions src/org/labkey/test/tests/ApiKeyTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.labkey.test.util.PermissionsHelper.EDITOR_ROLE;
import static org.labkey.test.util.PermissionsHelper.PROJECT_ADMIN_ROLE;

@Category({Daily.class})
@BaseWebDriverTest.ClassTimeout(minutes = 4)
Expand Down Expand Up @@ -105,7 +107,7 @@ private void doSetup() throws Exception

EDITOR_USER.create(this)
.setInitialPassword()
.addPermission("Editor", getProjectName());
.addPermission(EDITOR_ROLE, getProjectName());

new IntListDefinition(LIST_NAME, "Key")
.addField(new FieldDefinition(LIST_VALUE))
Expand Down Expand Up @@ -306,7 +308,7 @@ public void testAPIKeysTablePermissions() throws IOException

log("Verify " + APIKEYS_TABLE + " table is not accessible for non site-admin");
goToProjectHome();
impersonateRoles("Project Administrator");
impersonateRoles(PROJECT_ADMIN_ROLE);
verifyAPIKeysTablePresence(false);
}

Expand Down
19 changes: 10 additions & 9 deletions src/org/labkey/test/tests/AuditLogTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.labkey.test.util.PermissionsHelper.AUTHOR_ROLE;
import static org.labkey.test.util.PermissionsHelper.EDITOR_ROLE;
import static org.labkey.test.util.PermissionsHelper.FOLDER_ADMIN_ROLE;
import static org.labkey.test.util.PermissionsHelper.PROJECT_ADMIN_ROLE;
import static org.labkey.test.util.PasswordUtil.getUsername;

@Category({Daily.class, Hosting.class})
Expand All @@ -82,9 +86,6 @@ public class AuditLogTest extends BaseWebDriverTest

private static final String AUDIT_SECURITY_GROUP = "Testers";

private static final String PROJECT_ADMIN_ROLE = "Project Administrator";
private static final String AUTHOR_ROLE = "Author";

private static final String AUDIT_TEST_PROJECT = "AuditVerifyTest";
private static final String AUDIT_DETAILED_TEST_PROJECT = "AuditDetailedLogTest";
private static final String AUDIT_TEST_SUBFOLDER = "AuditVerifyTest_Subfolder";
Expand Down Expand Up @@ -328,7 +329,7 @@ protected void groupAuditTest() throws IOException

_containerHelper.createProject(AUDIT_TEST_PROJECT, null);
permissionsHelper.createPermissionsGroup(AUDIT_SECURITY_GROUP);
permissionsHelper.setPermissions(AUDIT_SECURITY_GROUP, "Editor");
permissionsHelper.setPermissions(AUDIT_SECURITY_GROUP, EDITOR_ROLE);
_userHelper.createUser(AUDIT_TEST_USER, false, true);
permissionsHelper.addUserToProjGroup(AUDIT_TEST_USER, getProjectName(), AUDIT_SECURITY_GROUP);
_userHelper.deleteUsers(true, AUDIT_TEST_USER);
Expand Down Expand Up @@ -373,8 +374,8 @@ protected void canSeeAuditLogTest()
createList(AUDIT_TEST_PROJECT, "Parent List", "Name\nData", new FieldDefinition("Name", ColumnType.String).setDescription("Name") );
createList(AUDIT_TEST_PROJECT + "/" + AUDIT_TEST_SUBFOLDER, "Child List", "Name\nData", new FieldDefinition("Name", ColumnType.String).setDescription("Name"));

createUserWithPermissions(AUDIT_TEST_USER, AUDIT_TEST_PROJECT, "Editor");
createUserWithPermissions(AUDIT_TEST_USER2, AUDIT_TEST_PROJECT, "Project Administrator");
createUserWithPermissions(AUDIT_TEST_USER, AUDIT_TEST_PROJECT, EDITOR_ROLE);
createUserWithPermissions(AUDIT_TEST_USER2, AUDIT_TEST_PROJECT, PROJECT_ADMIN_ROLE);

// signed in as an admin so we should see rows here
verifyAuditQueries(true);
Expand Down Expand Up @@ -404,15 +405,15 @@ protected void canSeeAuditLogTest()
navigateToFolder(AUDIT_TEST_PROJECT, AUDIT_TEST_SUBFOLDER);

ApiPermissionsHelper ph = new ApiPermissionsHelper(this);
ph.addMemberToRole(AUDIT_TEST_USER2,"Folder Administrator", PermissionsHelper.MemberType.user);
ph.addMemberToRole(AUDIT_TEST_USER2,FOLDER_ADMIN_ROLE, PermissionsHelper.MemberType.user);
impersonate(AUDIT_TEST_USER2);
verifyListAuditLogQueries(Visibility.All);
stopImpersonating();

// verify issue 19832 - opposite of above. Ensure that user who has access to child folder but not parent folder can still see
// audit log events from the child forder if using a CurrentAndSubFolders container filter
createUserWithPermissions(AUDIT_TEST_USER3, AUDIT_TEST_PROJECT, "Editor");
permissionsHelper.addMemberToRole(AUDIT_TEST_USER3, "Folder Administrator", PermissionsHelper.MemberType.user, AUDIT_TEST_PROJECT + "/" + AUDIT_TEST_SUBFOLDER);
createUserWithPermissions(AUDIT_TEST_USER3, AUDIT_TEST_PROJECT, EDITOR_ROLE);
permissionsHelper.addMemberToRole(AUDIT_TEST_USER3, FOLDER_ADMIN_ROLE, PermissionsHelper.MemberType.user, AUDIT_TEST_PROJECT + "/" + AUDIT_TEST_SUBFOLDER);
impersonate(AUDIT_TEST_USER3);
verifyListAuditLogQueries(Visibility.ChildFolder);
stopImpersonating();
Expand Down
13 changes: 8 additions & 5 deletions src/org/labkey/test/tests/BaseTermsOfUseTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
import java.util.List;
import java.util.Map;

import static org.labkey.test.util.PermissionsHelper.EDITOR_ROLE;
import static org.labkey.test.util.PermissionsHelper.READER_ROLE;

public class BaseTermsOfUseTest extends BaseWebDriverTest
{
protected static final String PUBLIC_NO_TERMS_PROJECT_NAME = "Public No Terms Project";
Expand Down Expand Up @@ -80,9 +83,9 @@ protected void createPublicProject(String projectName)
{
log("Create public project " + projectName);
_containerHelper.createProject(projectName, null);
_permissionsHelper.setPermissions(USERS_GROUP, "Editor");
_permissionsHelper.setSiteGroupPermissions("All Site Users", "Reader");
_permissionsHelper.setSiteGroupPermissions("Guests", "Reader");
_permissionsHelper.setPermissions(USERS_GROUP, EDITOR_ROLE);
_permissionsHelper.setSiteGroupPermissions("All Site Users", READER_ROLE);
_permissionsHelper.setSiteGroupPermissions("Guests", READER_ROLE);
}

protected void createWikiTabForProject(String projectName)
Expand All @@ -102,10 +105,10 @@ protected void createProjectWithTermsOfUse(String name, String termsText, boolea
log("Create project " + name);
_containerHelper.createProject(name, null);
createTermsOfUsePage(name, termsText);
_permissionsHelper.setSiteGroupPermissions("All Site Users", "Reader");
_permissionsHelper.setSiteGroupPermissions("All Site Users", READER_ROLE);
if (isPublic)
{
_permissionsHelper.setSiteGroupPermissions("Guests", "Reader");
_permissionsHelper.setSiteGroupPermissions("Guests", READER_ROLE);
}
}

Expand Down
6 changes: 4 additions & 2 deletions src/org/labkey/test/tests/BasicAdminTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
import java.util.Arrays;
import java.util.List;

import static org.labkey.test.util.PermissionsHelper.EDITOR_ROLE;

@Category({Base.class, DRT.class, Daily.class, Git.class, Hosting.class})
@BaseWebDriverTest.ClassTimeout(minutes = 6)
public class BasicAdminTest extends BaseWebDriverTest
Expand Down Expand Up @@ -91,7 +93,7 @@ public void testFolderAndRole()
permissionsHelper.createPermissionsGroup("testers");
_ext4Helper.clickTabContainingText("Permissions");
permissionsHelper.assertPermissionSetting("testers", "No Permissions");
permissionsHelper.setPermissions("testers", "Editor");
permissionsHelper.setPermissions("testers", EDITOR_ROLE);

clickButton("Save and Finish");
log("Test folder aliasing");
Expand All @@ -100,7 +102,7 @@ public void testFolderAndRole()
popLocation();
assertTextPresent(FOLDER_RENAME);

permissionsHelper.assertPermissionSetting("testers", "Editor");
permissionsHelper.assertPermissionSetting("testers", EDITOR_ROLE);
}

@Test @Ignore
Expand Down
3 changes: 2 additions & 1 deletion src/org/labkey/test/tests/ClientAPITest.java
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@
import static org.junit.Assert.assertTrue;
import static org.labkey.test.WebTestHelper.getHttpResponse;
import static org.labkey.test.params.FieldDefinition.DOMAIN_TRICKY_CHARACTERS;
import static org.labkey.test.util.PermissionsHelper.APP_ADMIN_ROLE;

@Category({BVT.class})
@BaseWebDriverTest.ClassTimeout(minutes = 14)
Expand Down Expand Up @@ -1114,7 +1115,7 @@ public void emailApiTest()

enableEmailRecorder();

apiPermissionsHelper.addMemberToRole(EMAIL_SENDER, "Application Admin", PermissionsHelper.MemberType.user, "/");
apiPermissionsHelper.addMemberToRole(EMAIL_SENDER, APP_ADMIN_ROLE, PermissionsHelper.MemberType.user, "/");

goToHome();
impersonate(EMAIL_SENDER);
Expand Down
4 changes: 3 additions & 1 deletion src/org/labkey/test/tests/CrawlerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
import java.util.List;
import java.util.Map;

import static org.labkey.test.util.PermissionsHelper.READER_ROLE;

@Category({Daily.class})
@BaseWebDriverTest.ClassTimeout(minutes = 5)
public class CrawlerTest extends BaseWebDriverTest
Expand Down Expand Up @@ -57,7 +59,7 @@ private void doSetup()
CspConfigHelper.debugCspWarnings();
_containerHelper.createProject(getProjectName(), null);
_userHelper.createUser(USER);
new ApiPermissionsHelper(this).addMemberToRole(USER, "Reader", MemberType.user, getProjectName());
new ApiPermissionsHelper(this).addMemberToRole(USER, READER_ROLE, MemberType.user, getProjectName());
}

/**
Expand Down
Loading