From 6bbfacd7947ededad5dda1a29f76e9887f72ab40 Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Sat, 1 Aug 2015 21:34:47 +0200 Subject: [PATCH] small changes for easier debugging --- .../jackrabbit/CleartextLocatorFactory.java | 2 +- .../webdav/jackrabbit/RangeRequestTest.java | 18 +++++++--- .../crypto/aes256/Aes256CryptorTest.java | 6 ++-- main/crypto-aes/src/test/resources/log4j2.xml | 33 +++++++++++++++++++ 4 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 main/crypto-aes/src/test/resources/log4j2.xml diff --git a/main/core/src/main/java/org/cryptomator/webdav/jackrabbit/CleartextLocatorFactory.java b/main/core/src/main/java/org/cryptomator/webdav/jackrabbit/CleartextLocatorFactory.java index bb032ccfa..72aeab885 100644 --- a/main/core/src/main/java/org/cryptomator/webdav/jackrabbit/CleartextLocatorFactory.java +++ b/main/core/src/main/java/org/cryptomator/webdav/jackrabbit/CleartextLocatorFactory.java @@ -79,7 +79,7 @@ public class CleartextLocatorFactory implements DavLocatorFactory { final String encodedResourcePath = EncodeUtil.escapePath(getResourcePath()); final String fullPrefix = pathPrefix.endsWith("/") ? pathPrefix : pathPrefix + "/"; final String href = fullPrefix.concat(encodedResourcePath); - assert !href.endsWith("/"); + assert href.equals(fullPrefix) || !href.endsWith("/"); if (isCollection) { return href.concat("/"); } else { diff --git a/main/core/src/test/java/org/cryptomator/webdav/jackrabbit/RangeRequestTest.java b/main/core/src/test/java/org/cryptomator/webdav/jackrabbit/RangeRequestTest.java index 0c7f842c9..ae0356003 100644 --- a/main/core/src/test/java/org/cryptomator/webdav/jackrabbit/RangeRequestTest.java +++ b/main/core/src/test/java/org/cryptomator/webdav/jackrabbit/RangeRequestTest.java @@ -88,10 +88,11 @@ public class RangeRequestTest { final HttpMethod getMethod = new GetMethod(testResourceUrl.toString()); final int statusCode = client.executeMethod(getMethod); Assert.assertEquals(200, statusCode); + // final byte[] received = new byte[plaintextData.length]; + // IOUtils.read(getMethod.getResponseBodyAsStream(), received); + // Assert.assertArrayEquals(plaintextData, received); Assert.assertTrue(IOUtils.contentEquals(plaintextDataInputStream, getMethod.getResponseBodyAsStream())); getMethod.releaseConnection(); - - System.out.println("hello world"); } @Test @@ -204,12 +205,19 @@ public class RangeRequestTest { final int upper = Math.max(pos1, pos2); final HttpMethod getMethod = new GetMethod(testResourceUrl.toString()); getMethod.addRequestHeader("Range", "bytes=" + lower + "-" + upper); + final byte[] expected = Arrays.copyOfRange(plaintextData, lower, upper + 1); final int statusCode = client.executeMethod(getMethod); final byte[] responseBody = new byte[upper - lower + 1]; - IOUtils.read(getMethod.getResponseBodyAsStream(), responseBody); + final int bytesRead = IOUtils.read(getMethod.getResponseBodyAsStream(), responseBody); getMethod.releaseConnection(); - if (statusCode != 206 || !Arrays.equals(Arrays.copyOfRange(plaintextData, lower, upper + 1), responseBody)) { - LOG.error("Invalid content for closed range request"); + if (statusCode != 206) { + LOG.error("Invalid status code for closed range request"); + success.set(false); + } else if (upper - lower + 1 != bytesRead) { + LOG.error("Invalid response length for closed range request"); + success.set(false); + } else if (!Arrays.equals(expected, Arrays.copyOfRange(responseBody, 0, bytesRead))) { + LOG.error("Invalid response body for closed range request"); success.set(false); } } catch (IOException e) { diff --git a/main/crypto-aes/src/test/java/org/cryptomator/crypto/aes256/Aes256CryptorTest.java b/main/crypto-aes/src/test/java/org/cryptomator/crypto/aes256/Aes256CryptorTest.java index f31025d71..f97314903 100644 --- a/main/crypto-aes/src/test/java/org/cryptomator/crypto/aes256/Aes256CryptorTest.java +++ b/main/crypto-aes/src/test/java/org/cryptomator/crypto/aes256/Aes256CryptorTest.java @@ -80,7 +80,7 @@ public class Aes256CryptorTest { final Aes256Cryptor cryptor = new Aes256Cryptor(); // encrypt: - final ByteBuffer encryptedData = ByteBuffer.allocate(96 + plaintextData.length + 4096); + final ByteBuffer encryptedData = ByteBuffer.allocate(104 + plaintextData.length + 4096); final SeekableByteChannel encryptedOut = new ByteBufferBackedSeekableChannel(encryptedData); cryptor.encryptFile(plaintextIn, encryptedOut); IOUtils.closeQuietly(plaintextIn); @@ -112,7 +112,7 @@ public class Aes256CryptorTest { final Aes256Cryptor cryptor = new Aes256Cryptor(); // encrypt: - final ByteBuffer encryptedData = ByteBuffer.allocate(96 + plaintextData.length + 4096); + final ByteBuffer encryptedData = ByteBuffer.allocate(104 + plaintextData.length + 4096); final SeekableByteChannel encryptedOut = new ByteBufferBackedSeekableChannel(encryptedData); cryptor.encryptFile(plaintextIn, encryptedOut); IOUtils.closeQuietly(plaintextIn); @@ -151,7 +151,7 @@ public class Aes256CryptorTest { final Aes256Cryptor cryptor = new Aes256Cryptor(); // encrypt: - final ByteBuffer encryptedData = ByteBuffer.allocate((int) (96 + plaintextData.length * 1.2)); + final ByteBuffer encryptedData = ByteBuffer.allocate((int) (104 + plaintextData.length * 1.2)); final SeekableByteChannel encryptedOut = new ByteBufferBackedSeekableChannel(encryptedData); cryptor.encryptFile(plaintextIn, encryptedOut); IOUtils.closeQuietly(plaintextIn); diff --git a/main/crypto-aes/src/test/resources/log4j2.xml b/main/crypto-aes/src/test/resources/log4j2.xml new file mode 100644 index 000000000..39c2f8545 --- /dev/null +++ b/main/crypto-aes/src/test/resources/log4j2.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +