package dk.kb.yggdrasil.json; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; import java.util.Date; import java.util.UUID; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import dk.kb.yggdrasil.json.preservationimport.PreservationImportRequest; import dk.kb.yggdrasil.json.preservationimport.PreservationImportResponse; import dk.kb.yggdrasil.json.preservationimport.Response; import dk.kb.yggdrasil.json.preservationimport.Warc; import dk.kb.yggdrasil.preservationimport.PreservationImportState; @RunWith(JUnit4.class) public class PreservationImportRequestTest { private String defaultPreservationProfile = "simple"; private String defaultUrl = "http://url.url/"; private String defaultType = "METADATA"; private String defaultWarcFileId = "WARC_FILE_ID"; private String defaultWarcRecordId = "WARC_RECORD_ID"; @Test public void testDefaultPreservationImport() { PreservationImportRequest pr = getDefaultPreservationImportRequest(); assertTrue(pr.isMessageValid()); } @Test public void testPreservationImportRequestUUID() { PreservationImportRequest pr = getDefaultPreservationImportRequest(); pr.uuid = null; assertFalse(pr.isMessageValid()); pr.uuid = ""; assertFalse(pr.isMessageValid()); pr.uuid = UUID.randomUUID().toString(); assertTrue(pr.isMessageValid()); } @Test public void testPreservationImportRequestType() { PreservationImportRequest pr = getDefaultPreservationImportRequest(); pr.type = null; assertFalse(pr.isMessageValid()); pr.type = ""; assertFalse(pr.isMessageValid()); pr.type = defaultType; assertTrue(pr.isMessageValid()); } @Test public void testPreservationImportRequestPreservationProfile() { PreservationImportRequest pr = getDefaultPreservationImportRequest(); pr.preservation_profile = null; assertFalse(pr.isMessageValid()); pr.preservation_profile = ""; assertFalse(pr.isMessageValid()); pr.preservation_profile = defaultPreservationProfile; assertTrue(pr.isMessageValid()); } @Test public void testPreservationImportRequestUrl() { PreservationImportRequest pr = getDefaultPreservationImportRequest(); pr.url = null; assertFalse(pr.isMessageValid()); pr.url = ""; assertFalse(pr.isMessageValid()); pr.url = defaultUrl; assertTrue(pr.isMessageValid()); } @Test public void testPreservationImportRequestWarc() { PreservationImportRequest pr = getDefaultPreservationImportRequest(); pr.warc = null; assertFalse(pr.isMessageValid()); pr.warc = new Warc(); pr.warc.warc_file_id = defaultWarcFileId; pr.warc.warc_record_id = defaultWarcRecordId; assertTrue(pr.isMessageValid()); } @Test public void testPreservationImportRequestWarcFileId() { PreservationImportRequest pr = getDefaultPreservationImportRequest(); pr.warc.warc_file_id = null; assertFalse(pr.isMessageValid()); pr.warc.warc_file_id = ""; assertFalse(pr.isMessageValid()); pr.warc.warc_file_id = defaultWarcFileId; assertTrue(pr.isMessageValid()); } @Test public void testPreservationImportRequestWarcRecordId() { PreservationImportRequest pr = getDefaultPreservationImportRequest(); pr.warc.warc_record_id = null; assertFalse(pr.isMessageValid()); pr.warc.warc_record_id = ""; assertFalse(pr.isMessageValid()); pr.warc.warc_record_id = defaultWarcRecordId; assertTrue(pr.isMessageValid()); } public PreservationImportRequest getDefaultPreservationImportRequest() { PreservationImportRequest pr = new PreservationImportRequest(); pr.uuid = UUID.randomUUID().toString(); pr.preservation_profile = defaultPreservationProfile; pr.url = defaultUrl; pr.type = defaultType; pr.warc = new Warc(); pr.warc.warc_file_id = defaultWarcFileId; pr.warc.warc_record_id = defaultWarcRecordId; return pr; } @Test public void testPreservationImportResponse() { PreservationImportResponse response = new PreservationImportResponse(); response.uuid = UUID.randomUUID().toString(); response.type = defaultType; response.response = new Response(); response.response.date = new Date().toString(); response.response.detail = PreservationImportState.PRESERVATION_IMPORT_FINISHED.getDescription(); response.response.state = PreservationImportState.PRESERVATION_IMPORT_FINISHED.name(); } }