|
64 | 64 | import static org.junit.Assert.assertFalse; |
65 | 65 | import static org.junit.Assert.assertTrue; |
66 | 66 | import static org.junit.Assert.fail; |
| 67 | +import static org.labkey.test.util.PasswordUtil.getUsername; |
67 | 68 | import static org.labkey.test.util.PermissionsHelper.AUTHOR_ROLE; |
68 | 69 | import static org.labkey.test.util.PermissionsHelper.EDITOR_ROLE; |
69 | 70 | import static org.labkey.test.util.PermissionsHelper.FOLDER_ADMIN_ROLE; |
70 | 71 | import static org.labkey.test.util.PermissionsHelper.PROJECT_ADMIN_ROLE; |
71 | | -import static org.labkey.test.util.PasswordUtil.getUsername; |
72 | 72 |
|
73 | 73 | @Category({Daily.class, Hosting.class}) |
74 | 74 | @BaseWebDriverTest.ClassTimeout(minutes = 9) |
@@ -378,18 +378,27 @@ protected void canSeeAuditLogTest() |
378 | 378 | createUserWithPermissions(AUDIT_TEST_USER2, AUDIT_TEST_PROJECT, PROJECT_ADMIN_ROLE); |
379 | 379 |
|
380 | 380 | // signed in as an admin so we should see rows here |
381 | | - verifyAuditQueries(true); |
| 381 | + verifyAuditQueries(true, getProjectName()); |
382 | 382 |
|
383 | 383 | // signed in as an editor should not show any rows for audit query links |
384 | 384 | impersonate(AUDIT_TEST_USER); |
385 | | - verifyAuditQueries(false); |
| 385 | + verifyAuditQueries(false, getProjectName()); |
| 386 | + verifyAuditQueries(false, "home"); |
| 387 | + stopImpersonating(); |
| 388 | + |
| 389 | + // grant CanSeeAuditLog role to our audit user in the project and verify we see audit information in this project but not /home |
| 390 | + permissionsHelper.addMemberToRole(AUDIT_TEST_USER, "See Audit Log Events", PermissionsHelper.MemberType.user, getProjectName()); |
| 391 | + impersonate(AUDIT_TEST_USER); |
| 392 | + verifyAuditQueries(true, getProjectName()); |
| 393 | + verifyAuditQueries(false, "home"); |
386 | 394 | stopImpersonating(); |
| 395 | + permissionsHelper.removeUserRoleAssignment(AUDIT_TEST_USER, "See Audit Log Events", getProjectName()); |
387 | 396 |
|
388 | | - // now grant CanSeeAuditLog permission to our audit user and verify |
389 | | - // we see audit information |
| 397 | + // grant CanSeeAuditLog role to our audit user in the root and verify we see audit information in this project and in /home |
390 | 398 | permissionsHelper.setSiteRoleUserPermissions(AUDIT_TEST_USER, "See Audit Log Events"); |
391 | 399 | impersonate(AUDIT_TEST_USER); |
392 | | - verifyAuditQueries(true); |
| 400 | + verifyAuditQueries(true, getProjectName()); |
| 401 | + verifyAuditQueries(true, "home"); |
393 | 402 |
|
394 | 403 | // cleanup |
395 | 404 | stopImpersonating(); |
@@ -535,15 +544,15 @@ protected void verifyListAuditLogQueries(Visibility v) |
535 | 544 | verifyAuditQueryEvent(this, "List", "Child List", 1, canSeeChild(v)); |
536 | 545 | } |
537 | 546 |
|
538 | | - protected void verifyAuditQueries(boolean canSeeAuditLog) |
| 547 | + protected void verifyAuditQueries(boolean canSeeAuditLog, String containerPath) |
539 | 548 | { |
540 | | - ExecuteQueryPage.beginAt(this, getProjectName(), "auditLog", "ContainerAuditEvent"); |
| 549 | + ExecuteQueryPage.beginAt(this, containerPath, "auditLog", "ContainerAuditEvent"); |
541 | 550 | if (canSeeAuditLog) |
542 | 551 | verifyAuditQueryEvent(this, COMMENT_COLUMN, AUDIT_TEST_PROJECT + " was created", 1); |
543 | 552 | else |
544 | 553 | assertTextPresent("No data to show."); |
545 | 554 |
|
546 | | - ExecuteQueryPage.beginAt(this, getProjectName(), "auditLog", "GroupAuditEvent"); |
| 555 | + ExecuteQueryPage.beginAt(this, containerPath, "auditLog", "GroupAuditEvent"); |
547 | 556 | if (canSeeAuditLog) |
548 | 557 | verifyAuditQueryEvent(this, COMMENT_COLUMN, "The user " + AUDIT_TEST_USER + " was assigned to the security role Editor.", 1); |
549 | 558 | else |
|
0 commit comments