From d9fa1bdd615f85bd93c82ec0b8036d2f48d3fef7 Mon Sep 17 00:00:00 2001 From: David Caruana Date: Thu, 18 Mar 2010 18:05:46 +0000 Subject: [PATCH] Fix CMIS Change Log Test so that it works with or without existing change log entries in the repository. - build box passed, as the repository never contained existing change log entries, however local dev box may have had, thus causing test to fail. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19379 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../cmis/changelog/CMISChangeLogServiceTest.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/cmis/changelog/CMISChangeLogServiceTest.java b/source/java/org/alfresco/cmis/changelog/CMISChangeLogServiceTest.java index 99476d00fc..2f6e4563c1 100644 --- a/source/java/org/alfresco/cmis/changelog/CMISChangeLogServiceTest.java +++ b/source/java/org/alfresco/cmis/changelog/CMISChangeLogServiceTest.java @@ -261,8 +261,17 @@ public class CMISChangeLogServiceTest extends TestCase { Map logAmounts = new HashMap(); boolean folderWasFound = false; + int idx = 0; for (CMISChangeEvent event : changeLog.getChangeEvents()) { + // skip first change log entry if a log token has been specified, as the CMIS spec expects + // the change entry to be returned for the specified log token + idx++; + if (logToken != null && idx == 1) + { + continue; + } + assertNotNull(("One of the Change Log Event Enries is undefined for '" + logToken + "' Change Log Token"), event); assertNotNull(("Change Event Entry Id of one of the Change Entries is undefined for '" + logToken + "' Change Log Token"), event.getChangedNode()); assertNotNull(("Change Event Change Type of one of the Change Entries is undefined for '" + logToken + "' Change Log Token"), event.getChangeType()); @@ -340,7 +349,7 @@ public class CMISChangeLogServiceTest extends TestCase assertChangeEvents(logToken, changeLog, THE_HALFT_OF_CREATED_AMOUNT, FoldersAppearing.NOT_EXPECTED); assertEquals(THE_HALFT_OF_CREATED_AMOUNT, changeLog.getChangeEvents().size()); assertTrue("Not all Change Log Entries were requested but result set is indicating that no one more Entry is avilable", changeLog.hasMoreItems()); - changeLog = changeLogService.getChangeLogEvents(logToken, TOTAL_AMOUNT); + changeLog = changeLogService.getChangeLogEvents(logToken, TOTAL_AMOUNT + (logToken == null ? 0 : 1)); assertChangeEvents(logToken, changeLog, TOTAL_AMOUNT, FoldersAppearing.NOT_EXPECTED); assertFalse("All Change Log Entries were requested but result set is indicating that some more Entry(s) are available", changeLog.hasMoreItems()); } @@ -404,7 +413,7 @@ public class CMISChangeLogServiceTest extends TestCase assertTrue("Not all Change Event Entries were requested but result set indicates that no more Entry(s) available", changeLogEvents.hasMoreItems()); assertChangeLog(changeToken, changeLogEvents); assertChangeEvents(changeToken, changeLogEvents, 15, FoldersAppearing.MAY_APPEAR); - changeLogEvents = changeLogService.getChangeLogEvents(changeToken, TOTAL_AMOUNT); + changeLogEvents = changeLogService.getChangeLogEvents(changeToken, TOTAL_AMOUNT + (changeToken == null ? 0 : 1)); assertChangeLog(changeToken, changeLogEvents); assertChangeEvents(changeToken, changeLogEvents, TOTAL_AMOUNT, FoldersAppearing.MUST_APPEAR); assertFalse("All Change Event Entries were requested but results indicating that some more Entry(s) available", changeLogEvents.hasMoreItems());