create helper method to check if an exception is thrown in alfresco logs

This commit is contained in:
Claudia Agache
2020-07-15 11:54:01 +03:00
parent 4a17a72137
commit 32d72a2bf8
3 changed files with 22 additions and 17 deletions

View File

@@ -27,6 +27,8 @@
package org.alfresco.rest.rm.community.util; package org.alfresco.rest.rm.community.util;
import static org.testng.Assert.assertTrue;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@@ -42,6 +44,7 @@ import com.github.dockerjava.netty.NettyDockerCmdExecFactory;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.alfresco.utility.Utility;
import org.apache.commons.lang.SystemUtils; import org.apache.commons.lang.SystemUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -142,6 +145,22 @@ public class DockerHelper
} }
} }
/**
* Helper method to check if the specified exception is thrown in alfresco logs
*
* @param expectedException the expected exception to be thrown
* @throws Exception
*/
public void checkExceptionIsInAlfrescoLogs(String expectedException) throws Exception
{
//Retry the operation because sometimes it takes few seconds to throw the exception
Utility.sleep(6000, 30000, () ->
{
List<String> alfrescoLogs = getAlfrescoLogs();
assertTrue(alfrescoLogs.stream().anyMatch(logLine -> logLine.contains(expectedException)));
});
}
/** /**
* Method for finding docker containers after the image name * Method for finding docker containers after the image name
* *

View File

@@ -50,8 +50,6 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue; import static org.testng.Assert.assertTrue;
import java.util.List;
import org.alfresco.dataprep.CMISUtil; import org.alfresco.dataprep.CMISUtil;
import org.alfresco.rest.rm.community.base.BaseRMRestTest; import org.alfresco.rest.rm.community.base.BaseRMRestTest;
import org.alfresco.rest.rm.community.model.record.Record; import org.alfresco.rest.rm.community.model.record.Record;
@@ -266,12 +264,7 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest
assertStatusCode(ACCEPTED); assertStatusCode(ACCEPTED);
STEP("Check the exception thrown in alfresco logs"); STEP("Check the exception thrown in alfresco logs");
//Retry the operation because sometimes it takes few seconds to throw the exception dockerHelper.checkExceptionIsInAlfrescoLogs(expectedException);
Utility.sleep(6000, 30000, () ->
{
List<String> alfrescoLogs = dockerHelper.getAlfrescoLogs();
assertTrue(alfrescoLogs.stream().anyMatch(logLine -> logLine.contains(expectedException)));
});
STEP("Check that the file is not a record"); STEP("Check that the file is not a record");
assertFalse(hasRecordAspect(testFile), "File should not have record aspect"); assertFalse(hasRecordAspect(testFile), "File should not have record aspect");

View File

@@ -41,7 +41,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue; import static org.testng.Assert.assertTrue;
import java.io.File; import java.io.File;
import java.util.List;
import org.alfresco.dataprep.CMISUtil; import org.alfresco.dataprep.CMISUtil;
import org.alfresco.rest.rm.community.base.BaseRMRestTest; import org.alfresco.rest.rm.community.base.BaseRMRestTest;
@@ -127,7 +126,7 @@ public class FileVersionAsRecordTests extends BaseRMRestTest
} }
@BeforeMethod (alwaysRun = true) @BeforeMethod (alwaysRun = true)
public void createDocument() public void createDocument() throws Exception
{ {
STEP("Create a document in the collaboration site"); STEP("Create a document in the collaboration site");
testFile = dataContent.usingSite(publicSite) testFile = dataContent.usingSite(publicSite)
@@ -215,13 +214,7 @@ public class FileVersionAsRecordTests extends BaseRMRestTest
assertStatusCode(ACCEPTED); assertStatusCode(ACCEPTED);
STEP("Check the exception thrown in alfresco logs"); STEP("Check the exception thrown in alfresco logs");
//Retry the operation because sometimes it takes few seconds to throw the exception dockerHelper.checkExceptionIsInAlfrescoLogs(expectedException);
Utility.sleep(6000, 30000, () ->
{
List<String> alfrescoLogs = dockerHelper.getAlfrescoLogs();
assertTrue(alfrescoLogs.stream().anyMatch(logLine -> logLine.contains(expectedException)));
});
} }
/** /**