diff --git a/source/test-java/org/alfresco/rest/api/tests/AuditAppTest.java b/source/test-java/org/alfresco/rest/api/tests/AuditAppTest.java index a741ee5dcf..c0256b7b5b 100644 --- a/source/test-java/org/alfresco/rest/api/tests/AuditAppTest.java +++ b/source/test-java/org/alfresco/rest/api/tests/AuditAppTest.java @@ -212,4 +212,47 @@ public class AuditAppTest extends AuditTest assertTrue(auditApp.getIsEnabled()); } + + @Test + public void testEnableDisableAuditApplication() throws Exception + { + AuditApp requestAuditApp = new AuditApp(); + AuditApp responseAuditApp = null; + String appId = null; + + setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD); + + //Get one of the audit app ids (default tagging) + ListResponse apps = publicApiClient.auditApps().getAuditApps(null, "Getting audit apps error ", HttpServletResponse.SC_OK); + appId = (apps.getList().size()>0) ? apps.getList().get(0).getId() : "tagging"; + + // +ve + // Disable audit app + requestAuditApp.setIsEnabled(false); + responseAuditApp = publicApiClient.auditApps().updateAuditApp(appId,requestAuditApp,null, HttpServletResponse.SC_OK); + assertFalse("Wrong response for request to disable audit app.", responseAuditApp.getIsEnabled()); + assertFalse("Disable audit app test failed.", publicApiClient.auditApps().getAuditApp(appId).getIsEnabled()); + + // Enable audit app + requestAuditApp.setIsEnabled(true); + responseAuditApp = publicApiClient.auditApps().updateAuditApp(appId,requestAuditApp,null, HttpServletResponse.SC_OK); + assertTrue("Wrong response for request to enable audit app.", responseAuditApp.getIsEnabled()); + assertTrue("Enable audit app test failed.", publicApiClient.auditApps().getAuditApp(appId).getIsEnabled()); + + // -ve + // 400 + publicApiClient.auditApps().update("audit-applications",appId,null,null,"badBody",null,"Was expecting error 400",HttpServletResponse.SC_BAD_REQUEST); + // 401 + setRequestContext(networkOne.getId(), networkAdmin, "fakepswd"); + publicApiClient.auditApps().updateAuditApp(appId,requestAuditApp,null, HttpServletResponse.SC_UNAUTHORIZED); + // 403 + setRequestContext(networkOne.getId(), user1, null); + publicApiClient.auditApps().updateAuditApp(appId,requestAuditApp,null, HttpServletResponse.SC_FORBIDDEN); + // 404 + setRequestContext(networkOne.getId(), networkAdmin, DEFAULT_ADMIN_PWD); + publicApiClient.auditApps().updateAuditApp("fakeid",requestAuditApp,null, HttpServletResponse.SC_NOT_FOUND); + // 501 + + } + } diff --git a/source/test-java/org/alfresco/rest/api/tests/client/PublicApiClient.java b/source/test-java/org/alfresco/rest/api/tests/client/PublicApiClient.java index 21ae3ca7b7..d415edbf10 100644 --- a/source/test-java/org/alfresco/rest/api/tests/client/PublicApiClient.java +++ b/source/test-java/org/alfresco/rest/api/tests/client/PublicApiClient.java @@ -2477,6 +2477,22 @@ public class PublicApiClient return null; } + public AuditApp updateAuditApp(String applicationId, AuditApp auditApp, Map params, int expectedStatus) throws PublicApiException + { + HttpResponse response = update("audit-applications", applicationId,null,null, auditApp.toJSON().toString(), params, "Eriks test failed", expectedStatus); + + if (response != null && response.getJsonResponse() != null) + { + JSONObject jsonEntry = (JSONObject) response.getJsonResponse().get("entry"); + if (jsonEntry != null) + { + return AuditApp.parseAuditApp(jsonEntry); + } + } + + return null; + } + } }