diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java index 08c72a6434627c5b3492ac732cb00e4c764ca4b4..c5e28f434368c98c3a1f44d23bff9fcf72ae61b8 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java @@ -43,8 +43,8 @@ public class OaipmhUtilitiesOnline { // ## CHANGE SETTINGS BELOW FOR SETTING TEST SCOPE --------------------------------------------- - public static final String PROPERTIES_FILE = "oaipmh.test.textgridlab-org.properties"; - // public static final String PROPERTIES_FILE = "oaipmh.test.dev-textgridlab-org.properties"; + // public static final String PROPERTIES_FILE = "oaipmh.test.textgridlab-org.properties"; + public static final String PROPERTIES_FILE = "oaipmh.test.dev-textgridlab-org.properties"; public static final boolean TEST_ALL_PAGES = false; // public static final boolean TEST_ALL_PAGES = true; @@ -576,6 +576,32 @@ public class OaipmhUtilitiesOnline { } } + /** + * <p> + * Looks for both dates and compares them. <datestamp> must be equal to <recordChangeDate>! + * </p> + * + * @param theResponseString + */ + public static void examineModificationDates(String theResponseString) { + + String datestampTag = "<datestamp>"; + String recordChangeTag = "<recordChangeDate encoding=\"iso8601\">"; + + // Count the occurrence of modification date, must be in GetRecord.record.header.datestamp, and + // in mets.recordInfo.recordChangeDate! + String datestamp = theResponseString.substring( + theResponseString.indexOf(datestampTag) + datestampTag.length(), + theResponseString.indexOf("</datestamp>") - 10); + String recordChangeDate = theResponseString.substring( + theResponseString.indexOf(recordChangeTag) + recordChangeTag.length(), + theResponseString.indexOf("</recordChangeDate>") - 1); + + if (!datestamp.equals(recordChangeDate)) { + assertTrue(datestamp + " != " + recordChangeDate, false); + } + } + // ** // DH used methods // ** diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java index c58268b33a656eeb4f4b64d79f35da08f7de6700..10bc4ea975c089c5cdd2a662f0b135a2de7f47e0 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java @@ -175,6 +175,7 @@ public class TestTGGetRecordOnline { // Test OAI header. OaipmhUtilitiesOnline.examineTGHeaderIDs(response, OaipmhUtilitiesOnline.OAI_IDIOMMETS_PREFIX); + OaipmhUtilitiesOnline.examineModificationDates(response); System.out.println("\tresponse: " + response); System.out.println(OaipmhUtilitiesOnline.OK); @@ -206,6 +207,7 @@ public class TestTGGetRecordOnline { // Test OAI header. OaipmhUtilitiesOnline.examineTGHeaderIDs(response, OaipmhUtilitiesOnline.OAI_IDIOMMETS_PREFIX); + OaipmhUtilitiesOnline.examineModificationDates(response); System.out.println("\tresponse: " + response); System.out.println(OaipmhUtilitiesOnline.OK);