mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +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 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
|
||||
public static void setUpClass() {
|
||||
}
|
||||
@@ -84,11 +90,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
String title = null;
|
||||
String identifier = null;
|
||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
||||
if (TITLE_FIELD.matches(metadataValue)) {
|
||||
title = metadataValue.getValue();
|
||||
} else if (metadataValue.getSchema().equalsIgnoreCase("creativeworkseries")
|
||||
&& metadataValue.getElement().equalsIgnoreCase("issn")) {
|
||||
} else if (ISSN_FIELD.matches(metadataValue)) {
|
||||
identifier = metadataValue.getValue();
|
||||
}
|
||||
}
|
||||
@@ -132,11 +136,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
String title = null;
|
||||
String identifier = null;
|
||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
||||
if (TITLE_FIELD.matches(metadataValue)) {
|
||||
title = metadataValue.getValue();
|
||||
} else if (metadataValue.getSchema().equalsIgnoreCase("creativeworkseries")
|
||||
&& metadataValue.getElement().equalsIgnoreCase("issn")) {
|
||||
} else if (ISSN_FIELD.matches(metadataValue)) {
|
||||
identifier = metadataValue.getValue();
|
||||
}
|
||||
}
|
||||
@@ -172,12 +174,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
String title = null;
|
||||
String identifier = null;
|
||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
||||
if (TITLE_FIELD.matches(metadataValue)) {
|
||||
title = metadataValue.getValue();
|
||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
||||
&& metadataValue.getQualifier().equalsIgnoreCase("issn")) {
|
||||
} else if (ISSN_FIELD.matches(metadataValue)) {
|
||||
identifier = metadataValue.getValue();
|
||||
}
|
||||
}
|
||||
@@ -222,12 +221,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
String title = null;
|
||||
String identifier = null;
|
||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
||||
if (TITLE_FIELD.matches(metadataValue)) {
|
||||
title = metadataValue.getValue();
|
||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
||||
&& metadataValue.getQualifier().equalsIgnoreCase("issn")) {
|
||||
} else if (ISSN_FIELD.matches(metadataValue)) {
|
||||
identifier = metadataValue.getValue();
|
||||
}
|
||||
}
|
||||
@@ -268,16 +264,11 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
String identifier = null;
|
||||
String url = null;
|
||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
||||
if (TITLE_FIELD.matches(metadataValue)) {
|
||||
title = metadataValue.getValue();
|
||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
||||
&& metadataValue.getQualifier().equalsIgnoreCase("sherpaPublisher")) {
|
||||
} else if (SHERPA_PUBLISHER_FIELD.matches(metadataValue)) {
|
||||
identifier = metadataValue.getValue();
|
||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
||||
&& metadataValue.getQualifier().equalsIgnoreCase("other")) {
|
||||
} else if (OTHER_FIELD.matches(metadataValue)) {
|
||||
url = metadataValue.getValue();
|
||||
}
|
||||
}
|
||||
@@ -328,16 +319,11 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
String identifier = null;
|
||||
String url = null;
|
||||
for (MetadataValueDTO metadataValue : dataObject.getMetadata()) {
|
||||
if (metadataValue.getSchema().equalsIgnoreCase("dc") &&
|
||||
metadataValue.getElement().equalsIgnoreCase("title")) {
|
||||
if (TITLE_FIELD.matches(metadataValue)) {
|
||||
title = metadataValue.getValue();
|
||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
||||
&& metadataValue.getQualifier().equalsIgnoreCase("sherpaPublisher")) {
|
||||
} else if (SHERPA_PUBLISHER_FIELD.matches(metadataValue)) {
|
||||
identifier = metadataValue.getValue();
|
||||
} else if (metadataValue.getSchema().equalsIgnoreCase("dc")
|
||||
&& metadataValue.getElement().equalsIgnoreCase("identifier")
|
||||
&& metadataValue.getQualifier().equalsIgnoreCase("other")) {
|
||||
} else if (OTHER_FIELD.matches(metadataValue)) {
|
||||
url = metadataValue.getValue();
|
||||
}
|
||||
}
|
||||
@@ -378,12 +364,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
exemplarDataObject.setId(validIdentifier);
|
||||
exemplarDataObject.setValue(validName);
|
||||
exemplarDataObject.setDisplayValue(validName);
|
||||
exemplarDataObject.addMetadata(new MetadataValueDTO("dc", "title", null, null,
|
||||
validName));
|
||||
exemplarDataObject.addMetadata(new MetadataValueDTO("dc", "identifier", "sherpaPublisher", null,
|
||||
validIdentifier));
|
||||
exemplarDataObject.addMetadata(new MetadataValueDTO("dc", "identifier", "other", null,
|
||||
validUrl));
|
||||
exemplarDataObject.addMetadata(TITLE_FIELD.toMetadata(validName));
|
||||
exemplarDataObject.addMetadata(SHERPA_PUBLISHER_FIELD.toMetadata(validIdentifier));
|
||||
exemplarDataObject.addMetadata(OTHER_FIELD.toMetadata(validUrl));
|
||||
|
||||
// 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)
|
||||
@@ -392,12 +375,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
exemplarDataObject2.setId(validIdentifier);
|
||||
exemplarDataObject2.setValue(validName);
|
||||
exemplarDataObject2.setDisplayValue(validName);
|
||||
exemplarDataObject2.addMetadata(new MetadataValueDTO("dc", "identifier", "other", null,
|
||||
validUrl));
|
||||
exemplarDataObject2.addMetadata(new MetadataValueDTO("dc", "title", null, null,
|
||||
validName));
|
||||
exemplarDataObject2.addMetadata(new MetadataValueDTO("dc", "identifier", "sherpaPublisher", null,
|
||||
validIdentifier));
|
||||
exemplarDataObject2.addMetadata(OTHER_FIELD.toMetadata(validUrl));
|
||||
exemplarDataObject2.addMetadata(TITLE_FIELD.toMetadata(validName));
|
||||
exemplarDataObject2.addMetadata(SHERPA_PUBLISHER_FIELD.toMetadata(validIdentifier));
|
||||
|
||||
// Nonequal object should NOT evaluate as equal to our data
|
||||
ExternalDataObject nonEqualObject = new ExternalDataObject();
|
||||
@@ -405,12 +385,9 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
nonEqualObject.setId(validIdentifier);
|
||||
nonEqualObject.setValue(validName);
|
||||
nonEqualObject.setDisplayValue(validName);
|
||||
nonEqualObject.addMetadata(new MetadataValueDTO("dc", "title", null, null,
|
||||
"Private Library of Science"));
|
||||
nonEqualObject.addMetadata(new MetadataValueDTO("dc", "identifier", "sherpaPublisher", null,
|
||||
validIdentifier));
|
||||
nonEqualObject.addMetadata(new MetadataValueDTO("dc", "identifier", "other", null,
|
||||
validUrl));
|
||||
nonEqualObject.addMetadata(TITLE_FIELD.toMetadata("Private Library of Science"));
|
||||
nonEqualObject.addMetadata(SHERPA_PUBLISHER_FIELD.toMetadata(validIdentifier));
|
||||
nonEqualObject.addMetadata(OTHER_FIELD.toMetadata(validUrl));
|
||||
|
||||
|
||||
// Retrieve the dataobject(s) from the data provider
|
||||
@@ -435,4 +412,28 @@ public class SHERPADataProviderTest extends AbstractDSpaceTest {
|
||||
// Assert NON-equality to the 3rd object
|
||||
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