[WAGON-557] Integer overflow prevents optimal buffer size selection for large artifacts
This closes #54
diff --git a/wagon-provider-api/src/test/java/org/apache/maven/wagon/AbstractWagonTest.java b/wagon-provider-api/src/test/java/org/apache/maven/wagon/AbstractWagonTest.java
index ac2e6f6..81b07db 100644
--- a/wagon-provider-api/src/test/java/org/apache/maven/wagon/AbstractWagonTest.java
+++ b/wagon-provider-api/src/test/java/org/apache/maven/wagon/AbstractWagonTest.java
@@ -117,6 +117,23 @@
}
+ public void testCalculationOfTransferBufferSize() {
+ // 1 KiB -> Default buffer size (4 KiB)
+ assertEquals( 4096, wagon.getBufferCapacityForTransfer(1024L ) );
+
+ // 1 MiB -> Twice the default buffer size (8 KiB)
+ assertEquals( 4096 * 2, wagon.getBufferCapacityForTransfer(1024L * 1024 ) );
+
+ // 100 MiB -> Maximum buffer size (512 KiB)
+ assertEquals( 4096 * 128, wagon.getBufferCapacityForTransfer(1024L * 1024 * 100 ) );
+
+ // 1 GiB -> Maximum buffer size (512 KiB)
+ assertEquals( 4096 * 128, wagon.getBufferCapacityForTransfer(1024L * 1024 * 1024 ) );
+
+ // 100 GiB -> Maximum buffer size (512 KiB)
+ assertEquals( 4096 * 128, wagon.getBufferCapacityForTransfer(1024L * 1024 * 1024 * 100 ) );
+ }
+
public void testSessionListenerRegistration()
{
assertTrue( wagon.hasSessionListener( sessionListener ) );