mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-01 14:41:46 +00:00
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:
@@ -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>()
|
||||
|
Reference in New Issue
Block a user