Exemple #1
0
 def test_encode_mutually_exclusive_elements(self):
     ie1 = InformationElement(
         InformationElementIdentifier.CONCATENATED_SM_8BIT_REF_NUM,
         IEConcatenatedSM(0x24, 0x03, 0x01))
     ie2 = InformationElement(
         InformationElementIdentifier.CONCATENATED_SM_16BIT_REF_NUM,
         IEConcatenatedSM(0xABCD, 0x04, 0x01))
     udh = [ie1, ie2]
     self.assertRaises(ValueError, UserDataHeaderEncoder().encode, udh)
Exemple #2
0
 def test_encode_repeated_non_repeatable_element(self):
     ie1 = InformationElement(
         InformationElementIdentifier.CONCATENATED_SM_16BIT_REF_NUM,
         IEConcatenatedSM(0x9CFA, 0x03, 0x02))
     ie2 = InformationElement(
         InformationElementIdentifier.CONCATENATED_SM_16BIT_REF_NUM,
         IEConcatenatedSM(0xABCD, 0x04, 0x01))
     udh = [ie1, ie2]
     self.assertRaises(ValueError, UserDataHeaderEncoder().encode, udh)
Exemple #3
0
 def test_conversion(self):
     self.do_conversion_test(InformationElementEncoder(), InformationElement(
         InformationElementIdentifier.CONCATENATED_SM_8BIT_REF_NUM,
         IEConcatenatedSM(0xFA, 0x03, 0x02)), b'0003fa0302')
     self.do_conversion_test(InformationElementEncoder(), InformationElement(
         InformationElementIdentifier.CONCATENATED_SM_16BIT_REF_NUM,
         IEConcatenatedSM(0x9CFA, 0x03, 0x02)), b'08049cfa0302')
     self.do_conversion_test(InformationElementEncoder(), InformationElement(
         InformationElementIdentifier.HYPERLINK_FORMAT_ELEMENT,
         binascii.a2b_hex('9cfa0302')), b'21049cfa0302')
Exemple #4
0
 def test_decode_with_unknown_elements(self):
     udh = self.decode(UserDataHeaderEncoder().decode,
                       b'0f0203ffffff0201ff00032403010200')
     udhExpected = [
         InformationElement(InformationElementIdentifier.CONCATENATED_SM_8BIT_REF_NUM,
                            IEConcatenatedSM(0x24, 0x03, 0x01))]
     self.assertEqual(udhExpected, udh)
Exemple #5
0
 def test_isConcatenatedSM_true(self):
     pduHex = '000000da0000000500000000da4b62474652414e4300010131353535313233343536370001013134303436363533343130004000000000000000009e0500032403016869206a757374696e20686f772061726520796f753f204d79206e616d6520697320706570652069276d206672656e636820616e6420692077616e74656420746f2074656c6c20796f7520686f77206d7563682069206c6f766520796f752c20796f75206b6e6f7720796f75207361766564206d79206c69666520616e642069207265616c6c79207468616e6b20796f7520666f72207468'
     pdu = self.getPDU(pduHex)
     self.assertTrue(SMStringEncoder().is_concatenated_SM(pdu))
     iElem = SMStringEncoder().get_concatenated_SM_info_element(pdu)
     self.assertEqual(
         InformationElement(InformationElementIdentifier.CONCATENATED_SM_8BIT_REF_NUM,
                            IEConcatenatedSM(0x24, 0x03, 0x01)), iElem)
Exemple #6
0
 def test_decode_default_alphabet_with_udh(self):
     pduHex = b'000000da0000000500000000da4b62474652414e4300010131353535313233343536370001013134303436363533343130004000000000000000009e0500032403016869206a757374696e20686f772061726520796f753f204d79206e616d6520697320706570652069276d206672656e636820616e6420692077616e74656420746f2074656c6c20796f7520686f77206d7563682069206c6f766520796f752c20796f75206b6e6f7720796f75207361766564206d79206c69666520616e642069207265616c6c79207468616e6b20796f7520666f72207468'
     pdu = self.getPDU(pduHex)
     smStr = SMStringEncoder().decode_SM(pdu)
     self.assertEqual(
         b"\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.assertEqual(
         "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.str)
     self.assertEqual([InformationElement(
         InformationElementIdentifier.CONCATENATED_SM_8BIT_REF_NUM,
         IEConcatenatedSM(0x24, 0x03, 0x01))], smStr.udh)
Exemple #7
0
 def test_conversion(self):
     self.do_conversion_test(IEConcatenatedSMEncoder(False),
                             IEConcatenatedSM(0xFA, 0x03, 0x02), b'fa0302')
     self.do_conversion_test(IEConcatenatedSMEncoder(True),
                             IEConcatenatedSM(0x9CFA, 0x03, 0x02), b'9cfa0302')
Exemple #8
0
 def test_decode_mutually_exclusive_elements(self):
     udh = self.decode(UserDataHeaderEncoder().decode, b'0b000324030108049cfa0302')
     udhExpected = [
         InformationElement(InformationElementIdentifier.CONCATENATED_SM_16BIT_REF_NUM,
                            IEConcatenatedSM(0x9CFA, 0x03, 0x02))]
     self.assertEqual(udhExpected, udh)
Exemple #9
0
 def test_decode_repeated_non_repeatable_element(self):
     udh = self.decode(UserDataHeaderEncoder().decode, b'0c0804abcd030208049cfa0302')
     udhExpected = [
         InformationElement(InformationElementIdentifier.CONCATENATED_SM_16BIT_REF_NUM,
                            IEConcatenatedSM(0x9CFA, 0x03, 0x02))]
     self.assertEqual(udhExpected, udh)
Exemple #10
0
 def test_conversion(self):
     udh = [
         InformationElement(InformationElementIdentifier.CONCATENATED_SM_8BIT_REF_NUM,
                            IEConcatenatedSM(0x24, 0x03, 0x01))]
     self.do_conversion_test(UserDataHeaderEncoder(), udh, b'050003240301')