Search in sources :

Example 6 with MessageId

use of org.jsmpp.util.MessageId in project camel by apache.

the class SmppDataSmCommandTest method executeWithOptionalParameterNewStyle.

@SuppressWarnings("unchecked")
@Test
public void executeWithOptionalParameterNewStyle() throws Exception {
    Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut);
    exchange.getIn().setHeader(SmppConstants.COMMAND, "DataSm");
    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);
    expect(session.dataShortMessage(eq("CMT"), eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1616"), eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), eq("1717"), eq(new ESMClass()), eq(new RegisteredDelivery((byte) 1)), eq(DataCodings.newInstance((byte) 0)), 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 DataSmResult(new MessageId("1"), new OptionalParameter[] { new OptionalParameter.Source_subaddress("1292".getBytes()), new OptionalParameter.Additional_status_info_text("urgent"), new OptionalParameter.Dest_addr_subunit((byte) 4), new OptionalParameter.Dest_telematics_id((short) 2), new OptionalParameter.Qos_time_to_live(3600000), new OptionalParameter.Alert_on_message_delivery((byte) 0) }));
    replay(session);
    command.execute(exchange);
    verify(session);
    assertEquals(3, exchange.getOut().getHeaders().size());
    assertEquals("1", exchange.getOut().getHeader(SmppConstants.ID));
    Map<String, String> optParamMap = exchange.getOut().getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
    assertEquals(6, optParamMap.size());
    assertEquals("1292", optParamMap.get("SOURCE_SUBADDRESS"));
    assertEquals("urgent", optParamMap.get("ADDITIONAL_STATUS_INFO_TEXT"));
    assertEquals("4", optParamMap.get("DEST_ADDR_SUBUNIT"));
    assertEquals("2", optParamMap.get("DEST_TELEMATICS_ID"));
    assertEquals("3600000", optParamMap.get("QOS_TIME_TO_LIVE"));
    assertEquals("0", optParamMap.get("ALERT_ON_MESSAGE_DELIVERY"));
    Map<Short, Object> optionalResultParameter = exchange.getOut().getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
    assertEquals(6, optionalResultParameter.size());
    assertArrayEquals("1292".getBytes("UTF-8"), (byte[]) optionalResultParameter.get(Short.valueOf((short) 0x0202)));
    assertEquals("urgent", optionalResultParameter.get(Short.valueOf((short) 0x001D)));
    assertEquals(Byte.valueOf((byte) 4), optionalResultParameter.get(Short.valueOf((short) 0x0005)));
    assertEquals(Short.valueOf((short) 2), optionalResultParameter.get(Short.valueOf((short) 0x0008)));
    assertEquals(Integer.valueOf(3600000), optionalResultParameter.get(Short.valueOf((short) 0x0017)));
    assertEquals((byte) 0, optionalResultParameter.get(Short.valueOf((short) 0x130C)));
}
Also used : Assert.assertNull(org.junit.Assert.assertNull) ESMClass(org.jsmpp.bean.ESMClass) DataSmResult(org.jsmpp.session.DataSmResult) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) LinkedHashMap(java.util.LinkedHashMap) OptionalParameter(org.jsmpp.bean.OptionalParameter) DefaultExchange(org.apache.camel.impl.DefaultExchange) Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) MessageId(org.jsmpp.util.MessageId) Test(org.junit.Test)

Aggregations

MessageId (org.jsmpp.util.MessageId)6 Exchange (org.apache.camel.Exchange)5 DataSmResult (org.jsmpp.session.DataSmResult)5 DefaultCamelContext (org.apache.camel.impl.DefaultCamelContext)4 DefaultExchange (org.apache.camel.impl.DefaultExchange)4 ESMClass (org.jsmpp.bean.ESMClass)4 RegisteredDelivery (org.jsmpp.bean.RegisteredDelivery)4 Test (org.junit.Test)4 LinkedHashMap (java.util.LinkedHashMap)2 OptionalParameter (org.jsmpp.bean.OptionalParameter)2 Processor (org.apache.camel.Processor)1 ExceptionHandler (org.apache.camel.spi.ExceptionHandler)1 PDUStringException (org.jsmpp.PDUStringException)1 ProcessRequestException (org.jsmpp.extra.ProcessRequestException)1 MessageIDGenerator (org.jsmpp.util.MessageIDGenerator)1 Assert.assertNull (org.junit.Assert.assertNull)1 Before (org.junit.Before)1