mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +00:00
taskid 78006 Test metadata field caching branch - PR 3160
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
/**
|
||||
* The contents of this file are subject to the license and copyright
|
||||
* detailed in the LICENSE and NOTICE files at the root of the source
|
||||
* tree and available online at
|
||||
*
|
||||
* http://www.dspace.org/license/
|
||||
*/
|
||||
package org.dspace.content.service;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
import org.dspace.AbstractUnitTest;
|
||||
import org.dspace.content.MetadataField;
|
||||
import org.dspace.content.MetadataSchema;
|
||||
import org.dspace.content.factory.ContentServiceFactory;
|
||||
import org.dspace.core.Context;
|
||||
import org.junit.Test;
|
||||
|
||||
public class MetadataFieldServiceTest extends AbstractUnitTest {
|
||||
|
||||
private MetadataFieldService metadataFieldService =
|
||||
ContentServiceFactory.getInstance().getMetadataFieldService();
|
||||
private MetadataSchemaService metadataSchemaService =
|
||||
ContentServiceFactory.getInstance().getMetadataSchemaService();
|
||||
|
||||
@Test
|
||||
public void testMetadataFieldCaching() throws Exception {
|
||||
|
||||
MetadataField subjectField = metadataFieldService.findByElement(context, "dc", "subject", null);
|
||||
MetadataField issnField = metadataFieldService.findByElement(context, "dc", "identifier", "issn");
|
||||
|
||||
MetadataSchema dspaceSchema = metadataSchemaService.find(context, "dspace");
|
||||
|
||||
subjectField.setMetadataSchema(dspaceSchema);
|
||||
issnField.setMetadataSchema(dspaceSchema);
|
||||
|
||||
// Searching for dspace.subject and dspace.identifier.issn should return the already stored metadatafields
|
||||
assertEquals(
|
||||
subjectField,
|
||||
metadataFieldService.findByElement(context, "dspace", "subject", null)
|
||||
);
|
||||
assertEquals(
|
||||
issnField,
|
||||
metadataFieldService.findByElement(context, "dspace", "identifier", "issn")
|
||||
);
|
||||
|
||||
// Metadatafields dc.subject and dc.identifier.issn should no longer be found
|
||||
assertNull(
|
||||
metadataFieldService.findByElement(context, "dc", "subject", null)
|
||||
);
|
||||
assertNull(
|
||||
metadataFieldService.findByElement(context, "dc", "identifier", "issn")
|
||||
);
|
||||
|
||||
// Same tests, new context
|
||||
|
||||
context.complete();
|
||||
context = new Context();
|
||||
|
||||
assertEquals(
|
||||
subjectField,
|
||||
metadataFieldService.findByElement(context, "dspace", "subject", null)
|
||||
);
|
||||
assertEquals(
|
||||
issnField,
|
||||
metadataFieldService.findByElement(context, "dspace", "identifier", "issn")
|
||||
);
|
||||
assertNull(
|
||||
metadataFieldService.findByElement(context, "dc", "subject", null)
|
||||
);
|
||||
assertNull(
|
||||
metadataFieldService.findByElement(context, "dc", "identifier", "issn")
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user