You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2019/04/08 20:39:29 UTC

svn commit: r1857138 - /pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java

Author: tilman
Date: Mon Apr  8 20:39:29 2019
New Revision: 1857138

URL: http://svn.apache.org/viewvc?rev=1857138&view=rev
Log:
PDFBOX-45: revert due to test failure on Jenkins

Modified:
    pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java

Modified: pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java?rev=1857138&r1=1857137&r2=1857138&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java (original)
+++ pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java Mon Apr  8 20:39:29 2019
@@ -16,12 +16,9 @@
  */
 package org.apache.pdfbox.examples.pdmodel;
 
-import java.awt.image.BufferedImage;
-import java.awt.image.DataBufferInt;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.security.GeneralSecurityException;
@@ -37,11 +34,8 @@ import java.text.MessageFormat;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
-
-import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSString;
-import org.apache.pdfbox.examples.interactive.form.CreateSimpleForm;
 import org.apache.pdfbox.examples.signature.CreateEmptySignatureForm;
 import org.apache.pdfbox.examples.signature.CreateSignature;
 import org.apache.pdfbox.examples.signature.CreateVisibleSignature;
@@ -50,8 +44,6 @@ import org.apache.pdfbox.pdmodel.PDDocum
 import org.apache.pdfbox.pdmodel.PDPage;
 import org.apache.pdfbox.pdmodel.PDPageContentStream;
 import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
-import org.apache.pdfbox.pdmodel.interactive.form.PDField;
-import org.apache.pdfbox.rendering.PDFRenderer;
 import org.apache.pdfbox.util.Hex;
 import org.apache.wink.client.MockHttpServer;
 import org.bouncycastle.cert.X509CertificateHolder;
@@ -398,76 +390,4 @@ public class TestCreateSignature
         signature.setByteRange(reserveByteRange);
         Assert.assertEquals(digestString, calculateDigestString(document.saveIncrementalForExternalSigning(new ByteArrayOutputStream()).getContent()));
     }
-
-    /**
-     * Create a simple form PDF, sign it, reload it, change a field value, incrementally save it.
-     * This should not break the signature, and the value and its display must have changed as
-     * expected. Do this both for the old and new incremental save methods.
-     *
-     * @throws Exception
-     */
-    @Test
-    public void testSaveIncrementalAfterSign() throws Exception
-    {
-        BufferedImage oldImage, expectedImage1, actualImage1, expectedImage2, actualImage2;
-
-        CreateSimpleForm.main(new String[0]); // creates "target/SimpleForm.pdf"
-
-        // load the keystore
-        KeyStore keystore = KeyStore.getInstance("PKCS12");
-        keystore.load(new FileInputStream(keystorePath), password.toCharArray());
-
-        // sign PDF
-        CreateSignature signing = new CreateSignature(keystore, password.toCharArray());
-        signing.setExternalSigning(externallySign);
-
-        final String fileNameSigned = getOutputFileName("SimpleForm_signed{0}.pdf");
-        final String fileNameResaved1 = getOutputFileName("SimpleForm_signed{0}_incrementallyresaved1.pdf");
-        final String fileNameResaved2 = getOutputFileName("SimpleForm_signed{0}_incrementallyresaved2.pdf");
-        signing.signDetached(new File("target/SimpleForm.pdf"), new File(outDir + fileNameSigned));
-
-        checkSignature(new File("target/SimpleForm.pdf"), new File(outDir, fileNameSigned));
-        
-        try (PDDocument doc = PDDocument.load(new File(outDir, fileNameSigned)))
-        {
-            oldImage = new PDFRenderer(doc).renderImage(0);
-            
-            FileOutputStream fileOutputStream = new FileOutputStream(new File(outDir, fileNameResaved1));
-            PDField field = doc.getDocumentCatalog().getAcroForm().getField("SampleField");
-            field.setValue("New Value 1");
-
-            expectedImage1 = new PDFRenderer(doc).renderImage(0);
-
-            // compare images, image must has changed
-            Assert.assertEquals(oldImage.getWidth(), expectedImage1.getWidth());
-            Assert.assertEquals(oldImage.getHeight(), expectedImage1.getHeight());
-            Assert.assertEquals(oldImage.getType(), expectedImage1.getType());
-            DataBufferInt expectedData = (DataBufferInt) oldImage.getRaster().getDataBuffer();
-            DataBufferInt actualData = (DataBufferInt) expectedImage1.getRaster().getDataBuffer();
-            Assert.assertEquals(expectedData.getData().length, actualData.getData().length);
-            Assert.assertFalse(Arrays.equals(expectedData.getData(), actualData.getData()));
-
-            // old style incremental save: create a "path" from the root to the objects that need an update
-            doc.getDocumentCatalog().getCOSObject().setNeedToBeUpdated(true);
-            doc.getDocumentCatalog().getAcroForm().getCOSObject().setNeedToBeUpdated(true);
-            field.getCOSObject().setNeedToBeUpdated(true);
-            field.getWidgets().get(0).getAppearance().getCOSObject().setNeedToBeUpdated(true);
-            ((COSDictionary) field.getWidgets().get(0).getAppearance().getNormalAppearance().getCOSObject()).setNeedToBeUpdated(true);
-            doc.saveIncremental(fileOutputStream);
-        }
-        checkSignature(new File("target/SimpleForm.pdf"), new File(outDir, fileNameResaved1));
-        try (PDDocument doc = PDDocument.load(new File(outDir, fileNameResaved1)))
-        {
-            PDField field = doc.getDocumentCatalog().getAcroForm().getField("SampleField");
-            Assert.assertEquals("New Value 1", field.getValueAsString());
-            actualImage1 = new PDFRenderer(doc).renderImage(0);
-            // compare images, equality proves that the appearance has been updated too
-            Assert.assertEquals(expectedImage1.getWidth(), actualImage1.getWidth());
-            Assert.assertEquals(expectedImage1.getHeight(), actualImage1.getHeight());
-            Assert.assertEquals(expectedImage1.getType(), actualImage1.getType());
-            DataBufferInt expectedData = (DataBufferInt) expectedImage1.getRaster().getDataBuffer();
-            DataBufferInt actualData = (DataBufferInt) actualImage1.getRaster().getDataBuffer();
-            Assert.assertArrayEquals(expectedData.getData(), actualData.getData());
-        }
-    }
-}
+}
\ No newline at end of file