Я создаю приложение Python, которое обращается к стороннему API SOAP с помощью Python-zeep.Я хочу реализовать некоторые юнит-тесты, используя ложные ответы, так как у меня не всегда есть работающий сервер для выполнения моих тестов.
Я новичок в юнит-тестировании и не совсем уверен, с чего начать.Я видел примеры использования mock с библиотекой запросов, но не совсем уверен, как перевести это в Zeep.
В одной из моих моделей у меня есть метод для получения всех DevicePools из SOAP API.Вот выдержка из соответствующего кода (я использую вспомогательный метод для предоставления объекта службы, поскольку я планирую использовать это во многих других методах).
# Get Zeep Service Object to make AXL API calls
service = get_axl_client(self)
# Get list of all DevicePools present in the cluster
resp = service.listDevicePool(searchCriteria={'name': '%'},
returnedTags={'name': '', 'uuid': ''})
Я хочу смоделировать объект resp, однако этотипа zeep.objects.ListDevicePoolRes (динамический тип, основанный на разборе WSDL), и я не могу просто создать экземпляр объекта со статическими значениями.
Может быть, я здесь не на том пути, и мне нужно было бы пойти немного глубже и на самом деле посмеяться над некоторыми внутренностями библиотеки zeep и заменить ответ на запросы до того, как zeep проанализирует XML?
Еслиу кого-то был пример чего-то подобного, это было бы очень признательно.