Merged 5.2.N-AUDIT-API (5.2.2) to 5.2.N (5.2.2)

137899 aforascu: REPO-1785 / REPO-2585 - Retrieve Audit Application info
       - added a negative test (501 response code) for testGetAuditApp() Junit
       - added AuditTest class as an extra layer for methods and objects common to audit Junits (e.g enabling / disabling system audit) 


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137963 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2017-07-12 12:09:43 +00:00
parent 72ca042f3b
commit e66ff31d3c
2 changed files with 104 additions and 11 deletions

View File

@@ -25,7 +25,9 @@
*/ */
package org.alfresco.rest.api.tests; package org.alfresco.rest.api.tests;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -33,31 +35,23 @@ import java.util.Map;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.alfresco.rest.AbstractSingleNetworkSiteTest; import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.rest.api.tests.client.PublicApiClient; import org.alfresco.rest.api.tests.client.PublicApiClient;
import org.alfresco.rest.api.tests.client.PublicApiClient.AuditApps; import org.alfresco.rest.api.tests.client.PublicApiClient.AuditApps;
import org.alfresco.rest.api.tests.client.PublicApiClient.ListResponse; import org.alfresco.rest.api.tests.client.PublicApiClient.ListResponse;
import org.alfresco.rest.api.tests.client.PublicApiClient.Paging; import org.alfresco.rest.api.tests.client.PublicApiClient.Paging;
import org.alfresco.rest.api.tests.client.data.AuditApp; import org.alfresco.rest.api.tests.client.data.AuditApp;
import org.alfresco.service.cmr.security.AuthorityService;
import org.alfresco.service.cmr.security.PermissionService;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
public class AuditAppTest extends AbstractSingleNetworkSiteTest public class AuditAppTest extends AuditTest
{ {
protected PermissionService permissionService;
protected AuthorityService authorityService;
@Before @Before
public void setup() throws Exception public void setup() throws Exception
{ {
super.setup(); super.setup();
permissionService = applicationContext.getBean("permissionService", PermissionService.class);
authorityService = (AuthorityService) applicationContext.getBean("AuthorityService");
} }
@After @After
@@ -72,7 +66,7 @@ public class AuditAppTest extends AbstractSingleNetworkSiteTest
try try
{ {
setRequestContext(DEFAULT_ADMIN); setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
testGetAuditAppsSkipPaging(); testGetAuditAppsSkipPaging();
} }
@@ -88,6 +82,10 @@ public class AuditAppTest extends AbstractSingleNetworkSiteTest
final AuditApps auditAppsProxy = publicApiClient.auditApps(); final AuditApps auditAppsProxy = publicApiClient.auditApps();
// Enable system audit
AuthenticationUtil.setFullyAuthenticatedUser(networkAdmin);
enableSystemAudit();
// Negative tests // Negative tests
// Check with invalid audit application id. // Check with invalid audit application id.
{ {
@@ -101,6 +99,29 @@ public class AuditAppTest extends AbstractSingleNetworkSiteTest
auditAppsProxy.getAuditApp("randomAuditId", HttpServletResponse.SC_FORBIDDEN); auditAppsProxy.getAuditApp("randomAuditId", HttpServletResponse.SC_FORBIDDEN);
} }
// Check that response code 501 is received when system audit is disabled
{
// Get an enabled audit application
setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD);
int skipCount = 0;
int maxItems = 4;
Paging paging = getPaging(skipCount, maxItems);
ListResponse<AuditApp> auditApps = getAuditApps(paging);
AuditApp auditApp = auditAppsProxy.getAuditApp(auditApps.getList().get(0).getId());
// Disable system audit
AuthenticationUtil.setFullyAuthenticatedUser(networkAdmin);
disableSystemAudit();
// Check response code
auditAppsProxy.getAuditApp(auditApp.getId(), HttpServletResponse.SC_NOT_IMPLEMENTED);
// Re-enable system audit
enableSystemAudit();
}
// Positive tests // Positive tests
// Get audit application information // Get audit application information
{ {
@@ -186,6 +207,9 @@ public class AuditAppTest extends AbstractSingleNetworkSiteTest
assertNotNull(auditApp.getId()); assertNotNull(auditApp.getId());
assertNotNull(auditApp.getName()); assertNotNull(auditApp.getName());
assertNotNull(auditApp.getIsEnabled()); assertNotNull(auditApp.getIsEnabled());
assertFalse(auditApp.getId().isEmpty());
assertFalse(auditApp.getName().isEmpty());
assertTrue(auditApp.getIsEnabled());
} }
} }

View File

@@ -0,0 +1,69 @@
package org.alfresco.rest.api.tests;
import static org.junit.Assert.fail;
import org.alfresco.rest.AbstractSingleNetworkSiteTest;
import org.alfresco.service.cmr.audit.AuditService;
import org.alfresco.service.cmr.security.AuthorityService;
import org.alfresco.service.cmr.security.PermissionService;
import org.junit.After;
import org.junit.Before;
/**
* Added as an extra layer for Rest-Api Audit methods and objects that can be used by all junits
* E.g enableSystemAudit, disableSystemAudit
*
*/
public class AuditTest extends AbstractSingleNetworkSiteTest
{
protected PermissionService permissionService;
protected AuthorityService authorityService;
protected AuditService auditService;
@Before
public void setup() throws Exception
{
super.setup();
permissionService = applicationContext.getBean("permissionService", PermissionService.class);
authorityService = (AuthorityService) applicationContext.getBean("AuthorityService");
auditService = applicationContext.getBean("AuditService", AuditService.class);
}
@After
public void tearDown() throws Exception
{
super.tearDown();
}
protected void enableSystemAudit()
{
boolean isEnabled = auditService.isAuditEnabled();
if (!isEnabled)
{
auditService.setAuditEnabled(true);
isEnabled = auditService.isAuditEnabled();
if (!isEnabled)
{
fail("Failed to enable system audit for testing");
}
}
}
protected void disableSystemAudit()
{
boolean isEnabled = auditService.isAuditEnabled();
if (isEnabled)
{
auditService.setAuditEnabled(false);
isEnabled = auditService.isAuditEnabled();
if (isEnabled)
{
fail("Failed to disable system audit for testing");
}
}
}
}