mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-14 13:33:08 +00:00
Enhance unit/integration tests to also test for mapped items in ITCommunityCollection
This commit is contained in:
@@ -1961,6 +1961,8 @@ public class CollectionTest extends AbstractDSpaceObjectTest
|
|||||||
{
|
{
|
||||||
//0 by default
|
//0 by default
|
||||||
assertTrue("testCountItems 0", itemService.countItems(context, collection) == 0);
|
assertTrue("testCountItems 0", itemService.countItems(context, collection) == 0);
|
||||||
|
|
||||||
|
//NOTE: a more thorough test of item counting is in ITCommunityCollection integration test
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1480,7 +1480,9 @@ public class CommunityTest extends AbstractDSpaceObjectTest
|
|||||||
public void testCountItems() throws Exception
|
public void testCountItems() throws Exception
|
||||||
{
|
{
|
||||||
//0 by default
|
//0 by default
|
||||||
assertTrue("testCountItems 0", communityService.countItems(context, c) == 0);
|
assertTrue("testCountItems 0", itemService.countItems(context, c) == 0);
|
||||||
|
|
||||||
|
//NOTE: a more thorough test of item counting is in ITCommunityCollection integration test
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -125,35 +125,46 @@ public class ITCommunityCollection extends AbstractIntegrationTest
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests that count items works as expected
|
* Tests that count items works as expected
|
||||||
|
* NOTE: Counts are currently expensive (take a while)
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
@PerfTest(invocations = 25, threads = 1)
|
@PerfTest(invocations = 10, threads = 1)
|
||||||
@Required(percentile95 = 2000, average= 1800)
|
@Required(percentile95 = 2000, average= 1800)
|
||||||
public void testCountItems() throws SQLException, AuthorizeException, IOException {
|
public void testCountItems() throws SQLException, AuthorizeException, IOException {
|
||||||
//make it an even number, not too high to reduce time during testing
|
int items_per_collection = 2;
|
||||||
int totalitems = 4;
|
|
||||||
|
|
||||||
//we create the structure
|
//we create the structure
|
||||||
context.turnOffAuthorisationSystem();
|
context.turnOffAuthorisationSystem();
|
||||||
Community parent = communityService.create(null, context);
|
Community parentCom = communityService.create(null, context);
|
||||||
Community child1 = communityService.create(parent, context);
|
Community childCom = communityService.create(parentCom, context);
|
||||||
|
|
||||||
Collection col1 = collectionService.create(context, child1);
|
Collection col1 = collectionService.create(context, childCom);
|
||||||
Collection col2 = collectionService.create(context, child1);
|
Collection col2 = collectionService.create(context, childCom);
|
||||||
|
|
||||||
for(int count = 0; count < totalitems/2; count++)
|
// Add same number of items to each collection
|
||||||
|
for(int count = 0; count < items_per_collection; count++)
|
||||||
{
|
{
|
||||||
|
|
||||||
Item item1 = installItemService.installItem(context, workspaceItemService.create(context, col1, false));
|
Item item1 = installItemService.installItem(context, workspaceItemService.create(context, col1, false));
|
||||||
Item item2 = installItemService.installItem(context, workspaceItemService.create(context, col2, false));
|
Item item2 = installItemService.installItem(context, workspaceItemService.create(context, col2, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Finally, let's throw in a small wrench and add a mapped item
|
||||||
|
// Add it to collection 1
|
||||||
|
Item item3 = installItemService.installItem(context, workspaceItemService.create(context, col1, false));
|
||||||
|
// Map it into collection 2
|
||||||
|
collectionService.addItem(context, col2, item3);
|
||||||
|
|
||||||
|
// Our total number of items should be
|
||||||
|
int totalitems = items_per_collection*2 + 1;
|
||||||
|
// Our collection counts should be
|
||||||
|
int collTotalItems = items_per_collection + 1;
|
||||||
|
|
||||||
context.restoreAuthSystemState();
|
context.restoreAuthSystemState();
|
||||||
|
|
||||||
//verify it works as expected
|
//verify it works as expected
|
||||||
assertThat("testCountItems 0", itemService.countItems(context, col1), equalTo(totalitems/2));
|
assertThat("testCountItems 0", itemService.countItems(context, col1), equalTo(collTotalItems));
|
||||||
assertThat("testCountItems 1", itemService.countItems(context, col2), equalTo(totalitems/2));
|
assertThat("testCountItems 1", itemService.countItems(context, col2), equalTo(collTotalItems));
|
||||||
assertThat("testCountItems 2", communityService.countItems(context, child1), equalTo(totalitems));
|
assertThat("testCountItems 2", itemService.countItems(context, childCom), equalTo(totalitems));
|
||||||
assertThat("testCountItems 3", communityService.countItems(context, parent), equalTo(totalitems));
|
assertThat("testCountItems 3", itemService.countItems(context, parentCom), equalTo(totalitems));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user