Pytest: Сопряжение представления Django с несколькими вызовами API и комбинированным возвращаемым значением

У меня есть представление Django, которое вызывает несколько конечных точек api и объединяет их результат вместе. Этот результат возвращается обратно в представление в виде контекстных переменных. Вот код:

def form_valid(self, form):
    data = form.cleaned_data
    dashboard = meraki.DashboardAPI(api_key=meraki_api_key)

    try:
        device = dashboard.devices.getDevice(data.get('camera_id')) #api call 1
        context = {}
        context['name'] = device.get('name', 'Not Available')
        context['model'] = device.get('model', 'Not Available')

        preview = dashboard.camera.generateDeviceCameraSnapshot(data.get('camera_id')) #api call 2

        context['preview'] = preview.get('url', 'No Preview')

        camera_sense = dashboard.camera.getDeviceCameraSense(data.get('camera_id')) # api call 3
        context['sense_enabled'] = camera_sense.get('senseEnabled',
                                                    'Not Available')

        broker = dashboard.networks.getNetworkMqttBroker(device.get('networkId'), camera_sense.get('mqttBrokerId')) #api call 4

        context['broker_name'] = broker.get('name', 'Not Available')
        context['broker_host'] = broker.get('host', 'Not Available')
        context['broker_port'] = broker.get('port', 'Not Available')

    except meraki.exceptions.APIError as exc:
        messages.add_message(self.request, messages.ERROR, str(exc))
        return self.render_to_response(self.get_context_data(form=form))

    messages.add_message(self.request, messages.SUCCESS,
                         "Success")

    return self.render_to_response(
        self.get_context_data(form=form, camera=context))

Теперь как написать модульный тест для приведенного выше представления, подражая вызовам api?

Вернуться на верх