Skip to content

Commit 7bf4611

Browse files
add more tests
1 parent 1af6bd6 commit 7bf4611

File tree

4 files changed

+66
-5
lines changed

4 files changed

+66
-5
lines changed

src/test/java/com/amazon/sqs/javamessaging/SQSConnectionFactoryTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import jakarta.jms.JMSException;
1818

19+
import jakarta.jms.JMSRuntimeException;
1920
import org.junit.jupiter.api.Test;
2021

2122
import com.amazonaws.regions.Regions;
@@ -24,6 +25,7 @@
2425

2526
import static org.junit.jupiter.api.Assertions.assertNotSame;
2627
import static org.junit.jupiter.api.Assertions.assertSame;
28+
import static org.junit.jupiter.api.Assertions.assertThrows;
2729
import static org.mockito.Mockito.mock;
2830

2931
public class SQSConnectionFactoryTest {
@@ -85,4 +87,18 @@ public void factoryWithCustomBuilderWillCreateNewClient() throws JMSException {
8587
connection1.close();
8688
connection2.close();
8789
}
90+
91+
// Test unsupported methods
92+
@Test
93+
public void testUnsupportedFeature() {
94+
SQSConnectionFactory factory = SQSConnectionFactory.builder().build();
95+
assertThrows(JMSRuntimeException.class, factory::createContext,
96+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
97+
assertThrows(JMSRuntimeException.class, () -> factory.createContext("userName", "password"),
98+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
99+
assertThrows(JMSRuntimeException.class, () -> factory.createContext("userName", "password", 2),
100+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
101+
assertThrows(JMSRuntimeException.class, () -> factory.createContext(1),
102+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
103+
}
88104
}

src/test/java/com/amazon/sqs/javamessaging/SQSConnectionTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,8 @@ public void testCreateSessionWhenClosing() {
583583
// Start connection
584584
assertThrows(IllegalStateException.class, () -> sqsConnection.createSession(false, Session.AUTO_ACKNOWLEDGE),
585585
"Connection is closed or closing");
586+
assertThrows(IllegalStateException.class, () -> sqsConnection.createSession(Session.AUTO_ACKNOWLEDGE),
587+
"Connection is closed or closing");
586588

587589
// Verify results
588590
assertEquals(2, sqsConnection.getSessions().size());
@@ -602,6 +604,14 @@ public void testCreateSessionUnknownAckMode() {
602604
assertEquals(2, sqsConnection.getSessions().size());
603605
}
604606

607+
/**
608+
* Test create session must parse in a parameter
609+
*/
610+
@Test
611+
public void testCreateSessionWithNoParseInValue() {
612+
assertThrows(JMSException.class, () -> sqsConnection.createSession(), "Unsupported Method");
613+
}
614+
605615
/**
606616
* Test create session when connection running
607617
*/

src/test/java/com/amazon/sqs/javamessaging/SQSMessageProducerTest.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.amazonaws.services.sqs.model.SendMessageRequest;
2525
import com.amazonaws.services.sqs.model.SendMessageResult;
2626
import com.amazonaws.util.Base64;
27+
import jakarta.jms.CompletionListener;
2728
import jakarta.jms.Destination;
2829
import jakarta.jms.IllegalStateException;
2930
import jakarta.jms.InvalidDestinationException;
@@ -47,8 +48,8 @@
4748
import java.util.concurrent.TimeUnit;
4849

4950
import static org.junit.jupiter.api.Assertions.assertEquals;
50-
import static org.junit.jupiter.api.Assertions.assertTrue;
5151
import static org.junit.jupiter.api.Assertions.assertThrows;
52+
import static org.junit.jupiter.api.Assertions.assertTrue;
5253
import static org.mockito.ArgumentMatchers.any;
5354
import static org.mockito.ArgumentMatchers.argThat;
5455
import static org.mockito.Mockito.doNothing;
@@ -639,8 +640,7 @@ public void testSetDeliveryDelay() throws JMSException {
639640

640641
assertEquals(2, requestCaptor.getValue().getDelaySeconds().intValue());
641642
}
642-
643-
643+
644644
@Test
645645
public void testSetDeliveryDelayInvalidDelays() {
646646
assertThrows(IllegalArgumentException.class, () -> producer.setDeliveryDelay(-1));
@@ -650,8 +650,24 @@ public void testSetDeliveryDelayInvalidDelays() {
650650

651651
assertThrows(IllegalArgumentException.class, () -> producer.setDeliveryDelay(20));
652652
}
653-
654-
653+
654+
// Test unsupported methods
655+
@Test
656+
public void testUnsupportedFeature() {
657+
Message message = mock(Message.class);
658+
CompletionListener listener = mock(CompletionListener.class);
659+
Destination msgDestination = mock(Destination.class);
660+
661+
assertThrows(JMSException.class, () -> producer.send(message, listener),
662+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
663+
assertThrows(JMSException.class, () -> producer.send(message, 1, 1, 100L, listener),
664+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
665+
assertThrows(JMSException.class, () -> producer.send(msgDestination, message, listener),
666+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
667+
assertThrows(JMSException.class, () -> producer.send(destination, message, 0, 0, 20L, listener),
668+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
669+
}
670+
655671
private Map<String, MessageAttributeValue> createMessageAttribute(String type) {
656672
MessageAttributeValue messageAttributeValue = new MessageAttributeValue();
657673
messageAttributeValue.setDataType("String");

src/test/java/com/amazon/sqs/javamessaging/SQSSessionTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,25 @@ public void testUnsupportedFeature() throws JMSException {
361361

362362
assertThrows(JMSException.class, () -> sqsSession.createMapMessage(),
363363
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
364+
365+
assertThrows(JMSException.class, () -> sqsSession.createSharedConsumer(null, "name"),
366+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
367+
368+
assertThrows(JMSException.class, () -> sqsSession.createSharedConsumer(null, "name", "messageSelector"),
369+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
370+
371+
assertThrows(JMSException.class, () -> sqsSession.createDurableConsumer(null, "name"),
372+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
373+
374+
assertThrows(JMSException.class, () ->
375+
sqsSession.createDurableConsumer(null, "name", "messageSelector", true),
376+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
377+
378+
assertThrows(JMSException.class, () -> sqsSession.createSharedDurableConsumer(null, "name"),
379+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
380+
381+
assertThrows(JMSException.class, () -> sqsSession.createSharedDurableConsumer(null, "name", "messageSelector"),
382+
SQSMessagingClientConstants.UNSUPPORTED_METHOD);
364383
}
365384

366385
/**

0 commit comments

Comments
 (0)