Search in sources :

Example 6 with DeliverSm

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

the class SmppBindingTest method createSmppMessageFromDeliverSmShouldReturnASmppMessage.

@Test
public void createSmppMessageFromDeliverSmShouldReturnASmppMessage() throws Exception {
    DeliverSm deliverSm = new DeliverSm();
    deliverSm.setShortMessage("Hello SMPP world!".getBytes());
    deliverSm.setSequenceNumber(1);
    deliverSm.setCommandId(1);
    deliverSm.setSourceAddr("1818");
    deliverSm.setSourceAddrNpi(NumberingPlanIndicator.NATIONAL.value());
    deliverSm.setSourceAddrTon(TypeOfNumber.NATIONAL.value());
    deliverSm.setDestAddress("1919");
    deliverSm.setDestAddrNpi(NumberingPlanIndicator.INTERNET.value());
    deliverSm.setDestAddrTon(TypeOfNumber.NETWORK_SPECIFIC.value());
    deliverSm.setScheduleDeliveryTime("090831230627004+");
    deliverSm.setValidityPeriod("090901230627004+");
    deliverSm.setServiceType("WAP");
    SmppMessage smppMessage = binding.createSmppMessage(deliverSm);
    assertEquals("Hello SMPP world!", smppMessage.getBody());
    assertEquals(13, smppMessage.getHeaders().size());
    assertEquals(1, smppMessage.getHeader(SmppConstants.SEQUENCE_NUMBER));
    assertEquals(1, smppMessage.getHeader(SmppConstants.COMMAND_ID));
    assertEquals("1818", smppMessage.getHeader(SmppConstants.SOURCE_ADDR));
    assertEquals((byte) 8, smppMessage.getHeader(SmppConstants.SOURCE_ADDR_NPI));
    assertEquals((byte) 2, smppMessage.getHeader(SmppConstants.SOURCE_ADDR_TON));
    assertEquals("1919", smppMessage.getHeader(SmppConstants.DEST_ADDR));
    assertEquals((byte) 14, smppMessage.getHeader(SmppConstants.DEST_ADDR_NPI));
    assertEquals((byte) 3, smppMessage.getHeader(SmppConstants.DEST_ADDR_TON));
    assertEquals("090831230627004+", smppMessage.getHeader(SmppConstants.SCHEDULE_DELIVERY_TIME));
    assertEquals("090901230627004+", smppMessage.getHeader(SmppConstants.VALIDITY_PERIOD));
    assertEquals("WAP", smppMessage.getHeader(SmppConstants.SERVICE_TYPE));
    assertEquals(SmppMessageType.DeliverSm.toString(), smppMessage.getHeader(SmppConstants.MESSAGE_TYPE));
}
Also used : DeliverSm(org.jsmpp.bean.DeliverSm) Test(org.junit.Test)

Example 7 with DeliverSm

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

the class SmppBindingTest method createSmppMessageFromDeliveryReceiptShouldReturnASmppMessage.

@Test
public void createSmppMessageFromDeliveryReceiptShouldReturnASmppMessage() throws Exception {
    DeliverSm deliverSm = new DeliverSm();
    deliverSm.setSmscDeliveryReceipt();
    deliverSm.setShortMessage("id:2 sub:001 dlvrd:001 submit date:0908312310 done date:0908312311 stat:DELIVRD err:xxx Text:Hello SMPP world!".getBytes());
    SmppMessage smppMessage = binding.createSmppMessage(deliverSm);
    assertEquals("Hello SMPP world!", smppMessage.getBody());
    assertEquals(8, smppMessage.getHeaders().size());
    assertEquals("2", smppMessage.getHeader(SmppConstants.ID));
    assertEquals(1, smppMessage.getHeader(SmppConstants.DELIVERED));
    // To avoid the test failure when running in different TimeZone
    //assertEquals(new Date(1251753060000L), smppMessage.getHeader(SmppConstants.DONE_DATE));
    assertEquals("xxx", smppMessage.getHeader(SmppConstants.ERROR));
    //assertEquals(new Date(1251753000000L), smppMessage.getHeader(SmppConstants.SUBMIT_DATE));
    assertEquals(1, smppMessage.getHeader(SmppConstants.SUBMITTED));
    assertEquals(DeliveryReceiptState.DELIVRD, smppMessage.getHeader(SmppConstants.FINAL_STATUS));
    assertEquals(SmppMessageType.DeliveryReceipt.toString(), smppMessage.getHeader(SmppConstants.MESSAGE_TYPE));
    assertNull(smppMessage.getHeader(SmppConstants.OPTIONAL_PARAMETERS));
}
Also used : DeliverSm(org.jsmpp.bean.DeliverSm) Test(org.junit.Test)

Example 8 with DeliverSm

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

the class SmppBindingTest method createSmppMessageFromDeliveryReceiptWithOptionalParametersShouldReturnASmppMessage.

@SuppressWarnings("unchecked")
@Test
public void createSmppMessageFromDeliveryReceiptWithOptionalParametersShouldReturnASmppMessage() throws Exception {
    DeliverSm deliverSm = new DeliverSm();
    deliverSm.setSmscDeliveryReceipt();
    deliverSm.setShortMessage("id:2 sub:001 dlvrd:001 submit date:0908312310 done date:0908312311 stat:DELIVRD err:xxx Text:Hello SMPP world!".getBytes());
    deliverSm.setOptionalParameters(new OptionalParameter.OctetString(Tag.SOURCE_SUBADDRESS, "OctetString"), new OptionalParameter.COctetString((short) 0x001D, "COctetString"), new OptionalParameter.Byte(Tag.DEST_ADDR_SUBUNIT, (byte) 0x01), new OptionalParameter.Short(Tag.DEST_TELEMATICS_ID, (short) 1), new OptionalParameter.Int(Tag.QOS_TIME_TO_LIVE, 1), new OptionalParameter.Null(Tag.ALERT_ON_MESSAGE_DELIVERY));
    SmppMessage smppMessage = binding.createSmppMessage(deliverSm);
    assertEquals("Hello SMPP world!", smppMessage.getBody());
    assertEquals(10, smppMessage.getHeaders().size());
    assertEquals("2", smppMessage.getHeader(SmppConstants.ID));
    assertEquals(1, smppMessage.getHeader(SmppConstants.DELIVERED));
    // To avoid the test failure when running in different TimeZone
    //assertEquals(new Date(1251753060000L), smppMessage.getHeader(SmppConstants.DONE_DATE));
    assertEquals("xxx", smppMessage.getHeader(SmppConstants.ERROR));
    //assertEquals(new Date(1251753000000L), smppMessage.getHeader(SmppConstants.SUBMIT_DATE));
    assertEquals(1, smppMessage.getHeader(SmppConstants.SUBMITTED));
    assertEquals(DeliveryReceiptState.DELIVRD, smppMessage.getHeader(SmppConstants.FINAL_STATUS));
    assertEquals(SmppMessageType.DeliveryReceipt.toString(), smppMessage.getHeader(SmppConstants.MESSAGE_TYPE));
    Map<String, Object> optionalParameters = smppMessage.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
    assertEquals(6, optionalParameters.size());
    assertEquals("OctetString", optionalParameters.get("SOURCE_SUBADDRESS"));
    assertEquals("COctetString", optionalParameters.get("ADDITIONAL_STATUS_INFO_TEXT"));
    assertEquals(Byte.valueOf((byte) 0x01), optionalParameters.get("DEST_ADDR_SUBUNIT"));
    assertEquals(Short.valueOf((short) 1), optionalParameters.get("DEST_TELEMATICS_ID"));
    assertEquals(Integer.valueOf(1), optionalParameters.get("QOS_TIME_TO_LIVE"));
    assertNull("0x00", optionalParameters.get("ALERT_ON_MESSAGE_DELIVERY"));
    Map<Short, Object> optionalParameter = smppMessage.getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
    assertEquals(6, optionalParameter.size());
    assertArrayEquals("OctetString".getBytes("UTF-8"), (byte[]) optionalParameter.get(Short.valueOf((short) 0x0202)));
    assertEquals("COctetString", optionalParameter.get(Short.valueOf((short) 0x001D)));
    assertEquals(Byte.valueOf((byte) 0x01), optionalParameter.get(Short.valueOf((short) 0x0005)));
    assertEquals(Short.valueOf((short) 1), optionalParameter.get(Short.valueOf((short) 0x0008)));
    assertEquals(Integer.valueOf(1), optionalParameter.get(Short.valueOf((short) 0x0017)));
    assertNull("0x00", optionalParameter.get(Short.valueOf((short) 0x130C)));
}
Also used : OctetString(org.jsmpp.bean.OptionalParameter.OctetString) OptionalParameter(org.jsmpp.bean.OptionalParameter) OctetString(org.jsmpp.bean.OptionalParameter.OctetString) DeliverSm(org.jsmpp.bean.DeliverSm) Test(org.junit.Test)

Example 9 with DeliverSm

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

the class SmppBindingTest method createSmppMessageFrom8bitDataCodingDeliverSmShouldNotModifyBody.

@Test
public void createSmppMessageFrom8bitDataCodingDeliverSmShouldNotModifyBody() throws Exception {
    final Set<String> encodings = Charset.availableCharsets().keySet();
    final byte[] dataCodings = { (byte) 0x02, (byte) 0x04, (byte) 0xF6, (byte) 0xF4 };
    byte[] body = { (byte) 0xFF, 'A', 'B', (byte) 0x00, (byte) 0xFF, (byte) 0x7F, 'C', (byte) 0xFF };
    DeliverSm deliverSm = new DeliverSm();
    for (byte dataCoding : dataCodings) {
        deliverSm.setDataCoding(dataCoding);
        deliverSm.setShortMessage(body);
        for (String encoding : encodings) {
            binding.getConfiguration().setEncoding(encoding);
            SmppMessage smppMessage = binding.createSmppMessage(deliverSm);
            assertArrayEquals(String.format("data coding=0x%02X; encoding=%s", dataCoding, encoding), body, smppMessage.getBody(byte[].class));
        }
    }
}
Also used : OctetString(org.jsmpp.bean.OptionalParameter.OctetString) DeliverSm(org.jsmpp.bean.DeliverSm) Test(org.junit.Test)

Example 10 with DeliverSm

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

the class SmppBindingTest method createSmppMessageFromDeliveryReceiptWithPayloadInOptionalParameterShouldReturnASmppMessage.

@Test
public void createSmppMessageFromDeliveryReceiptWithPayloadInOptionalParameterShouldReturnASmppMessage() {
    DeliverSm deliverSm = new DeliverSm();
    deliverSm.setSmscDeliveryReceipt();
    deliverSm.setOptionalParameters(new OctetString(OptionalParameter.Tag.MESSAGE_PAYLOAD, "id:2 sub:001 dlvrd:001 submit date:0908312310 done date:0908312311 stat:DELIVRD err:xxx Text:Hello SMPP world!"));
    try {
        SmppMessage smppMessage = binding.createSmppMessage(deliverSm);
        assertEquals("Hello SMPP world!", smppMessage.getBody());
        assertEquals(10, smppMessage.getHeaders().size());
        assertEquals("2", smppMessage.getHeader(SmppConstants.ID));
        assertEquals(1, smppMessage.getHeader(SmppConstants.DELIVERED));
        assertEquals("xxx", smppMessage.getHeader(SmppConstants.ERROR));
        assertEquals(1, smppMessage.getHeader(SmppConstants.SUBMITTED));
        assertEquals(DeliveryReceiptState.DELIVRD, smppMessage.getHeader(SmppConstants.FINAL_STATUS));
        assertEquals(SmppMessageType.DeliveryReceipt.toString(), smppMessage.getHeader(SmppConstants.MESSAGE_TYPE));
    } catch (Exception e) {
        fail("Should not throw exception while creating smppMessage.");
    }
}
Also used : OctetString(org.jsmpp.bean.OptionalParameter.OctetString) DeliverSm(org.jsmpp.bean.DeliverSm) Test(org.junit.Test)

Aggregations

DeliverSm (org.jsmpp.bean.DeliverSm)15 Test (org.junit.Test)15 OctetString (org.jsmpp.bean.OptionalParameter.OctetString)4 Exchange (org.apache.camel.Exchange)3 OptionalParameter (org.jsmpp.bean.OptionalParameter)2