Skip to content
Snippets Groups Projects

feat: Add SpringerDownloadService

Merged Mathieu.Vonlanthen requested to merge MVO-download-springer into master
Files
3
package ch.unige.aou.test;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -7,8 +8,14 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.context.annotation.Profile;
import org.springframework.core.io.ClassPathResource;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import ch.unige.solidify.SolidifyConstants;
import ch.unige.solidify.util.FileTool;
import ch.unige.solidify.util.XMLTool;
import ch.unige.aou.AouMetadataVersion;
import ch.unige.aou.model.xml.deposit.v2.DepositDoc;
import ch.unige.aou.service.metadata.MetadataExtractorV2;
@@ -42,6 +49,7 @@ class MetadataExtractorV2Test extends MetadataTest {
* Serialize DepositDoc into Json again, then create another DepositDoc and check that data are preserved
*/
String xmlData = this.metadataExtractor.serializeDepositDocToXml(depositDoc);
this.assertIsXmlMetadataValid(xmlData);
String serializedJsonFormData = this.metadataExtractor.transformMetadataToFormData(xmlData);
// test that ids instead of codes are in form data
@@ -55,4 +63,27 @@ class MetadataExtractorV2Test extends MetadataTest {
assertNotNull(newDepositDoc);
this.assertEqualValuesV2(newDepositDoc);
}
@Test
void preparationWithEmptyListsMetadataTest() {
/**
* Create DepositDoc from Json form
*/
String jsonFormData = this.getJsonFormDataEmptyListsV2();
DepositDoc depositDoc = this.metadataExtractor.createDepositDocFromJsonFormData(jsonFormData);
assertNotNull(depositDoc);
String xmlData = this.metadataExtractor.serializeDepositDocToXml(depositDoc);
this.assertIsXmlMetadataValid(xmlData);
}
private void assertIsXmlMetadataValid(String xmlMetadata) {
assertDoesNotThrow(() -> {
ClassPathResource xsd = new ClassPathResource(
SolidifyConstants.SCHEMA_HOME + SolidifyConstants.URL_SEP + AouMetadataVersion.V2_0.getDepositMetadataSchema());
String schema = FileTool.toString(xsd.getInputStream());
XMLTool.validate(schema, xmlMetadata);
});
}
}
Loading