| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/software/Services/smpp/python-smpplib-master/python-smpplib-master/smpplib/tests/ |
Upload File : |
from smpplib import consts, exceptions
from smpplib.client import Client
from smpplib.command import DeliverSM
import pytest
def test_parse_deliver_sm():
client = Client("localhost", 5679)
pdu = DeliverSM('deliver_sm', client=client)
pdu.parse(
b"\x00\x00\x00\xcb\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x01\x00"
b"\x01\x0131600000000\x00\x05\x00XXX YYYY\x00\x04\x00\x00\x00\x00\x00"
b"\x00\x00\x00\x00\x00\x0e\x00\x01\x01\x00\x06\x00\x01\x01\x00\x1e\x00"
b"\t1d305b4c\x00\x04'\x00\x01\x02\x04$\x00rid:0489708364 sub:001"
b" dlvrd:001 submit date:1810151907 done date:1810151907 stat:DELIVRD"
b" err:000 text:\x04\x1f\x04@\x048\x042\x045\x04B\x04&\x00\x01\x01"
)
assert pdu.source_addr_ton == consts.SMPP_TON_INTL
assert pdu.source_addr_npi == consts.SMPP_NPI_ISDN
assert pdu.source_addr == b'31600000000'
assert pdu.destination_addr == b'XXX YYYY'
assert pdu.receipted_message_id == b'1d305b4c'
assert pdu.source_network_type == consts.SMPP_NETWORK_TYPE_GSM
assert pdu.message_state == consts.SMPP_MESSAGE_STATE_DELIVERED
assert pdu.user_message_reference is None
def test_unrecognised_optional_parameters():
client = Client("localhost", 5679)
pdu = DeliverSM("deliver_sm", client=client, allow_unknown_opt_params=True)
pdu.parse(b'\x00\x00\x00\xa8\x00\x00\x00\x05\x00\x00\x00\x00/p\xc6'
b'\x9a\x00\x00\x0022549909028\x00\x01\x00\x00\x04\x00\x00'
b'\x00\x00\x00\x00\x00\x00iid:795920026 sub:001 dlvrd:001 '
b'submit date:200319131913 done date:200319131913 stat:DELIVRD err:000 text:'
b'\x14\x03\x00\x07(null)\x00\x14\x02\x00\x04612\x00'
)
# This is only to avoid a breaking change, at some point the other behaviour
# should become the default.
with pytest.raises(exceptions.UnknownCommandError):
pdu2 = DeliverSM("deliver_sm", client=client)
pdu2.parse(b'\x00\x00\x00\xa8\x00\x00\x00\x05\x00\x00\x00\x00/p\xc6'
b'\x9a\x00\x00\x0022549909028\x00\x01\x00\x00\x04\x00\x00'
b'\x00\x00\x00\x00\x00\x00iid:795920026 sub:001 dlvrd:001 '
b'submit date:200319131913 done date:200319131913 stat:DELIVRD err:000 text:'
b'\x14\x03\x00\x07(null)\x00\x14\x02\x00\x04612\x00'
)