Ejemplo n.º 1
0
    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]}])
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
 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]}])