Пример #1
0
 def test_isConcatenatedSM_true(self):
     pduHex = '000000da0000000500000000da4b62474652414e4300010131353535313233343536370001013134303436363533343130004000000000000000009e0500032403016869206a757374696e20686f772061726520796f753f204d79206e616d6520697320706570652069276d206672656e636820616e6420692077616e74656420746f2074656c6c20796f7520686f77206d7563682069206c6f766520796f752c20796f75206b6e6f7720796f75207361766564206d79206c69666520616e642069207265616c6c79207468616e6b20796f7520666f72207468'
     pdu = self.getPDU(pduHex)
     self.assertTrue(SMStringEncoder().isConcatenatedSM(pdu))
     iElem = SMStringEncoder().getConcatenatedSMInfoElement(pdu)
     self.assertEquals(
         InformationElement(
             InformationElementIdentifier.CONCATENATED_SM_8BIT_REF_NUM,
             IEConcatenatedSM(0x24, 0x03, 0x01)), iElem)
Пример #2
0
 def test_decode_ascii(self):
     pduHex = '00000054000000050000000008c72a4154454c4550000101313535353535353535353500010131343034363635333431300000ff010000000001000e49732074686973206a757374696e0201000100020d000101'
     pdu = self.getPDU(pduHex)
     smStr = SMStringEncoder().decodeSM(pdu)
     self.assertEquals('Is this justin', smStr.bytes)
     self.assertEquals('Is this justin', smStr.unicode)
     self.assertEquals(None, smStr.udh)
Пример #3
0
    def test_deliver_sm_unknown_param_network_error_code(self):
        pduHex = '000000e40000000500000000542e0f21312e303030000101323434393335353535300005005a4150000400000000000000008069643a3661336564393861363634343465386162616333616364396262613836353666207375623a30303120646c7672643a303030207375626d697420646174653a31343130313630303336353020646f6e6520646174653a31343130313630303338303020737461743a554e44454c4956206572723a30303020746578743a042300033030300427000105001e0021366133656439386136363434346538616261633361636439626261383635366600'
        pdu = self.getPDU(pduHex)
        SMStringEncoder().decodeSM(pdu)

        # Asserts
        self.assertEquals('000', pdu.params['network_error_code'])
Пример #4
0
 def test_decode_latin1(self):
     pduHex = '0000004200000005000000002a603d56415753424400010131353535313233343536370001013137373338323834303730000000000000000003000645737061f161'
     pdu = self.getPDU(pduHex)
     smStr = SMStringEncoder().decodeSM(pdu)
     self.assertEquals('Espa\xf1a', smStr.bytes)
     self.assertEquals(u'Espa\xf1a', smStr.unicode)
     self.assertEquals(None, smStr.udh)
Пример #5
0
 def test_decode_UCS2(self):
     pduHex = '000000480000000500000000dfd03a56415753424400010131353535313233343536370001013137373338323834303730000000000000000008000c00f10075014400ed00fc0073'
     pdu = self.getPDU(pduHex)
     smStr = SMStringEncoder().decodeSM(pdu)
     self.assertEquals('\x00\xf1\x00u\x01D\x00\xed\x00\xfc\x00s',
                       smStr.bytes)
     self.assertEquals(u'\xf1u\u0144\xed\xfcs', smStr.unicode)
     self.assertEquals(None, smStr.udh)
Пример #6
0
    def test_deliver_sm_with_message_payload(self):
        pduHex = '0000009200000005000000000001693c00000032313635333532303730330000003737383800040000000001000000000424004f69643a30303030343336393439207375626d697420646174653a3135303432313135303820646f6e6520646174653a3135303432313135303820737461743a44454c49565244206572723a30303000001e00063661616435000427000102'
        pdu = self.getPDU(pduHex)
        SMStringEncoder().decodeSM(pdu)

        # Asserts
        self.assertEquals('id:0000436949 submit date:1504211508 done date:1504211508 stat:DELIVRD err:000\x00', str(pdu.params['message_payload']))
        self.assertEquals('6aad5', str(pdu.params['receipted_message_id']))
Пример #7
0
    def test_any_network_error_code(self):
        """Related to #117"""

        pduHex = '000000f3000000050000000000000001000101343931353235363739343838370001013034303531333036393939000400000000000000008569643a62633539623861612d326664322d343033352d383131332d313933303165303530303739207375623a30303120646c7672643a303031207375626d697420646174653a31353035303831343430353820646f6e6520646174653a31353035303831343430353820737461743a44454c49565244206572723a30303020746578743a2d042300030300000427000102001e002562633539623861612d326664322d343033352d383131332d31393330316530353030373900'
        pdu = self.getPDU(pduHex)
        SMStringEncoder().decodeSM(pdu)

        # Asserts
        self.assertEquals('\x03\x00\x00', str(pdu.params['network_error_code']))
Пример #8
0
    def test_any_network_type(self):
        "Related to #120"

        pduHex = '0000004500000005000000000000000100020135393232393631383600040933373435320000000000000000000000000e00010100060001010424000848692066696b7279'
        pdu = self.getPDU(pduHex)
        SMStringEncoder().decodeSM(pdu)

        # Asserts
        self.assertEquals('GSM', str(pdu.params['source_network_type']))
        self.assertEquals('GSM', str(pdu.params['dest_network_type']))
Пример #9
0
 def test_decode_default_alphabet_with_udh(self):
     pduHex = '000000da0000000500000000da4b62474652414e4300010131353535313233343536370001013134303436363533343130004000000000000000009e0500032403016869206a757374696e20686f772061726520796f753f204d79206e616d6520697320706570652069276d206672656e636820616e6420692077616e74656420746f2074656c6c20796f7520686f77206d7563682069206c6f766520796f752c20796f75206b6e6f7720796f75207361766564206d79206c69666520616e642069207265616c6c79207468616e6b20796f7520666f72207468'
     pdu = self.getPDU(pduHex)
     smStr = SMStringEncoder().decodeSM(pdu)
     self.assertEquals(
         "\x05\x00\x03$\x03\x01hi justin how are you? My name is pepe i'm french and i wanted to tell you how much i love you, you know you saved my life and i really thank you for th",
         smStr.bytes)
     self.assertEquals(
         "hi justin how are you? My name is pepe i'm french and i wanted to tell you how much i love you, you know you saved my life and i really thank you for th",
         smStr.unicode)
     self.assertEquals([
         InformationElement(
             InformationElementIdentifier.CONCATENATED_SM_8BIT_REF_NUM,
             IEConcatenatedSM(0x24, 0x03, 0x01))
     ], smStr.udh)
Пример #10
0
 def test_isConcatenatedSM_false(self):
     pduHex = '000000490000000500000000b9b7e456544d4f424900010131353535313233343536370001013134303436363533343130000000000000000000000d49206c7576206a757374696e21'
     pdu = self.getPDU(pduHex)
     self.assertFalse(SMStringEncoder().isConcatenatedSM(pdu))
     iElem = SMStringEncoder().getConcatenatedSMInfoElement(pdu)
     self.assertEquals(None, iElem)
Пример #11
0
 def test_decode_octet_unspecified_common(self):
     pduHex = '000000a900000005000000003cf78935415753424400010131353535313233343536370001013134303436363533343130004000000000000004006d06050423f40000424547494e3a56434152440d0a56455253494f4e3a322e310d0a4e3b434841525345543d5554462d383a4269656265723b4a757374696e0d0a54454c3b564f4943453b434841525345543d5554462d383a343034363635333431300d0a454e443a5643415244'
     pdu = self.getPDU(pduHex)
     self.assertRaises(NotImplementedError, SMStringEncoder().decodeSM, pdu)
Пример #12
0
 def test_decode_default_alphabet(self):
     #'T- Mobile flip phone \xa7 \xa8 N random special charcters'
     pduHex = '0000006f00000005000000005d3fe724544d4f4249000101313535353132333435363700010131373733383238343037300000000000000000000033542d204d6f62696c6520666c69702070686f6e6520a720a8204e2072616e646f6d207370656369616c20636861726374657273'
     pdu = self.getPDU(pduHex)
     self.assertRaises(UnicodeDecodeError, SMStringEncoder().decodeSM, pdu)