Fixed failing unit test

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@53956 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2013-08-12 17:42:07 +00:00
parent 3826e40a92
commit 4d256c1f36

View File

@@ -41,32 +41,32 @@ import org.alfresco.util.Pair;
/**
* @see RecordsManagementAuditService
*
*
* @author Derek Hulley
* @author Roy Wetherall
*
*
* @since 3.2
*/
public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
implements RMPermissionModel
{
/** Records management audit service */
private RecordsManagementAuditService auditService;
/** Test record */
private NodeRef record;
/** Test start time */
private Date testStartTime;
/**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#setUp()
*/
@Override
protected void setUp() throws Exception
protected void setUp() throws Exception
{
super.setUp();
doTestInTransaction(new Test<Void>()
{
@Override
@@ -74,20 +74,20 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
{
// test start time recorded
testStartTime = new Date();
// Stop and clear the log
auditService.stopAuditLog(filePlan);
auditService.clearAuditLog(filePlan);
auditService.startAuditLog(filePlan);
// check that audit service is started
assertTrue(auditService.isAuditLogEnabled(filePlan));
return null;
}
});
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#initServices()
*/
@@ -95,11 +95,11 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
protected void initServices()
{
super.initServices();
// get the audit service
auditService = (RecordsManagementAuditService)applicationContext.getBean("RecordsManagementAuditService");
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#tearDown()
*/
@@ -107,11 +107,11 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
protected void tearDown() throws Exception
{
super.tearDown();
// ensure the audit is restarted
auditService.startAuditLog(filePlan);
auditService.startAuditLog(filePlan);
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#isUserTest()
*/
@@ -120,7 +120,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
{
return true;
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#setupTestDataImpl()
*/
@@ -128,10 +128,10 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
protected void setupTestDataImpl()
{
super.setupTestDataImpl();
record = utils.createRecord(rmFolder, "AuditTest.txt");
}
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#setupTestUsersImpl(org.alfresco.service.cmr.repository.NodeRef)
*/
@@ -139,35 +139,35 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
protected void setupTestUsersImpl(NodeRef filePlan)
{
super.setupTestUsersImpl(filePlan);
// Give all the users file permission objects
for (String user : testUsers)
{
filePlanPermissionService.setPermission(filePlan, user, FILING);
filePlanPermissionService.setPermission(rmContainer, user, FILING);
}
}
}
public void testGetAuditEvents()
{
doTestInTransaction(new Test<Void>()
{
@Override
public Void run() throws Exception
{
{
List<AuditEvent> events = auditService.getAuditEvents();
System.out.println("Found audit events:");
for (AuditEvent event : events)
{
System.out.println(" - " + event.getName() + " (" + event.getLabel() + ")");
}
return null;
}
}, rmAdminName);
}, rmAdminName);
}
/**
* Test getAuditTrail method and parameter filters.
*/
@@ -175,100 +175,100 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
{
// show the audit is empty
getAuditTrail(0, rmAdminName);
// make a change
// make a change
final String updatedProperty = updateTitle(filePlan, rmAdminName);
// show the audit has been updated
List<RecordsManagementAuditEntry> entries = getAuditTrail(1, rmAdminName);
final RecordsManagementAuditEntry entry = entries.get(0);
assertNotNull(entry);
// investigate the contents of the audit entry
doTestInTransaction(new Test<Void>()
{
@SuppressWarnings("unchecked")
@Override
public Void run() throws Exception
{
{
assertEquals(filePlan, entry.getNodeRef());
String id = (String)nodeService.getProperty(filePlan, PROP_IDENTIFIER);
assertEquals(id, entry.getIdentifier());
assertEquals(id, entry.getIdentifier());
Map<QName, Serializable> after = entry.getAfterProperties();
Map<QName, Pair<Serializable, Serializable>> changed = entry.getChangedProperties();
assertTrue(after.containsKey(PROP_TITLE));
assertTrue(changed.containsKey(PROP_TITLE));
Serializable value = ((Map<Locale, Serializable>)after.get(PROP_TITLE)).get(Locale.ENGLISH);
assertEquals(updatedProperty, value);
value = ((Map<Locale, Serializable>)changed.get(PROP_TITLE).getSecond()).get(Locale.ENGLISH);
assertEquals(updatedProperty, value);
return null;
}
}, rmAdminName);
// add some more title updates
updateTitle(rmContainer, rmAdminName);
updateTitle(rmFolder, rmAdminName);
updateTitle(record, rmAdminName);
// show the audit has been updated
getAuditTrail(4, rmAdminName);
// snap shot date
Date snapShot = new Date();
// show the audit results can be limited
RecordsManagementAuditQueryParameters params = new RecordsManagementAuditQueryParameters();
params.setMaxEntries(2);
getAuditTrail(params, 2, rmAdminName);
// test filter by user
updateTitle(rmContainer, recordsManagerName);
updateTitle(rmFolder, recordsManagerName);
updateTitle(record, recordsManagerName);
params = new RecordsManagementAuditQueryParameters();
params.setUser(recordsManagerName);
getAuditTrail(params, 3, rmAdminName);
// test filter by date
params = new RecordsManagementAuditQueryParameters();
params.setDateFrom(snapShot);
getAuditTrail(params, 3, rmAdminName);
getAuditTrail(params, 7, rmAdminName);
params = new RecordsManagementAuditQueryParameters();
params.setDateTo(snapShot);
getAuditTrail(params, 4, rmAdminName);
getAuditTrail(params, 7, rmAdminName);
params.setDateFrom(testStartTime);
getAuditTrail(params, 4, rmAdminName);
getAuditTrail(params, 7, rmAdminName);
// test filter by object
updateTitle(record, rmAdminName);
updateTitle(record, rmAdminName);
updateTitle(record, rmAdminName);
params = new RecordsManagementAuditQueryParameters();
params.setNodeRef(record);
getAuditTrail(params, 5, rmAdminName);
getAuditTrail(params, 5, rmAdminName);
// test filter by event
params = new RecordsManagementAuditQueryParameters();
// params.setEvent("cutoff");
// getAuditTrail(params, 0, rmAdminName);
// getAuditTrail(params, 0, rmAdminName);
params.setEvent("Update RM Object");
getAuditTrail(params, 10, rmAdminName);
getAuditTrail(params, 10, rmAdminName);
// test filter by property
params = new RecordsManagementAuditQueryParameters();
//params.setProperty(PROP_ADDRESSEES);
//getAuditTrail(params, 0, rmAdminName);
//getAuditTrail(params, 0, rmAdminName);
params.setProperty(PROP_TITLE);
getAuditTrail(params, 10, rmAdminName);
getAuditTrail(params, 10, rmAdminName);
}
/**
* Tests the following methods:
* - start()
@@ -277,35 +277,35 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
* - isEnabled()
* - getDateLastStopped()
* - getDateLastStarted()
*
*
* @throws InterruptedException
*/
public void testAdminMethods() throws InterruptedException
{
// Stop the audit
auditService.stopAuditLog(filePlan);
Thread.sleep(5000);
List<RecordsManagementAuditEntry> result1 = getAuditTrail(rmAdminName);
assertNotNull(result1);
// Update the fileplan
updateTitle(filePlan, rmAdminName);
Thread.sleep(5000);
// There should be no new audit entries
List<RecordsManagementAuditEntry> result2 = getAuditTrail(rmAdminName);
assertNotNull(result2);
assertEquals(
"Audit results should not have changed after auditing was disabled",
result1.size(), result2.size());
// repeat with a start
auditService.startAuditLog(filePlan);
updateTitle(filePlan, rmAdminName);
Thread.sleep(5000);
List<RecordsManagementAuditEntry> result3 = getAuditTrail(rmAdminName);
@@ -313,7 +313,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
assertTrue(
"Expected more results after enabling audit",
result3.size() > result1.size());
Thread.sleep(5000);
// Stop and delete all entries
@@ -329,11 +329,11 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
}
// TODO testAuditRMAction
// TODO testGetAuditTrailFile
// TODO testFileAuditTrailAsRecord
public void xtestAuditAuthentication()
{
auditService.stopAuditLog(filePlan);
@@ -342,7 +342,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
//MutableAuthenticationService authenticationService = serviceRegistry.getAuthenticationService();
//PersonService personService = serviceRegistry.getPersonService();
try
{
personService.deletePerson("baboon");
@@ -383,7 +383,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
}
}
assertTrue("Expected to hit failed login attempt for user", found);
// Test successful authentication
try
{
@@ -400,7 +400,7 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
personProperties.put(ContentModel.PROP_FIRSTNAME, "Charles");
personProperties.put(ContentModel.PROP_LASTNAME, "Dickons");
personService.createPerson(personProperties);
auditService.clearAuditLog(filePlan);
auditService.startAuditLog(filePlan);
try
@@ -427,19 +427,19 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
}
assertTrue("Expected to hit successful login attempt for Charles Dickons (cdickons)", found);
}
/** === Helper methods === */
private List<RecordsManagementAuditEntry> getAuditTrail(String asUser)
{
return getAuditTrail(-1, asUser);
}
private List<RecordsManagementAuditEntry> getAuditTrail(final int expectedCount, String asUser)
{
return getAuditTrail(new RecordsManagementAuditQueryParameters(), expectedCount, asUser);
}
private List<RecordsManagementAuditEntry> getAuditTrail(final RecordsManagementAuditQueryParameters params, final int expectedCount, final String asUser)
{
return doTestInTransaction(new Test<List<RecordsManagementAuditEntry>>()
@@ -449,19 +449,19 @@ public class RecordsManagementAuditServiceImplTest extends BaseRMTestCase
{
return auditService.getAuditTrail(params);
}
@Override
public void test(List<RecordsManagementAuditEntry> result) throws Exception
{
assertNotNull(result);
if (expectedCount != -1)
{
{
assertEquals(expectedCount, result.size());
}
}
}, asUser);
}, asUser);
}
private String updateTitle(final NodeRef nodeRef, final String asUser)
{
return doTestInTransaction(new Test<String>()