Как подражать и тестировать представление django, включая вызов внешнего api

Я хочу протестировать представление django, которое включает вызов внешнего API. Вызов API обернут другим пакетом (jira). При вызове представления создается тикет jira для проекта (модели). Как мне правильно протестировать представление, предотвратив при этом вызов внешнего API. Представление выглядит следующим образом:

class RequestHelp(View):
    def get(self, context, pk=None, **response_kwargs):

        # get the project to create the ticket for
        project = Project.objects.get(id=pk)

        # initialize the jira client
        jira = JIRA(
            server=settings.JIRA_URL,
            basic_auth=(settings.JIRA_USERNAME, settings.JIRA_PASS),
        )

        # create the ticket in jira
        new_issue = jira.create_issue(
            project=settings.JIRA_PROJECT,
            summary= project.title ,
            description="Would you please be so nice and help me",
            reporter={"name": "My User"},
            issuetype={"name": "An Issue"},
        )

        return HttpResponseRedirect("/")


На данный момент тест выглядит следующим образом:

class TestRequestHelp(TestCase):
    @classmethod
    def setUpTestData(cls):
        cls.std_user = User.objects.create_user(
            username="john",
            email="john@doe.de",
            password="secret",
            is_staff=False,
            is_superuser=True,
        )

    def test_get_help_logged_in(self):
        self.client.login(username="john", password="secret")
        project, status = Project.objects.get_or_create(title="Test")
        response = self.client.get(f"/project/help/{project.pk}", follow=True)
        self.assertEqual(200, response.status_code)

"Обычный" тест представления работает, но всегда создает тикет, что нежелательно. Любая помощь в этом вопросе будет принята с благодарностью.

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