Example #1
0
def create_sms_delivery_receipt(correlator, address, delivery_status):
    """
    Helper for creating an ``notifySmsDeliveryReceipt`` element.
    """
    return NOTIFICATION_NS.notifySmsDeliveryReceipt(
        NOTIFICATION_NS.correlator(correlator),
        NOTIFICATION_NS.deliveryStatus(
            L.address(format_address(normalize_address(address))),
            L.deliveryStatus(delivery_status.name)))
Example #2
0
def create_sms_delivery_receipt(correlator, address, delivery_status):
    """
    Helper for creating an ``notifySmsDeliveryReceipt`` element.
    """
    return NOTIFICATION_NS.notifySmsDeliveryReceipt(
        NOTIFICATION_NS.correlator(correlator),
        NOTIFICATION_NS.deliveryStatus(
            L.address(format_address(normalize_address(address))),
            L.deliveryStatus(delivery_status.name)))
Example #3
0
def create_sms_reception_element(correlator, message, sender_address,
                                 service_activation_number):
    """
    Helper for creating an ``notifySmsReception`` element.
    """
    return NOTIFICATION_NS.notifySmsReception(
        NOTIFICATION_NS.correlator(correlator),
        NOTIFICATION_NS.message(
            L.message(message),
            L.senderAddress(format_address(normalize_address(sender_address))),
            L.smsServiceActivationNumber(service_activation_number)))
Example #4
0
def create_sms_reception_element(correlator, message, sender_address,
                                 service_activation_number):
    """
    Helper for creating an ``notifySmsReception`` element.
    """
    return NOTIFICATION_NS.notifySmsReception(
        NOTIFICATION_NS.correlator(correlator),
        NOTIFICATION_NS.message(
            L.message(message),
            L.senderAddress(format_address(normalize_address(sender_address))),
            L.smsServiceActivationNumber(service_activation_number)))
Example #5
0
 def test_from_element_unknown_status(self):
     """
     `DeliveryInformation.from_element` raises ``ValueError`` if an unknown
     ``DeliveryStatus`` enumeration value is specified.
     """
     e = self.assertRaises(
         ValueError, DeliveryInformation.from_element,
         NOTIFICATION_NS.deliveryStatus(L.address('tel:27117654321'),
                                        L.deliveryStatus('WhatIsThis')))
     self.assertEqual(
         "No such delivery status enumeration value: 'WhatIsThis'", str(e))
Example #6
0
 def test_from_element_missing_timestamp(self):
     """
     `SmsMessage.from_element` parses a ParlayX ``SmsMessage`` complex type,
     without a timestamp, into an `SmsMessage` instance.
     """
     msg = SmsMessage.from_element(
         NOTIFICATION_NS.message(L.message('message'),
                                 L.senderAddress('tel:27117654321'),
                                 L.smsServiceActivationNumber('54321')))
     self.assertEqual(('message', '+27117654321', '54321', None),
                      (msg.message, msg.sender_address,
                       msg.service_activation_number, msg.timestamp))
Example #7
0
 def test_from_element_unknown_status(self):
     """
     `DeliveryInformation.from_element` raises ``ValueError`` if an unknown
     ``DeliveryStatus`` enumeration value is specified.
     """
     e = self.assertRaises(ValueError,
         DeliveryInformation.from_element,
         NOTIFICATION_NS.deliveryStatus(
             L.address('tel:27117654321'),
             L.deliveryStatus('WhatIsThis')))
     self.assertEqual(
         "No such delivery status enumeration value: 'WhatIsThis'", str(e))
Example #8
0
 def test_from_element(self):
     """
     `DeliveryInformation.from_element` parses a ParlayX
     ``DeliveryInformation`` complex type into a `DeliveryInformation`
     instance. Known ``DeliveryStatus`` enumeration values are parsed into
     `DeliveryStatus` attributes.
     """
     info = DeliveryInformation.from_element(
         NOTIFICATION_NS.deliveryStatus(
             L.address('tel:27117654321'),
             L.deliveryStatus('DeliveredToNetwork')))
     self.assertEqual(('+27117654321', DeliveryStatus.DeliveredToNetwork),
                      (info.address, info.delivery_status))
Example #9
0
 def test_from_element(self):
     """
     `DeliveryInformation.from_element` parses a ParlayX
     ``DeliveryInformation`` complex type into a `DeliveryInformation`
     instance. Known ``DeliveryStatus`` enumeration values are parsed into
     `DeliveryStatus` attributes.
     """
     info = DeliveryInformation.from_element(
         NOTIFICATION_NS.deliveryStatus(
             L.address('tel:27117654321'),
             L.deliveryStatus('DeliveredToNetwork')))
     self.assertEqual(
         ('+27117654321', DeliveryStatus.DeliveredToNetwork),
         (info.address, info.delivery_status))
Example #10
0
 def test_from_element_missing_timestamp(self):
     """
     `SmsMessage.from_element` parses a ParlayX ``SmsMessage`` complex type,
     without a timestamp, into an `SmsMessage` instance.
     """
     msg = SmsMessage.from_element(
         NOTIFICATION_NS.message(
             L.message('message'),
             L.senderAddress('tel:27117654321'),
             L.smsServiceActivationNumber('54321')))
     self.assertEqual(
         ('message', '+27117654321', '54321', None),
         (msg.message, msg.sender_address, msg.service_activation_number,
          msg.timestamp))
Example #11
0
 def test_from_element(self):
     """
     `SmsMessage.from_element` parses a ParlayX ``SmsMessage`` complex type,
     with an ISO8601 timestamp, into an `SmsMessage` instance.
     """
     timestamp = datetime(
         2013, 6, 12, 13, 15, 0, tzinfo=iso8601.iso8601.Utc())
     msg = SmsMessage.from_element(
         NOTIFICATION_NS.message(
             L.message('message'),
             L.senderAddress('tel:27117654321'),
             L.smsServiceActivationNumber('54321'),
             L.dateTime('2013-06-12T13:15:00')))
     self.assertEqual(
         ('message', '+27117654321', '54321', timestamp),
         (msg.message, msg.sender_address, msg.service_activation_number,
          msg.timestamp))
Example #12
0
 def test_from_element(self):
     """
     `SmsMessage.from_element` parses a ParlayX ``SmsMessage`` complex type,
     with an ISO8601 timestamp, into an `SmsMessage` instance.
     """
     timestamp = datetime(2013,
                          6,
                          12,
                          13,
                          15,
                          0,
                          tzinfo=iso8601.iso8601.Utc())
     msg = SmsMessage.from_element(
         NOTIFICATION_NS.message(L.message('message'),
                                 L.senderAddress('tel:27117654321'),
                                 L.smsServiceActivationNumber('54321'),
                                 L.dateTime('2013-06-12T13:15:00')))
     self.assertEqual(('message', '+27117654321', '54321', timestamp),
                      (msg.message, msg.sender_address,
                       msg.service_activation_number, msg.timestamp))