Skip to content

Commit a49a2b6

Browse files
authored
Merge pull request #513 from RachelTucker/JSDK-257
JSDK-257: Negative tests for null streams and channels
2 parents 2b63393 + d6a4536 commit a49a2b6

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed

ds3-sdk/src/test/java/com/spectralogic/ds3client/Ds3Client_Test.java

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import static org.hamcrest.CoreMatchers.*;
5252
import static org.hamcrest.MatcherAssert.assertThat;
5353
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
54+
import static org.junit.Assert.fail;
5455

5556
public class Ds3Client_Test {
5657
private static final UUID MASTER_OBJECT_LIST_JOB_ID = UUID.fromString("1a85e743-ec8f-4789-afec-97e587a26936");
@@ -1554,4 +1555,100 @@ public void getBlobsOnDs3TargetTest() throws IOException {
15541555
.asClient()
15551556
.getBlobsOnDs3TargetSpectraS3(new GetBlobsOnDs3TargetSpectraS3Request(target));
15561557
}
1558+
1559+
@Test
1560+
public void getObjectNullChannelDeprecatedConstructorTest() {
1561+
testNonnullStreamChannelExceptions("Channel",
1562+
() -> new GetObjectRequest("BucketName", "ObjectName", null));
1563+
}
1564+
1565+
@Test
1566+
public void getObjectNullChannelUuidConstructorTest() {
1567+
testNonnullStreamChannelExceptions("Channel",
1568+
() -> new GetObjectRequest("BucketName", "ObjectName", null, UUID.randomUUID(), 0));
1569+
}
1570+
1571+
@Test
1572+
public void getObjectNullChannelStringConstructorTest() {
1573+
testNonnullStreamChannelExceptions("Channel",
1574+
() -> new GetObjectRequest("BucketName", "ObjectName", null, "JobId", 0));
1575+
}
1576+
1577+
@Test
1578+
public void getObjectNullStreamUuidConstructorTest() {
1579+
testNonnullStreamChannelExceptions("Stream",
1580+
() -> new GetObjectRequest("BucketName", "ObjectName", UUID.randomUUID(), 0, null));
1581+
}
1582+
1583+
@Test
1584+
public void getObjectNullStreamStringConstructorTest() {
1585+
testNonnullStreamChannelExceptions("Stream",
1586+
() -> new GetObjectRequest("BucketName", "ObjectName", "JobId", 0, null));
1587+
}
1588+
1589+
@Test
1590+
public void putObjectDeprecatedConstructorTest() {
1591+
testNonnullStreamChannelExceptions("Channel",
1592+
() -> new PutObjectRequest("BucketName", "ObjectName", null, 0));
1593+
}
1594+
1595+
@Test
1596+
public void putObjectNullChannelUuidConstructorTest() {
1597+
testNonnullStreamChannelExceptions("Channel",
1598+
() -> new PutObjectRequest("BucketName", "ObjectName", null, UUID.randomUUID(),0, 0));
1599+
}
1600+
1601+
@Test
1602+
public void putObjectNullChannelStringConstructorTest() {
1603+
testNonnullStreamChannelExceptions("Channel",
1604+
() -> new PutObjectRequest("BucketName", "ObjectName", null, "JobId",0, 0));
1605+
}
1606+
1607+
@Test
1608+
public void putObjectNullStreamUuidConstructorTest() {
1609+
testNonnullStreamChannelExceptions("Stream",
1610+
() -> new PutObjectRequest("BucketName", "ObjectName", UUID.randomUUID(), 0, 0, null));
1611+
}
1612+
1613+
@Test
1614+
public void putObjectNullStreamStringConstructorTest() {
1615+
testNonnullStreamChannelExceptions("Stream",
1616+
() -> new PutObjectRequest("BucketName", "ObjectName", "JobId", 0, 0, null));
1617+
}
1618+
1619+
@Test
1620+
public void putMultiPartUploadNullChannelUuidConstructorTest() {
1621+
testNonnullStreamChannelExceptions("Channel",
1622+
() -> new PutMultiPartUploadPartRequest("BucketName", "ObjectName", null, 0, 0, UUID.randomUUID()));
1623+
}
1624+
1625+
@Test
1626+
public void putMultiPartUploadNullChannelStringConstructorTest() {
1627+
testNonnullStreamChannelExceptions("Channel",
1628+
() -> new PutMultiPartUploadPartRequest("BucketName", "ObjectName", null, 0, 0, "UploadId"));
1629+
}
1630+
1631+
@Test
1632+
public void putMultiPartUploadNullStreamUuidConstructorTest() {
1633+
testNonnullStreamChannelExceptions("Stream",
1634+
() -> new PutMultiPartUploadPartRequest("BucketName", "ObjectName", 0, 0, null, UUID.randomUUID()));
1635+
}
1636+
1637+
@Test
1638+
public void putMultiPartUploadNullStreamStringConstructorTest() {
1639+
testNonnullStreamChannelExceptions("Stream",
1640+
() -> new PutMultiPartUploadPartRequest("BucketName", "ObjectName", 0, 0, null, "UploadId"));
1641+
}
1642+
1643+
private void testNonnullStreamChannelExceptions(final String paramName, final Runnable runnable) {
1644+
try {
1645+
runnable.run();
1646+
fail();
1647+
} catch (final NullPointerException e) {
1648+
assertThat(e.getMessage(), is(paramName + " may not be null."));
1649+
} catch (final IllegalArgumentException e) {
1650+
// IntelliJ IDEA throws an IllegalArgumentException if parameters are annotated as non-null are passed null values
1651+
assertThat(e.getMessage(), startsWith("Argument for @Nonnull parameter '" + paramName.toLowerCase() + "'"));
1652+
}
1653+
}
15571654
}

0 commit comments

Comments
 (0)