You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2020/11/18 11:30:07 UTC

svn commit: r1883592 - in /pdfbox/trunk/xmpbox/src/test/java/org/apache/xmpbox/schema: AdobePDFTest.java PDFAIdentificationTest.java XMPBasicTest.java XmpRightsSchemaTest.java

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/")
+        );
     }
 }