mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 10:04:21 +00:00
[DURACOM-356] Updated tests to use metadata constants
(cherry picked from commit 94c5f5d6f7
)
This commit is contained in:

committed by
github-actions[bot]
![github-actions[bot]](/assets/img/avatar_default.png)
parent
20e3f2e030
commit
27d3d75ca5
@@ -38,6 +38,12 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
ExternalDataProvider sherpaPublisherProvider;
|
ExternalDataProvider sherpaPublisherProvider;
|
||||||
ExternalDataProvider sherpaJournalIssnProvider;
|
ExternalDataProvider sherpaJournalIssnProvider;
|
||||||
|
|
||||||
|
private static final MetadataFieldRef TITLE_FIELD = new MetadataFieldRef("dc", "title", null);
|
||||||
|
private static final MetadataFieldRef ISSN_FIELD = new MetadataFieldRef("creativeworkseries", "issn", null);
|
||||||
|
private static final MetadataFieldRef SHERPA_PUBLISHER_FIELD =
|
||||||
|
new MetadataFieldRef("dc", "identifier", "sherpaPublisher");
|
||||||
|
private static final MetadataFieldRef OTHER_FIELD = new MetadataFieldRef("dc", "identifier", "other");
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setUpClass() {
|
public static void setUpClass() {
|
||||||
}
|
}
|
||||||
@@ -84,11 +90,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
String title = null;
|
String title = null;
|
||||||
String identifier = null;
|
String identifier = null;
|
||||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
if (TITLE_FIELD.matches(metadataValue)) {
|
||||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
|
||||||
title = metadataValue.getValue();
|
title = metadataValue.getValue();
|
||||||
} else if (metadataValue.getSchema().equalsIgnoreCase("creativeworkseries")
|
} else if (ISSN_FIELD.matches(metadataValue)) {
|
||||||
&& metadataValue.getElement().equalsIgnoreCase("issn")) {
|
|
||||||
identifier = metadataValue.getValue();
|
identifier = metadataValue.getValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -132,11 +136,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
String title = null;
|
String title = null;
|
||||||
String identifier = null;
|
String identifier = null;
|
||||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
if (TITLE_FIELD.matches(metadataValue)) {
|
||||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
|
||||||
title = metadataValue.getValue();
|
title = metadataValue.getValue();
|
||||||
} else if (metadataValue.getSchema().equalsIgnoreCase("creativeworkseries")
|
} else if (ISSN_FIELD.matches(metadataValue)) {
|
||||||
&& metadataValue.getElement().equalsIgnoreCase("issn")) {
|
|
||||||
identifier = metadataValue.getValue();
|
identifier = metadataValue.getValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -172,12 +174,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
String title = null;
|
String title = null;
|
||||||
String identifier = null;
|
String identifier = null;
|
||||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
if (TITLE_FIELD.matches(metadataValue)) {
|
||||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
|
||||||
title = metadataValue.getValue();
|
title = metadataValue.getValue();
|
||||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
} else if (ISSN_FIELD.matches(metadataValue)) {
|
||||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
|
||||||
&& metadataValue.getQualifier().equalsIgnoreCase("issn")) {
|
|
||||||
identifier = metadataValue.getValue();
|
identifier = metadataValue.getValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -222,12 +221,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
String title = null;
|
String title = null;
|
||||||
String identifier = null;
|
String identifier = null;
|
||||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
if (TITLE_FIELD.matches(metadataValue)) {
|
||||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
|
||||||
title = metadataValue.getValue();
|
title = metadataValue.getValue();
|
||||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
} else if (ISSN_FIELD.matches(metadataValue)) {
|
||||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
|
||||||
&& metadataValue.getQualifier().equalsIgnoreCase("issn")) {
|
|
||||||
identifier = metadataValue.getValue();
|
identifier = metadataValue.getValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -268,16 +264,11 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
String identifier = null;
|
String identifier = null;
|
||||||
String url = null;
|
String url = null;
|
||||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
if (TITLE_FIELD.matches(metadataValue)) {
|
||||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
|
||||||
title = metadataValue.getValue();
|
title = metadataValue.getValue();
|
||||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
} else if (SHERPA_PUBLISHER_FIELD.matches(metadataValue)) {
|
||||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
|
||||||
&& metadataValue.getQualifier().equalsIgnoreCase("sherpaPublisher")) {
|
|
||||||
identifier = metadataValue.getValue();
|
identifier = metadataValue.getValue();
|
||||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
} else if (OTHER_FIELD.matches(metadataValue)) {
|
||||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
|
||||||
&& metadataValue.getQualifier().equalsIgnoreCase("other")) {
|
|
||||||
url = metadataValue.getValue();
|
url = metadataValue.getValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -328,16 +319,11 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
String identifier = null;
|
String identifier = null;
|
||||||
String url = null;
|
String url = null;
|
||||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
if (TITLE_FIELD.matches(metadataValue)) {
|
||||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
|
||||||
title = metadataValue.getValue();
|
title = metadataValue.getValue();
|
||||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
} else if (SHERPA_PUBLISHER_FIELD.matches(metadataValue)) {
|
||||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
|
||||||
&& metadataValue.getQualifier().equalsIgnoreCase("sherpaPublisher")) {
|
|
||||||
identifier = metadataValue.getValue();
|
identifier = metadataValue.getValue();
|
||||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
} else if (OTHER_FIELD.matches(metadataValue)) {
|
||||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
|
||||||
&& metadataValue.getQualifier().equalsIgnoreCase("other")) {
|
|
||||||
url = metadataValue.getValue();
|
url = metadataValue.getValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -378,12 +364,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
exemplarDataObject.setId(validIdentifier);
|
exemplarDataObject.setId(validIdentifier);
|
||||||
exemplarDataObject.setValue(validName);
|
exemplarDataObject.setValue(validName);
|
||||||
exemplarDataObject.setDisplayValue(validName);
|
exemplarDataObject.setDisplayValue(validName);
|
||||||
exemplarDataObject.addMetadata(new MetadataValueDTO("dc", "title", null, null,
|
exemplarDataObject.addMetadata(TITLE_FIELD.toMetadata(validName));
|
||||||
validName));
|
exemplarDataObject.addMetadata(SHERPA_PUBLISHER_FIELD.toMetadata(validIdentifier));
|
||||||
exemplarDataObject.addMetadata(new MetadataValueDTO("dc", "identifier", "sherpaPublisher", null,
|
exemplarDataObject.addMetadata(OTHER_FIELD.toMetadata(validUrl));
|
||||||
validIdentifier));
|
|
||||||
exemplarDataObject.addMetadata(new MetadataValueDTO("dc", "identifier", "other", null,
|
|
||||||
validUrl));
|
|
||||||
|
|
||||||
// Exemplar object 2 has a different order of metadata values
|
// Exemplar object 2 has a different order of metadata values
|
||||||
// (we still expect it to be 'equal' when comparing since there is no concept of place for DTOs)
|
// (we still expect it to be 'equal' when comparing since there is no concept of place for DTOs)
|
||||||
@@ -392,12 +375,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
exemplarDataObject2.setId(validIdentifier);
|
exemplarDataObject2.setId(validIdentifier);
|
||||||
exemplarDataObject2.setValue(validName);
|
exemplarDataObject2.setValue(validName);
|
||||||
exemplarDataObject2.setDisplayValue(validName);
|
exemplarDataObject2.setDisplayValue(validName);
|
||||||
exemplarDataObject2.addMetadata(new MetadataValueDTO("dc", "identifier", "other", null,
|
exemplarDataObject2.addMetadata(OTHER_FIELD.toMetadata(validUrl));
|
||||||
validUrl));
|
exemplarDataObject2.addMetadata(TITLE_FIELD.toMetadata(validName));
|
||||||
exemplarDataObject2.addMetadata(new MetadataValueDTO("dc", "title", null, null,
|
exemplarDataObject2.addMetadata(SHERPA_PUBLISHER_FIELD.toMetadata(validIdentifier));
|
||||||
validName));
|
|
||||||
exemplarDataObject2.addMetadata(new MetadataValueDTO("dc", "identifier", "sherpaPublisher", null,
|
|
||||||
validIdentifier));
|
|
||||||
|
|
||||||
// Nonequal object should NOT evaluate as equal to our data
|
// Nonequal object should NOT evaluate as equal to our data
|
||||||
ExternalDataObject nonEqualObject = new ExternalDataObject();
|
ExternalDataObject nonEqualObject = new ExternalDataObject();
|
||||||
@@ -405,12 +385,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
nonEqualObject.setId(validIdentifier);
|
nonEqualObject.setId(validIdentifier);
|
||||||
nonEqualObject.setValue(validName);
|
nonEqualObject.setValue(validName);
|
||||||
nonEqualObject.setDisplayValue(validName);
|
nonEqualObject.setDisplayValue(validName);
|
||||||
nonEqualObject.addMetadata(new MetadataValueDTO("dc", "title", null, null,
|
nonEqualObject.addMetadata(TITLE_FIELD.toMetadata("Private Library of Science"));
|
||||||
"Private Library of Science"));
|
nonEqualObject.addMetadata(SHERPA_PUBLISHER_FIELD.toMetadata(validIdentifier));
|
||||||
nonEqualObject.addMetadata(new MetadataValueDTO("dc", "identifier", "sherpaPublisher", null,
|
nonEqualObject.addMetadata(OTHER_FIELD.toMetadata(validUrl));
|
||||||
validIdentifier));
|
|
||||||
nonEqualObject.addMetadata(new MetadataValueDTO("dc", "identifier", "other", null,
|
|
||||||
validUrl));
|
|
||||||
|
|
||||||
|
|
||||||
// Retrieve the dataobject(s) from the data provider
|
// Retrieve the dataobject(s) from the data provider
|
||||||
@@ -435,4 +412,28 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
|||||||
// Assert NON-equality to the 3rd object
|
// Assert NON-equality to the 3rd object
|
||||||
assertNotEquals(nonEqualObject, dataObject);
|
assertNotEquals(nonEqualObject, dataObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static class MetadataFieldRef {
|
||||||
|
public final String schema;
|
||||||
|
public final String element;
|
||||||
|
public final String qualifier;
|
||||||
|
|
||||||
|
public MetadataFieldRef(String schema, String element, String qualifier) {
|
||||||
|
this.schema = schema;
|
||||||
|
this.element = element;
|
||||||
|
this.qualifier = qualifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean matches(MetadataValueDTO value) {
|
||||||
|
return schema.equalsIgnoreCase(value.getSchema()) &&
|
||||||
|
element.equalsIgnoreCase(value.getElement()) &&
|
||||||
|
(qualifier == null ? value.getQualifier() == null
|
||||||
|
: qualifier.equalsIgnoreCase(value.getQualifier()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public MetadataValueDTO toMetadata(String value) {
|
||||||
|
return new MetadataValueDTO(schema, element, qualifier, null, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Reference in New Issue
Block a user