File: test_service_desk.py

package info (click to toggle)
python-jira 3.10.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,024 kB
  • sloc: python: 8,877; sh: 13; makefile: 7; xml: 4
file content (61 lines) | stat: -rw-r--r-- 2,053 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
from __future__ import annotations

import logging
from time import sleep

import pytest

from tests.conftest import JiraTestCase, broken_test

LOGGER = logging.getLogger(__name__)


class JiraServiceDeskTests(JiraTestCase):
    def setUp(self):
        JiraTestCase.setUp(self)
        if not self.jira.supports_service_desk():
            pytest.skip("Skipping Service Desk not enabled")

        try:
            self.jira.delete_project(self.test_manager.project_sd)
        except Exception:
            LOGGER.warning("Failed to delete %s", self.test_manager.project_sd)

    @broken_test(reason="Broken needs fixing")
    def test_create_customer_request(self):
        self.jira.create_project(
            key=self.test_manager.project_sd,
            name=self.test_manager.project_sd_name,
            ptype="service_desk",
            template_name="IT Service Desk",
        )
        service_desks = []
        for _ in range(3):
            service_desks = self.jira.service_desks()
            if service_desks:
                break
            logging.warning("Service desk not reported...")
            sleep(2)
        self.assertTrue(service_desks, "No service desks were found!")
        service_desk = service_desks[0]

        for _ in range(3):
            request_types = self.jira.request_types(service_desk)
            if request_types:
                logging.warning("Service desk request_types not reported...")
                break
            sleep(2)
        self.assertTrue(request_types, "No request_types for service desk found!")

        request = self.jira.create_customer_request(
            dict(
                serviceDeskId=service_desk.id,
                requestTypeId=int(request_types[0].id),
                requestFieldValues=dict(
                    summary="Ticket title here", description="Ticket body here"
                ),
            )
        )

        self.assertEqual(request.fields.summary, "Ticket title here")
        self.assertEqual(request.fields.description, "Ticket body here")