def test_should_increment_run_ids_on_successive_post_to_runs(self): payload = {'phone': [self.phone]} response_one = runs.post(data=payload).json() response_two = runs.post(data=payload).json() self.assertEqual(response_one, [{"run": 1, "phone": [self.phone]}]) self.assertEqual(response_two, [{"run": 2, "phone": [self.phone]}])
def start_delivery_run(*_, **kwargs): consignee = kwargs['consignee'] item_description = kwargs['item_description'] sender = kwargs['sender'] payload = { "flow": settings.RAPIDPRO_FLOW_ID, "phone": [consignee['phone']], "extra": { settings.RAPIDPRO_EXTRAS['CONTACT_NAME']: consignee['first_name'] + consignee['last_name'], settings.RAPIDPRO_EXTRAS['SENDER']: sender, settings.RAPIDPRO_EXTRAS['PRODUCT']: item_description } } headers = {'Authorization': 'Token %s' % settings.RAPIDPRO_API_TOKEN} if settings.RAPIDPRO_LIVE: requests.post(settings.RAPIDPRO_URLS['RUNS'], data=payload, headers=headers) else: runs.post(data=payload)
def start_delivery_run(*_, **kwargs): contact_person = kwargs['contact_person'] item_description = kwargs['item_description'] sender = kwargs['sender'] flow = kwargs['flow'] payload = { "flow": flow, "phone": [contact_person['phone']], "extra": { settings.RAPIDPRO_EXTRAS['CONTACT_NAME']: "%s %s" % (contact_person['firstName'], contact_person['lastName']), settings.RAPIDPRO_EXTRAS['SENDER']: sender, settings.RAPIDPRO_EXTRAS['PRODUCT']: item_description } } headers = {'Authorization': 'Token %s' % settings.RAPIDPRO_API_TOKEN, "Content-Type": "application/json"} logger.info("payload %s" % json.dumps(payload)) if settings.RAPIDPRO_LIVE: response = requests.post(settings.RAPIDPRO_URLS['RUNS'], data=json.dumps(payload), headers=headers) logger.info("Response from RapidPro: %s, %s" % (response.status_code, response.json())) else: runs.post(data=payload)
def test_should_respond_with_run_list_on_post_to_runs(self): payload = {"phone": [self.phone]} response = runs.post(data=payload).json() self.assertEqual(response, [{"run": 1, "phone": [self.phone]}])