@Test public void testEqual() { EncryptParameters eq1 = new EncryptParameters(PdfEncryption.STANDARD_ENC_40); eq1.addPermission(PdfAccessPermission.COPY_AND_EXTRACT); EncryptParameters eq2 = new EncryptParameters(PdfEncryption.STANDARD_ENC_40); eq2.addPermission(PdfAccessPermission.COPY_AND_EXTRACT); EncryptParameters eq3 = new EncryptParameters(PdfEncryption.STANDARD_ENC_40); eq3.addPermission(PdfAccessPermission.COPY_AND_EXTRACT); EncryptParameters diff = new EncryptParameters(PdfEncryption.STANDARD_ENC_40); diff.addPermission(PdfAccessPermission.ASSEMBLE); diff.setVersion(PdfVersion.VERSION_1_2); TestUtils.testEqualsAndHashCodes(eq1, eq2, eq3, diff); }
@Test(expected = UnsupportedOperationException.class) public void testUnmodifiableList() { EncryptParameters victim = new EncryptParameters(PdfEncryption.STANDARD_ENC_40); victim.addPermission(PdfAccessPermission.ANNOTATION); victim.getPermissions().clear(); }
@Test public void testInvalidParameters() { EncryptParameters victim = new EncryptParameters(null); SingleOrMultipleTaskOutput output = mock(SingleOrMultipleTaskOutput.class); victim.setOutput(output); InputStream stream = mock(InputStream.class); PdfSource<InputStream> input = PdfStreamSource.newInstanceNoPassword(stream, "name"); victim.addSource(input); TestUtils.assertInvalidParameters(victim); } }
@Test public void testAdd() { EncryptParameters victim = new EncryptParameters(PdfEncryption.STANDARD_ENC_40); victim.addPermission(PdfAccessPermission.ANNOTATION); assertEquals(1, victim.getPermissions().size()); }
@Test public void testNoPwd() { EncryptParameters params = new EncryptParameters(PdfEncryption.AES_ENC_128); assertFalse(victim.isValid(params, null)); }
@Test public void testClear() { EncryptParameters victim = new EncryptParameters(PdfEncryption.STANDARD_ENC_40); victim.addPermission(PdfAccessPermission.ANNOTATION); assertEquals(1, victim.getPermissions().size()); victim.clearPermissions(); assertEquals(0, victim.getPermissions().size()); }
/** * Transforms {@link EncryptTaskCliArguments} to {@link EncryptParameters} * * @param taskCliArguments * @return populated task parameters */ @Override public EncryptParameters toTaskParameters(EncryptTaskCliArguments taskCliArguments) { EncryptParameters parameters = new EncryptParameters(taskCliArguments.getEncryptionType().getEnumValue()); populateAbstractParameters(parameters, taskCliArguments); populateSourceParameters(parameters, taskCliArguments); populateOutputTaskParameters(parameters, taskCliArguments); populateOutputPrefix(parameters, taskCliArguments); String ownerPassword = taskCliArguments.getAdministratorPassword(); if(ownerPassword.isEmpty()){ ownerPassword = UUID.randomUUID().toString(); } parameters.setOwnerPassword(ownerPassword); parameters.setUserPassword(taskCliArguments.getUserPassword()); if (taskCliArguments.isAllow()) { for (PdfAccessPermissionAdapter eachAllowedPermissionAdapter : taskCliArguments.getAllow()) { parameters.addPermission(eachAllowedPermissionAdapter.getEnumValue()); } } return parameters; } }
@Test public void testEmptyUser() { EncryptParameters params = new EncryptParameters(PdfEncryption.AES_ENC_128); params.setUserPassword(""); params.setOwnerPassword("Chuck"); assertTrue(victim.isValid(params, null)); }
@Test public void testBoth() { EncryptParameters params = new EncryptParameters(PdfEncryption.AES_ENC_128); params.setOwnerPassword("Chuck"); params.setUserPassword("Chuck"); assertTrue(victim.isValid(params, null)); }
@Test public void testOwner() { EncryptParameters params = new EncryptParameters(PdfEncryption.AES_ENC_128); params.setOwnerPassword("Chuck"); params.setUserPassword(null); assertTrue(victim.isValid(params, null)); }
@Test public void testUser() { EncryptParameters params = new EncryptParameters(PdfEncryption.AES_ENC_128); params.setOwnerPassword(null); params.setUserPassword("Chuck"); assertTrue(victim.isValid(params, null)); }
@Test public void testEmptyOwner() { EncryptParameters params = new EncryptParameters(PdfEncryption.AES_ENC_128); params.setOwnerPassword(""); params.setUserPassword("Chuck"); assertTrue(victim.isValid(params, null)); }
@Test public void testEmptyBoth() { EncryptParameters params = new EncryptParameters(PdfEncryption.AES_ENC_128); params.setOwnerPassword(""); params.setUserPassword(""); assertFalse(victim.isValid(params, null)); }
private void setUpParameters(PdfEncryption encryption) { parameters = new EncryptParameters(encryption); parameters.setCompress(true); parameters.setOutputPrefix("test_prefix_"); parameters.setVersion(PdfVersion.VERSION_1_6); parameters.addSource(shortInput()); parameters.setExistingOutputPolicy(ExistingOutputPolicy.OVERWRITE); }