CAMEL-8116: add unit tests
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/112a47f6 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/112a47f6 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/112a47f6 Branch: refs/heads/master Commit: 112a47f608de9edd19561d4fb807670c967cd50a Parents: 2c23913 Author: Daniel Pocock <dan...@pocock.pro> Authored: Wed Dec 3 16:32:22 2014 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Wed Dec 3 19:34:40 2014 +0100 ---------------------------------------------------------------------- .../component/smpp/SmppSubmitSmCommandTest.java | 64 +++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/112a47f6/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java ---------------------------------------------------------------------- diff --git a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java index c74ca76..c060d3d 100644 --- a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java +++ b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java @@ -140,6 +140,68 @@ public class SmppSubmitSmCommandTest { assertEquals(2, exchange.getOut().getHeader(SmppConstants.SENT_MESSAGE_COUNT)); } + @Test(expected=SmppException.class) + public void executeLongBodyRejection() throws Exception { + byte[] firstSM = new byte[]{5, 0, 3, 1, 2, 1, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51}; + byte[] secondSM = new byte[]{52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48}; + + Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut); + exchange.getIn().setHeader(SmppConstants.COMMAND, "SubmitSm"); + exchange.getIn().setHeader(SmppConstants.ID, "1"); + exchange.getIn().setHeader(SmppConstants.SPLITTING_POLICY, "REJECT"); + exchange.getIn().setBody("12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901"); + expect(session.submitShortMessage(eq("CMT"), eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1616"), + eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1717"), eq(new ESMClass()), eq((byte) 0), eq((byte) 1), + (String) isNull(), (String) isNull(), eq(new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS_FAILURE)), eq(ReplaceIfPresentFlag.DEFAULT.value()), + eq(DataCoding.newInstance((byte) 0)), eq((byte) 0), aryEq(firstSM))) + .andReturn("1"); + expect(session.submitShortMessage(eq("CMT"), eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1616"), + eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1717"), eq(new ESMClass()), eq((byte) 0), eq((byte) 1), + (String) isNull(), (String) isNull(), eq(new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS_FAILURE)), eq(ReplaceIfPresentFlag.DEFAULT.value()), + eq(DataCoding.newInstance((byte) 0)), eq((byte) 0), eq(secondSM))) + .andReturn("2"); + + replay(session); + + command.execute(exchange); + + verify(session); + + assertEquals(Arrays.asList("1", "2"), exchange.getOut().getHeader(SmppConstants.ID)); + assertEquals(2, exchange.getOut().getHeader(SmppConstants.SENT_MESSAGE_COUNT)); + } + + @Test + public void executeLongBodyTruncation() throws Exception { + byte[] firstSM = new byte[]{49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57}; + + Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut); + exchange.getIn().setHeader(SmppConstants.COMMAND, "SubmitSm"); + exchange.getIn().setHeader(SmppConstants.ID, "1"); + exchange.getIn().setHeader(SmppConstants.SPLITTING_POLICY, "TRUNCATE"); + exchange.getIn().setBody("12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901"); + expect(session.submitShortMessage(eq("CMT"), eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1616"), + eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1717"), eq(new ESMClass()), eq((byte) 0), eq((byte) 1), + (String) isNull(), (String) isNull(), eq(new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS_FAILURE)), eq(ReplaceIfPresentFlag.DEFAULT.value()), + eq(DataCoding.newInstance((byte) 0)), eq((byte) 0), aryEq(firstSM))) + .andReturn("1"); + + replay(session); + + command.execute(exchange); + + verify(session); + + assertEquals(Arrays.asList("1"), exchange.getOut().getHeader(SmppConstants.ID)); + assertEquals(1, exchange.getOut().getHeader(SmppConstants.SENT_MESSAGE_COUNT)); + } + @Test public void execute() throws Exception { Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut); @@ -552,4 +614,4 @@ public class SmppSubmitSmCommandTest { verify(session); } -} \ No newline at end of file +}