Search in sources :

Example 1 with SubmitMultiResult

use of org.jsmpp.bean.SubmitMultiResult in project camel by apache.

the class SmppSubmitMultiCommandTest method bodyWithSmscDefaultDataCodingNarrowedToCharset.

@Test
public void bodyWithSmscDefaultDataCodingNarrowedToCharset() throws Exception {
    final byte dataCoding = (byte) 0x00;
    /* SMSC-default */
    byte[] body = { (byte) 0xFF, 'A', 'B', (byte) 0x00, (byte) 0xFF, (byte) 0x7F, 'C', (byte) 0xFF };
    byte[] bodyNarrowed = { '?', 'A', 'B', '\0', '?', (byte) 0x7F, 'C', '?' };
    Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut);
    exchange.getIn().setHeader(SmppConstants.COMMAND, "SubmitMulti");
    exchange.getIn().setHeader(SmppConstants.DATA_CODING, dataCoding);
    exchange.getIn().setBody(body);
    Address[] destAddrs = new Address[] { new Address(TypeOfNumber.UNKNOWN, NumberingPlanIndicator.UNKNOWN, "1717") };
    expect(session.submitMultiple(eq("CMT"), eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1616"), aryEq(destAddrs), eq(new ESMClass()), eq((byte) 0), eq((byte) 1), (String) isNull(), (String) isNull(), eq(new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS_FAILURE)), eq(ReplaceIfPresentFlag.DEFAULT), eq(DataCodings.newInstance(dataCoding)), eq((byte) 0), aryEq(bodyNarrowed))).andReturn(new SubmitMultiResult("1"));
    replay(session);
    command.execute(exchange);
    verify(session);
}
Also used : Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) Address(org.jsmpp.bean.Address) SubmitMultiResult(org.jsmpp.bean.SubmitMultiResult) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) ESMClass(org.jsmpp.bean.ESMClass) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) Test(org.junit.Test)

Example 2 with SubmitMultiResult

use of org.jsmpp.bean.SubmitMultiResult in project camel by apache.

the class SmppSubmitMultiCommandTest method bodyWithLatin1DataCodingNarrowedToCharset.

@Test
public void bodyWithLatin1DataCodingNarrowedToCharset() throws Exception {
    final byte dataCoding = (byte) 0x03;
    /* ISO-8859-1 (Latin1) */
    byte[] body = { (byte) 0xFF, 'A', 'B', (byte) 0x00, (byte) 0xFF, (byte) 0x7F, 'C', (byte) 0xFF };
    byte[] bodyNarrowed = { '?', 'A', 'B', '\0', '?', (byte) 0x7F, 'C', '?' };
    Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut);
    exchange.getIn().setHeader(SmppConstants.COMMAND, "SubmitMulti");
    exchange.getIn().setHeader(SmppConstants.DATA_CODING, dataCoding);
    exchange.getIn().setBody(body);
    Address[] destAddrs = new Address[] { new Address(TypeOfNumber.UNKNOWN, NumberingPlanIndicator.UNKNOWN, "1717") };
    expect(session.submitMultiple(eq("CMT"), eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1616"), aryEq(destAddrs), eq(new ESMClass()), eq((byte) 0), eq((byte) 1), (String) isNull(), (String) isNull(), eq(new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS_FAILURE)), eq(ReplaceIfPresentFlag.DEFAULT), eq(DataCodings.newInstance(dataCoding)), eq((byte) 0), aryEq(bodyNarrowed))).andReturn(new SubmitMultiResult("1"));
    replay(session);
    command.execute(exchange);
    verify(session);
}
Also used : Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) Address(org.jsmpp.bean.Address) SubmitMultiResult(org.jsmpp.bean.SubmitMultiResult) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) ESMClass(org.jsmpp.bean.ESMClass) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) Test(org.junit.Test)

Example 3 with SubmitMultiResult

use of org.jsmpp.bean.SubmitMultiResult in project camel by apache.

the class SmppSubmitMultiCommandTest method executeWithOptionalParameterNewStyle.

@Test
public void executeWithOptionalParameterNewStyle() throws Exception {
    Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut);
    exchange.getIn().setHeader(SmppConstants.COMMAND, "SubmitMulti");
    exchange.getIn().setHeader(SmppConstants.ID, "1");
    exchange.getIn().setHeader(SmppConstants.SOURCE_ADDR_TON, TypeOfNumber.NATIONAL.value());
    exchange.getIn().setHeader(SmppConstants.SOURCE_ADDR_NPI, NumberingPlanIndicator.NATIONAL.value());
    exchange.getIn().setHeader(SmppConstants.SOURCE_ADDR, "1818");
    exchange.getIn().setHeader(SmppConstants.DEST_ADDR_TON, TypeOfNumber.INTERNATIONAL.value());
    exchange.getIn().setHeader(SmppConstants.DEST_ADDR_NPI, NumberingPlanIndicator.INTERNET.value());
    exchange.getIn().setHeader(SmppConstants.DEST_ADDR, Arrays.asList("1919"));
    exchange.getIn().setHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, new Date(1111111));
    exchange.getIn().setHeader(SmppConstants.VALIDITY_PERIOD, new Date(2222222));
    exchange.getIn().setHeader(SmppConstants.PROTOCOL_ID, (byte) 1);
    exchange.getIn().setHeader(SmppConstants.PRIORITY_FLAG, (byte) 2);
    exchange.getIn().setHeader(SmppConstants.REGISTERED_DELIVERY, new RegisteredDelivery(SMSCDeliveryReceipt.FAILURE).value());
    exchange.getIn().setHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, ReplaceIfPresentFlag.REPLACE.value());
    Map<Short, Object> optionalParameters = new LinkedHashMap<Short, Object>();
    // standard optional parameter
    optionalParameters.put(Short.valueOf((short) 0x0202), "1292".getBytes("UTF-8"));
    optionalParameters.put(Short.valueOf((short) 0x001D), "urgent");
    optionalParameters.put(Short.valueOf((short) 0x0005), Byte.valueOf("4"));
    optionalParameters.put(Short.valueOf((short) 0x0008), Short.valueOf((short) 2));
    optionalParameters.put(Short.valueOf((short) 0x0017), Integer.valueOf(3600000));
    optionalParameters.put(Short.valueOf((short) 0x130C), null);
    // vendor specific optional parameter
    optionalParameters.put(Short.valueOf((short) 0x2150), "0815".getBytes("UTF-8"));
    optionalParameters.put(Short.valueOf((short) 0x2151), "0816");
    optionalParameters.put(Short.valueOf((short) 0x2152), Byte.valueOf("6"));
    optionalParameters.put(Short.valueOf((short) 0x2153), Short.valueOf((short) 9));
    optionalParameters.put(Short.valueOf((short) 0x2154), Integer.valueOf(7400000));
    optionalParameters.put(Short.valueOf((short) 0x2155), null);
    exchange.getIn().setHeader(SmppConstants.OPTIONAL_PARAMETER, optionalParameters);
    exchange.getIn().setBody("short message body");
    expect(session.submitMultiple(eq("CMT"), eq(TypeOfNumber.NATIONAL), eq(NumberingPlanIndicator.NATIONAL), eq("1818"), aryEq(new Address[] { new Address(TypeOfNumber.INTERNATIONAL, NumberingPlanIndicator.INTERNET, "1919") }), eq(new ESMClass()), eq((byte) 1), eq((byte) 2), eq("-300101001831100+"), eq("-300101003702200+"), eq(new RegisteredDelivery(SMSCDeliveryReceipt.FAILURE)), eq(ReplaceIfPresentFlag.REPLACE), eq(DataCodings.newInstance((byte) 0)), eq((byte) 0), aryEq("short message body".getBytes()), eq(new OptionalParameter.OctetString(Tag.SOURCE_SUBADDRESS, "1292")), eq(new OptionalParameter.COctetString(Tag.ADDITIONAL_STATUS_INFO_TEXT.code(), "urgent")), eq(new OptionalParameter.Byte(Tag.DEST_ADDR_SUBUNIT, (byte) 4)), eq(new OptionalParameter.Short(Tag.DEST_TELEMATICS_ID.code(), (short) 2)), eq(new OptionalParameter.Int(Tag.QOS_TIME_TO_LIVE, 3600000)), eq(new OptionalParameter.Null(Tag.ALERT_ON_MESSAGE_DELIVERY)), eq(new OptionalParameter.OctetString((short) 0x2150, "1292", "UTF-8")), eq(new OptionalParameter.COctetString((short) 0x2151, "0816")), eq(new OptionalParameter.Byte((short) 0x2152, (byte) 6)), eq(new OptionalParameter.Short((short) 0x2153, (short) 9)), eq(new OptionalParameter.Int((short) 0x2154, 7400000)), eq(new OptionalParameter.Null((short) 0x2155)))).andReturn(new SubmitMultiResult("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));
    assertNull(exchange.getOut().getHeader(SmppConstants.ERROR));
}
Also used : DefaultExchange(org.apache.camel.impl.DefaultExchange) EasyMock.isNull(org.easymock.EasyMock.isNull) Assert.assertNotNull(org.junit.Assert.assertNotNull) Assert.assertNull(org.junit.Assert.assertNull) Address(org.jsmpp.bean.Address) ESMClass(org.jsmpp.bean.ESMClass) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) Date(java.util.Date) LinkedHashMap(java.util.LinkedHashMap) Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) SubmitMultiResult(org.jsmpp.bean.SubmitMultiResult) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) Test(org.junit.Test)

Example 4 with SubmitMultiResult

use of org.jsmpp.bean.SubmitMultiResult in project camel by apache.

the class SmppSubmitMultiCommandTest method latin1DataCodingOverridesEightBitAlphabet.

@Test
public void latin1DataCodingOverridesEightBitAlphabet() throws Exception {
    final byte latin1DataCoding = (byte) 0x03;
    /* ISO-8859-1 (Latin1) */
    byte[] body = { (byte) 0xFF, 'A', 'B', (byte) 0x00, (byte) 0xFF, (byte) 0x7F, 'C', (byte) 0xFF };
    byte[] bodyNarrowed = { '?', 'A', 'B', '\0', '?', (byte) 0x7F, 'C', '?' };
    Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut);
    exchange.getIn().setHeader(SmppConstants.COMMAND, "SubmitMulti");
    exchange.getIn().setHeader(SmppConstants.ALPHABET, Alphabet.ALPHA_8_BIT.value());
    exchange.getIn().setHeader(SmppConstants.DATA_CODING, latin1DataCoding);
    exchange.getIn().setBody(body);
    Address[] destAddrs = new Address[] { new Address(TypeOfNumber.UNKNOWN, NumberingPlanIndicator.UNKNOWN, "1717") };
    expect(session.submitMultiple(eq("CMT"), eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1616"), aryEq(destAddrs), eq(new ESMClass()), eq((byte) 0), eq((byte) 1), (String) isNull(), (String) isNull(), eq(new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS_FAILURE)), eq(ReplaceIfPresentFlag.DEFAULT), eq(DataCodings.newInstance(latin1DataCoding)), eq((byte) 0), aryEq(bodyNarrowed))).andReturn(new SubmitMultiResult("1"));
    replay(session);
    command.execute(exchange);
    verify(session);
}
Also used : Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) Address(org.jsmpp.bean.Address) SubmitMultiResult(org.jsmpp.bean.SubmitMultiResult) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) ESMClass(org.jsmpp.bean.ESMClass) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) Test(org.junit.Test)

Example 5 with SubmitMultiResult

use of org.jsmpp.bean.SubmitMultiResult in project camel by apache.

the class SmppSubmitMultiCommandTest method eightBitDataCodingOverridesDefaultAlphabet.

@Test
public void eightBitDataCodingOverridesDefaultAlphabet() throws Exception {
    final byte binDataCoding = (byte) 0x04;
    /* SMPP 8-bit */
    byte[] body = { (byte) 0xFF, 'A', 'B', (byte) 0x00, (byte) 0xFF, (byte) 0x7F, 'C', (byte) 0xFF };
    Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut);
    exchange.getIn().setHeader(SmppConstants.COMMAND, "SubmitMulti");
    exchange.getIn().setHeader(SmppConstants.ALPHABET, Alphabet.ALPHA_DEFAULT.value());
    exchange.getIn().setHeader(SmppConstants.DATA_CODING, binDataCoding);
    exchange.getIn().setBody(body);
    Address[] destAddrs = new Address[] { new Address(TypeOfNumber.UNKNOWN, NumberingPlanIndicator.UNKNOWN, "1717") };
    expect(session.submitMultiple(eq("CMT"), eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1616"), aryEq(destAddrs), eq(new ESMClass()), eq((byte) 0), eq((byte) 1), (String) isNull(), (String) isNull(), eq(new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS_FAILURE)), eq(ReplaceIfPresentFlag.DEFAULT), eq(DataCodings.newInstance(binDataCoding)), eq((byte) 0), aryEq(body))).andReturn(new SubmitMultiResult("1"));
    replay(session);
    command.execute(exchange);
    verify(session);
}
Also used : Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) Address(org.jsmpp.bean.Address) SubmitMultiResult(org.jsmpp.bean.SubmitMultiResult) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) ESMClass(org.jsmpp.bean.ESMClass) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) Test(org.junit.Test)

Aggregations

ESMClass (org.jsmpp.bean.ESMClass)12 RegisteredDelivery (org.jsmpp.bean.RegisteredDelivery)12 SubmitMultiResult (org.jsmpp.bean.SubmitMultiResult)12 Exchange (org.apache.camel.Exchange)11 DefaultCamelContext (org.apache.camel.impl.DefaultCamelContext)11 DefaultExchange (org.apache.camel.impl.DefaultExchange)11 Address (org.jsmpp.bean.Address)11 Test (org.junit.Test)11 Date (java.util.Date)4 LinkedHashMap (java.util.LinkedHashMap)2 UnsuccessDelivery (org.jsmpp.bean.UnsuccessDelivery)2 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 Message (org.apache.camel.Message)1 EasyMock.isNull (org.easymock.EasyMock.isNull)1 ReplaceIfPresentFlag (org.jsmpp.bean.ReplaceIfPresentFlag)1 SubmitMulti (org.jsmpp.bean.SubmitMulti)1 Assert.assertNotNull (org.junit.Assert.assertNotNull)1