Author: msahyoun Date: Wed Nov 18 11:30:07 2020 New Revision: 1883592 URL: http://svn.apache.org/viewvc?rev=1883592&view=rev Log: PDFBOX-5017: fix XMPSchema tests; instanciate metadata for each run
Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/AdobePDFTest.java pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PDFAIdentificationTest.java pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPBasicTest.java pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XmpRightsSchemaTest.java Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/AdobePDFTest.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/AdobePDFTest.java?rev=1883592&r1=1883591&r2=1883592&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/AdobePDFTest.java (original) +++ pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/AdobePDFTest.java Wed Nov 18 11:30:07 2020 @@ -25,40 +25,56 @@ import static org.junit.jupiter.api.Asse import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; +import java.util.stream.Stream; + import org.apache.xmpbox.XMPMetadata; import org.apache.xmpbox.type.BadFieldValueException; +import org.apache.xmpbox.type.PropertyType; import org.apache.xmpbox.type.Types; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; public class AdobePDFTest { + + private XMPMetadata metadata; + private XMPSchema schema; + private Class<?> schemaClass; + + @BeforeEach + void initMetadata() + { + metadata = XMPMetadata.createXMPMetadata(); + schema = metadata.createAndAddAdobePDFSchema(); + schemaClass = AdobePDFSchema.class; + } + @ParameterizedTest @MethodSource("initializeParameters") - public void testElementValue(XMPSchemaTester xmpSchemaTester) throws Exception + public void testElementValue(String property, PropertyType type, String value) throws Exception { + XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value); xmpSchemaTester.testGetSetValue(); } @ParameterizedTest @MethodSource("initializeParameters") - public void testElementProperty(XMPSchemaTester xmpSchemaTester) throws Exception + public void testElementProperty(String property, PropertyType type, String value) throws Exception { + XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value); xmpSchemaTester.testGetSetProperty(); } - static XMPSchemaTester[] initializeParameters() throws Exception - { - XMPMetadata metadata = XMPMetadata.createXMPMetadata(); - XMPSchema schema = metadata.createAndAddAdobePDFSchema(); - Class<?> schemaClass = AdobePDFSchema.class; - - return new XMPSchemaTester[] { - new XMPSchemaTester(metadata, schema, schemaClass, "Keywords", XMPSchemaTester.createPropertyType(Types.Text), "kw1 kw2 kw3"), - new XMPSchemaTester(metadata, schema, schemaClass, "PDFVersion", XMPSchemaTester.createPropertyType(Types.Text), "1.4"), - new XMPSchemaTester(metadata, schema, schemaClass, "Producer", XMPSchemaTester.createPropertyType(Types.Text), "testcase") - }; + static Stream<Arguments> initializeParameters() throws Exception + { + return Stream.of( + Arguments.of("Keywords", XMPSchemaTester.createPropertyType(Types.Text), "kw1 kw2 kw3"), + Arguments.of("PDFVersion", XMPSchemaTester.createPropertyType(Types.Text), "1.4"), + Arguments.of("Producer", XMPSchemaTester.createPropertyType(Types.Text), "testcase") + ); } @Test Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PDFAIdentificationTest.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PDFAIdentificationTest.java?rev=1883592&r1=1883591&r2=1883592&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PDFAIdentificationTest.java (original) +++ pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/PDFAIdentificationTest.java Wed Nov 18 11:30:07 2020 @@ -21,37 +21,52 @@ package org.apache.xmpbox.schema; +import java.util.stream.Stream; + import org.apache.xmpbox.XMPMetadata; +import org.apache.xmpbox.type.PropertyType; import org.apache.xmpbox.type.Types; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; public class PDFAIdentificationTest { + private XMPMetadata metadata; + private XMPSchema schema; + private Class<?> schemaClass; + + @BeforeEach + void initMetadata() + { + metadata = XMPMetadata.createXMPMetadata(); + schema = metadata.createAndAddPFAIdentificationSchema(); + schemaClass = PDFAIdentificationSchema.class; + } + @ParameterizedTest @MethodSource("initializeParameters") - public void testElementValue(XMPSchemaTester xmpSchemaTester) throws Exception + public void testElementValue(String property, PropertyType type, Object value) throws Exception { + XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value); xmpSchemaTester.testGetSetValue(); } @ParameterizedTest @MethodSource("initializeParameters") - public void testElementProperty(XMPSchemaTester xmpSchemaTester) throws Exception + public void testElementProperty(String property, PropertyType type, Object value) throws Exception { + XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value); xmpSchemaTester.testGetSetProperty(); } - static XMPSchemaTester[] initializeParameters() throws Exception + static Stream<Arguments> initializeParameters() throws Exception { - XMPMetadata metadata = XMPMetadata.createXMPMetadata(); - XMPSchema schema = metadata.createAndAddPFAIdentificationSchema(); - Class<?> schemaClass = PDFAIdentificationSchema.class; - - return new XMPSchemaTester[] { - new XMPSchemaTester(metadata, schema, schemaClass, "part", XMPSchemaTester.createPropertyType(Types.Integer), 1), - new XMPSchemaTester(metadata, schema, schemaClass, "amd", XMPSchemaTester.createPropertyType(Types.Text), "2005"), - new XMPSchemaTester(metadata, schema, schemaClass, "conformance", XMPSchemaTester.createPropertyType(Types.Text), "B") - }; + return Stream.of( + Arguments.of("part", XMPSchemaTester.createPropertyType(Types.Integer), 1), + Arguments.of("amd", XMPSchemaTester.createPropertyType(Types.Text), "2005"), + Arguments.of("conformance", XMPSchemaTester.createPropertyType(Types.Text), "B") + ); } } Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPBasicTest.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPBasicTest.java?rev=1883592&r1=1883591&r2=1883592&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPBasicTest.java (original) +++ pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XMPBasicTest.java Wed Nov 18 11:30:07 2020 @@ -22,47 +22,61 @@ package org.apache.xmpbox.schema; import java.util.Calendar; +import java.util.stream.Stream; import org.apache.xmpbox.XMPMetadata; import org.apache.xmpbox.type.Cardinality; +import org.apache.xmpbox.type.PropertyType; import org.apache.xmpbox.type.Types; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; public class XMPBasicTest { + private XMPMetadata metadata; + private XMPSchema schema; + private Class<?> schemaClass; + + @BeforeEach + void initMetadata() + { + metadata = XMPMetadata.createXMPMetadata(); + schema = metadata.createAndAddXMPBasicSchema(); + schemaClass = XMPBasicSchema.class; + } + @ParameterizedTest @MethodSource("initializeParameters") - public void testElementValue(XMPSchemaTester xmpSchemaTester) throws Exception + public void testElementValue(String property, PropertyType type, Object value) throws Exception { + XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value); xmpSchemaTester.testGetSetValue(); } @ParameterizedTest @MethodSource("initializeParameters") - public void testElementProperty(XMPSchemaTester xmpSchemaTester) throws Exception + public void testElementProperty(String property, PropertyType type, Object value) throws Exception { + XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value); xmpSchemaTester.testGetSetProperty(); } - static XMPSchemaTester[] initializeParameters() throws Exception + static Stream<Arguments> initializeParameters() throws Exception { - XMPMetadata metadata = XMPMetadata.createXMPMetadata(); - XMPSchema schema = metadata.createAndAddXMPBasicSchema(); - Class<?> schemaClass = XMPBasicSchema.class; - - return new XMPSchemaTester[] { - new XMPSchemaTester(metadata, schema, schemaClass, "Advisory", XMPSchemaTester.createPropertyType(Types.XPath, Cardinality.Bag), new String[] { "xpath1", "xpath2" }), - new XMPSchemaTester(metadata, schema, schemaClass, "BaseURL", XMPSchemaTester.createPropertyType(Types.URL), "URL"), - new XMPSchemaTester(metadata, schema, schemaClass, "CreateDate", XMPSchemaTester.createPropertyType(Types.Date), Calendar.getInstance()), - new XMPSchemaTester(metadata, schema, schemaClass, "CreatorTool", XMPSchemaTester.createPropertyType(Types.AgentName), "CreatorTool"), - new XMPSchemaTester(metadata, schema, schemaClass, "Identifier", XMPSchemaTester.createPropertyType(Types.Text, Cardinality.Bag), new String[] { "id1", "id2" }), - new XMPSchemaTester(metadata, schema, schemaClass, "Label", XMPSchemaTester.createPropertyType(Types.Text), "label"), - new XMPSchemaTester(metadata, schema, schemaClass, "MetadataDate", XMPSchemaTester.createPropertyType(Types.Date), Calendar.getInstance()), - new XMPSchemaTester(metadata, schema, schemaClass, "ModifyDate", XMPSchemaTester.createPropertyType(Types.Date), Calendar.getInstance()), - new XMPSchemaTester(metadata, schema, schemaClass, "Nickname", XMPSchemaTester.createPropertyType(Types.Text), "nick name"), - new XMPSchemaTester(metadata, schema, schemaClass, "Rating", XMPSchemaTester.createPropertyType(Types.Integer), 7), - new XMPSchemaTester(metadata, schema, schemaClass, "Thumbnails", XMPSchemaTester.createPropertyType(Types.Thumbnail, Cardinality.Alt), null) - }; + return Stream.of( + Arguments.of("Advisory", XMPSchemaTester.createPropertyType(Types.XPath, Cardinality.Bag), new String[] { "xpath1", "xpath2" }), + Arguments.of("BaseURL", XMPSchemaTester.createPropertyType(Types.URL), "URL"), + Arguments.of("CreateDate", XMPSchemaTester.createPropertyType(Types.Date), Calendar.getInstance()), + Arguments.of("CreatorTool", XMPSchemaTester.createPropertyType(Types.AgentName), "CreatorTool"), + Arguments.of("Identifier", XMPSchemaTester.createPropertyType(Types.Text, Cardinality.Bag), new String[] { "id1", "id2" }), + Arguments.of("Label", XMPSchemaTester.createPropertyType(Types.Text), "label"), + Arguments.of("MetadataDate", XMPSchemaTester.createPropertyType(Types.Date), Calendar.getInstance()), + Arguments.of("ModifyDate", XMPSchemaTester.createPropertyType(Types.Date), Calendar.getInstance()), + Arguments.of("Nickname", XMPSchemaTester.createPropertyType(Types.Text), "nick name"), + Arguments.of("Rating", XMPSchemaTester.createPropertyType(Types.Integer), 7), + Arguments.of("Thumbnails", XMPSchemaTester.createPropertyType(Types.Thumbnail, Cardinality.Alt), null) + ); } } Modified: pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XmpRightsSchemaTest.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XmpRightsSchemaTest.java?rev=1883592&r1=1883591&r2=1883592&view=diff ============================================================================== --- pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XmpRightsSchemaTest.java (original) +++ pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema/XmpRightsSchemaTest.java Wed Nov 18 11:30:07 2020 @@ -23,45 +23,59 @@ package org.apache.xmpbox.schema; import java.util.HashMap; import java.util.Map; +import java.util.stream.Stream; import org.apache.xmpbox.XMPMetadata; import org.apache.xmpbox.type.Cardinality; +import org.apache.xmpbox.type.PropertyType; import org.apache.xmpbox.type.Types; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; public class XmpRightsSchemaTest { + private XMPMetadata metadata; + private XMPSchema schema; + private Class<?> schemaClass; + + @BeforeEach + void initMetadata() + { + metadata = XMPMetadata.createXMPMetadata(); + schema = metadata.createAndAddXMPRightsManagementSchema(); + schemaClass = XMPRightsManagementSchema.class; + } + @ParameterizedTest @MethodSource("initializeParameters") - public void testElementValue(XMPSchemaTester xmpSchemaTester) throws Exception + public void testElementValue(String property, PropertyType type, Object value) throws Exception { + XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value); xmpSchemaTester.testGetSetValue(); } @ParameterizedTest @MethodSource("initializeParameters") - public void testElementProperty(XMPSchemaTester xmpSchemaTester) throws Exception + public void testElementProperty(String property, PropertyType type, Object value) throws Exception { + XMPSchemaTester xmpSchemaTester = new XMPSchemaTester(metadata, schema, schemaClass, property, type, value); xmpSchemaTester.testGetSetProperty(); } - static XMPSchemaTester[] initializeParameters() throws Exception + static Stream<Arguments> initializeParameters() throws Exception { - XMPMetadata metadata = XMPMetadata.createXMPMetadata(); - XMPSchema schema = metadata.createAndAddXMPRightsManagementSchema(); - Class<?> schemaClass = XMPRightsManagementSchema.class; - Map<String, String> desc = new HashMap<>(2); desc.put("fr", "Termes d'utilisation"); desc.put("en", "Usage Terms"); - return new XMPSchemaTester[] { - new XMPSchemaTester(metadata, schema, schemaClass, "Certificate", XMPSchemaTester.createPropertyType(Types.URL), "http://une.url.vers.un.certificat/moncert.cer"), - new XMPSchemaTester(metadata, schema, schemaClass, "Marked", XMPSchemaTester.createPropertyType(Types.Boolean), true), - new XMPSchemaTester(metadata, schema, schemaClass, "Owner", XMPSchemaTester.createPropertyType(Types.ProperName, Cardinality.Bag), new String[] { "OwnerName" }), - new XMPSchemaTester(metadata, schema, schemaClass, "UsageTerms", XMPSchemaTester.createPropertyType(Types.LangAlt), desc), - new XMPSchemaTester(metadata, schema, schemaClass, "WebStatement", XMPSchemaTester.createPropertyType(Types.URL), "http://une.url.vers.une.page.fr/"), - }; + return Stream.of( + Arguments.of("Certificate", XMPSchemaTester.createPropertyType(Types.URL), "http://une.url.vers.un.certificat/moncert.cer"), + Arguments.of("Marked", XMPSchemaTester.createPropertyType(Types.Boolean), true), + Arguments.of("Owner", XMPSchemaTester.createPropertyType(Types.ProperName, Cardinality.Bag), new String[] { "OwnerName" }), + Arguments.of("UsageTerms", XMPSchemaTester.createPropertyType(Types.LangAlt), desc), + Arguments.of("WebStatement", XMPSchemaTester.createPropertyType(Types.URL), "http://une.url.vers.une.page.fr/") + ); } }