Package com.canoo.webtest.plugins.pdftest

Source Code of com.canoo.webtest.plugins.pdftest.PdfVerifyEncryptionStep

// Copyright � 2004-2007 Canoo Engineering AG, Switzerland.
package com.canoo.webtest.plugins.pdftest;

import com.canoo.webtest.engine.StepFailedException;
import com.canoo.webtest.plugins.pdftest.htmlunit.PDFPage;

/**
* @author Etienne Studer
* @author Marc Guillemot
* @webtest.step
*   category="PDF"
*   name="pdfVerifyEncryption"
*   alias="verifyPdfEncryption"
*   description="This step verifies whether a <key>pdf</key> document is encrypted
*   and whether the user password and owner password are correct.
*   This step should only be executed before (and not after) decrypting an encrypted <key>pdf</key> document."
*/
public class PdfVerifyEncryptionStep extends AbstractVerifyPdfStep {
  private boolean fEncrypted = true;
  private String fUserPassword;
  private String fOwnerPassword;

  /**
   * @param encrypted
   * @webtest.parameter
   *  required="no"
   *  description="Specifies whether the PDF document is expected to be encrypted or not.
     *   default="'true'"
   */
  public void setEncrypted(final boolean encrypted) {
    fEncrypted = encrypted;
  }

  public boolean getEncrypted() {
    return fEncrypted;
  }

  /**
   * @param userPassword
   * @webtest.parameter
   *   required="no"
   *   description="The text required to decrypt the PDF document using the user password."
   */
  public void setUserPassword(final String userPassword) {
    fUserPassword = userPassword;
  }

  public String getUserPassword() {
    return fUserPassword;
  }

  /**
   * @param ownerPassword
   * @webtest.parameter
   *   required="no"
   *   description="The text required to decrypt the PDF document using the owner password."
   */
  public void setOwnerPassword(final String ownerPassword) {
    fOwnerPassword = ownerPassword;
  }

  public String getOwnerPassword() {
    return fOwnerPassword;
  }

  protected void verifyPdf(final PDFPage pdfPage)
  {
    if (pdfPage.isEncrypted() != getEncrypted())
    {
        final String desc = "Document is " + (getEncrypted() ? " not" : "") + "encrypted";
      throw new StepFailedException(desc, this);
    }

    if (getUserPassword() != null)
      {
        if (!pdfPage.isUserPassword(getUserPassword()))
          throw new StepFailedException("Wrong user password >" + getUserPassword() + "<", this);
      }

      if (getOwnerPassword() != null)
      {
        if (!pdfPage.isOwnerPassword(getOwnerPassword()))
          throw new StepFailedException("Wrong owner password >" + getOwnerPassword() + "<", this);
      }
  }
}
TOP

Related Classes of com.canoo.webtest.plugins.pdftest.PdfVerifyEncryptionStep

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.