def test_receipt_with_inurl_dlr_level1(self): """Will: 1. Set a SMS-MT route to connector A 2. Send a SMS-MT to that route and set a DLR callback for level 1 3. Wait for the level1 DLR (submit_sm_resp) and run tests """ yield self.connect('127.0.0.1', self.pbPort) yield self.prepareRoutingsAndStartConnector() self.params['dlr-url'] = self.dlr_url self.params['dlr-level'] = 1 self.params['content'] = composeMessage({'_'}, 200) baseurl = 'http://127.0.0.1:1401/send?%s' % urllib.urlencode(self.params) # Send a MT # We should receive a msg id c = yield getPage(baseurl, method = self.method, postdata = self.postdata) msgStatus = c[:7] msgId = c[9:45] # Wait 1 seconds for submit_sm_resp exitDeferred = defer.Deferred() reactor.callLater(1, exitDeferred.callback, None) yield exitDeferred yield self.stopSmppClientConnectors() # Run tests self.assertEqual(msgStatus, 'Success') # A DLR must be sent to dlr_url self.assertEqual(self.AckServerResource.render_POST.call_count, 1) # Message ID must be transmitted in the DLR callArgs = self.AckServerResource.render_POST.call_args_list[0][0][0].args self.assertEqual(callArgs['id'][0], msgId)
def test_connector_source_addr_ton_long_message(self): "Related to #104, will check if all parts of long message will get the same source_addr_ton" yield self.connect('127.0.0.1', self.pbPort) yield self.prepareRoutingsAndStartConnector(source_addr_ton = AddrTon.ABBREVIATED) self.params['content'] = composeMessage({'_'}, 200) baseurl = 'http://127.0.0.1:1401/send?%s' % urllib.urlencode(self.params) # Send a MT # We should receive a msg id c = yield getPage(baseurl, method = self.method, postdata = self.postdata) msgStatus = c[:7] msgId = c[9:45] yield self.stopSmppClientConnectors() # Run tests self.assertEqual(msgStatus, 'Success') self.assertEqual(2, len(self.SMSCPort.factory.lastClient.submitRecords)) self.assertEqual(str(self.SMSCPort.factory.lastClient.submitRecords[0].params['source_addr_ton']), 'ABBREVIATED') self.assertEqual(str(self.SMSCPort.factory.lastClient.submitRecords[1].params['source_addr_ton']), 'ABBREVIATED')
def test_receipt_with_inurl_dlr_level1(self): """Will: 1. Set a SMS-MT route to connector A 2. Send a SMS-MT to that route and set a DLR callback for level 1 3. Wait for the level1 DLR (submit_sm_resp) and run tests """ yield self.connect('127.0.0.1', self.pbPort) yield self.prepareRoutingsAndStartConnector() self.params['dlr-url'] = self.dlr_url self.params['dlr-level'] = 1 self.params['content'] = composeMessage({'_'}, 200) baseurl = 'http://127.0.0.1:1401/send?%s' % urllib.urlencode( self.params) # Send a MT # We should receive a msg id c = yield getPage(baseurl, method=self.method, postdata=self.postdata) msgStatus = c[:7] msgId = c[9:45] # Wait 1 seconds for submit_sm_resp exitDeferred = defer.Deferred() reactor.callLater(1, exitDeferred.callback, None) yield exitDeferred yield self.stopSmppClientConnectors() # Run tests self.assertEqual(msgStatus, 'Success') # A DLR must be sent to dlr_url self.assertEqual(self.AckServerResource.render_POST.call_count, 1) # Message ID must be transmitted in the DLR callArgs = self.AckServerResource.render_POST.call_args_list[0][0][ 0].args self.assertEqual(callArgs['id'][0], msgId)