Search in sources :

Example 6 with DataSmResult

use of org.jsmpp.session.DataSmResult in project camel by apache.

the class SmppDataSmCommandTest method executeWithConfigurationData.

@Test
public void executeWithConfigurationData() throws Exception {
    Exchange exchange = new DefaultExchange(new DefaultCamelContext(), ExchangePattern.InOut);
    exchange.getIn().setHeader(SmppConstants.COMMAND, "DataSm");
    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)))).andReturn(new DataSmResult(new MessageId("1"), null));
    replay(session);
    command.execute(exchange);
    verify(session);
    assertEquals("1", exchange.getOut().getHeader(SmppConstants.ID));
    assertNull(exchange.getOut().getHeader(SmppConstants.OPTIONAL_PARAMETERS));
}
Also used : Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) ESMClass(org.jsmpp.bean.ESMClass) DataSmResult(org.jsmpp.session.DataSmResult) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) MessageId(org.jsmpp.util.MessageId) Test(org.junit.Test)

Example 7 with DataSmResult

use of org.jsmpp.session.DataSmResult 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

DataSmResult (org.jsmpp.session.DataSmResult)7 Exchange (org.apache.camel.Exchange)6 ESMClass (org.jsmpp.bean.ESMClass)5 RegisteredDelivery (org.jsmpp.bean.RegisteredDelivery)5 MessageId (org.jsmpp.util.MessageId)5 Test (org.junit.Test)5 DefaultCamelContext (org.apache.camel.impl.DefaultCamelContext)4 DefaultExchange (org.apache.camel.impl.DefaultExchange)4 OptionalParameter (org.jsmpp.bean.OptionalParameter)3 LinkedHashMap (java.util.LinkedHashMap)2 DataSm (org.jsmpp.bean.DataSm)2 Message (org.apache.camel.Message)1 ProcessRequestException (org.jsmpp.extra.ProcessRequestException)1 SMPPSession (org.jsmpp.session.SMPPSession)1 Assert.assertNull (org.junit.Assert.assertNull)1