Beispiel #1
0
    def test_map_custom_field(self):

        """Test that all the fields are correctly mapped"""

        page = read_file('data/jira/jira_issues_page_1.json')

        page_json = json.loads(page)

        issues = page_json['issues']

        fields = read_file('data/jira/jira_fields.json')

        fields_json = json.loads(fields)

        custom_fields = filter_custom_fields(fields_json)

        for issue in issues:
            mapping = map_custom_field(custom_fields, issue['fields'])
            for k, v in mapping.items():
                issue['fields'][k] = v

        self.assertEqual(issues[0]['fields']['customfield_10301']['id'],
                         custom_fields['customfield_10301']['id'])
        self.assertEqual(issues[0]['fields']['customfield_10301']['name'],
                         custom_fields['customfield_10301']['name'])
        self.assertEqual(issues[0]['fields']['customfield_10400']['id'],
                         custom_fields['customfield_10400']['id'])
        self.assertEqual(issues[0]['fields']['customfield_10400']['name'],
                         custom_fields['customfield_10400']['name'])
        self.assertEqual(issues[0]['fields']['customfield_10600']['id'],
                         custom_fields['customfield_10600']['id'])
        self.assertEqual(issues[0]['fields']['customfield_10600']['name'],
                         custom_fields['customfield_10600']['name'])
        self.assertEqual(issues[0]['fields']['customfield_10603']['id'],
                         custom_fields['customfield_10603']['id'])
        self.assertEqual(issues[0]['fields']['customfield_10603']['name'],
                         custom_fields['customfield_10603']['name'])

        self.assertEqual(issues[1]['fields']['customfield_10301']['id'],
                         custom_fields['customfield_10301']['id'])
        self.assertEqual(issues[1]['fields']['customfield_10301']['name'],
                         custom_fields['customfield_10301']['name'])
        self.assertEqual(issues[1]['fields']['customfield_10400']['id'],
                         custom_fields['customfield_10400']['id'])
        self.assertEqual(issues[1]['fields']['customfield_10400']['name'],
                         custom_fields['customfield_10400']['name'])
        self.assertEqual(issues[1]['fields']['customfield_10600']['id'],
                         custom_fields['customfield_10600']['id'])
        self.assertEqual(issues[1]['fields']['customfield_10600']['name'],
                         custom_fields['customfield_10600']['name'])
        self.assertEqual(issues[1]['fields']['customfield_10603']['id'],
                         custom_fields['customfield_10603']['id'])
        self.assertEqual(issues[1]['fields']['customfield_10603']['name'],
                         custom_fields['customfield_10603']['name'])
Beispiel #2
0
    def test_map_custom_field(self):
        """Test that all the fields are correctly mapped"""

        page = read_file('data/jira/jira_issues_page_1.json')

        page_json = json.loads(page)

        issues = page_json['issues']

        fields = read_file('data/jira/jira_fields.json')

        fields_json = json.loads(fields)

        custom_fields = filter_custom_fields(fields_json)

        for issue in issues:
            mapping = map_custom_field(custom_fields, issue['fields'])
            for k, v in mapping.items():
                issue['fields'][k] = v

        self.assertEqual(issues[0]['fields']['customfield_10301']['id'],
                         custom_fields['customfield_10301']['id'])
        self.assertEqual(issues[0]['fields']['customfield_10301']['name'],
                         custom_fields['customfield_10301']['name'])
        self.assertEqual(issues[0]['fields']['customfield_10400']['id'],
                         custom_fields['customfield_10400']['id'])
        self.assertEqual(issues[0]['fields']['customfield_10400']['name'],
                         custom_fields['customfield_10400']['name'])
        self.assertEqual(issues[0]['fields']['customfield_10600']['id'],
                         custom_fields['customfield_10600']['id'])
        self.assertEqual(issues[0]['fields']['customfield_10600']['name'],
                         custom_fields['customfield_10600']['name'])
        self.assertEqual(issues[0]['fields']['customfield_10603']['id'],
                         custom_fields['customfield_10603']['id'])
        self.assertEqual(issues[0]['fields']['customfield_10603']['name'],
                         custom_fields['customfield_10603']['name'])

        self.assertEqual(issues[1]['fields']['customfield_10301']['id'],
                         custom_fields['customfield_10301']['id'])
        self.assertEqual(issues[1]['fields']['customfield_10301']['name'],
                         custom_fields['customfield_10301']['name'])
        self.assertEqual(issues[1]['fields']['customfield_10400']['id'],
                         custom_fields['customfield_10400']['id'])
        self.assertEqual(issues[1]['fields']['customfield_10400']['name'],
                         custom_fields['customfield_10400']['name'])
        self.assertEqual(issues[1]['fields']['customfield_10600']['id'],
                         custom_fields['customfield_10600']['id'])
        self.assertEqual(issues[1]['fields']['customfield_10600']['name'],
                         custom_fields['customfield_10600']['name'])
        self.assertEqual(issues[1]['fields']['customfield_10603']['id'],
                         custom_fields['customfield_10603']['id'])
        self.assertEqual(issues[1]['fields']['customfield_10603']['name'],
                         custom_fields['customfield_10603']['name'])
Beispiel #3
0
    def test_filter_custom_fields(self):
        """Test that all the fields returned are just custom"""
        body = read_file('data/jira/jira_fields.json')

        httpretty.register_uri(httpretty.GET,
                               JIRA_FIELDS_URL,
                               body=body, status=200)

        body_json = json.loads(body)

        custom_fields = filter_custom_fields(body_json)

        for key in custom_fields.keys():
            self.assertEqual(custom_fields[key]['custom'], True)
Beispiel #4
0
    def test_filter_custom_fields(self):
        """Test that all the fields returned are just custom"""
        body = read_file('data/jira/jira_fields.json')

        httpretty.register_uri(httpretty.GET,
                               JIRA_FIELDS_URL,
                               body=body,
                               status=200)

        body_json = json.loads(body)

        custom_fields = filter_custom_fields(body_json)

        for key in custom_fields.keys():
            self.assertEqual(custom_fields[key]['custom'], True)
Beispiel #5
0
    def test_fetch(self):
        """Test whether a list of issues is returned"""

        requests = []

        bodies_json = [
            read_file('data/jira/jira_issues_page_1.json'),
            read_file('data/jira/jira_issues_page_2.json')
        ]

        body = read_file('data/jira/jira_fields.json')

        def request_callback(method, uri, headers):
            body = bodies_json.pop(0)
            requests.append(httpretty.last_request())
            return (200, headers, body)

        httpretty.register_uri(httpretty.GET,
                               JIRA_SEARCH_URL,
                               responses=[httpretty.Response(body=request_callback) \
                                          for _ in range(2)])

        httpretty.register_uri(httpretty.GET,
                               JIRA_FIELDS_URL,
                               body=body,
                               status=200)

        jira = Jira(JIRA_SERVER_URL)

        issues = [issue for issue in jira.fetch()]

        body_json = json.loads(body)

        custom_fields = filter_custom_fields(body_json)

        expected_req = [{
            'expand': ['renderedFields,transitions,operations,changelog'],
            'jql': [' updated > 0'],
            'startAt': ['0']
        }, {
            'expand': ['renderedFields,transitions,operations,changelog'],
            'jql': [' updated > 0'],
            'startAt': ['2']
        }]

        for i in range(len(expected_req)):
            self.assertEqual(requests[i].method, 'GET')
            self.assertRegex(requests[i].path, '/rest/api/2/search')
            self.assertDictEqual(requests[i].querystring, expected_req[i])

        self.assertEqual(len(issues), 3)

        self.assertEqual(issues[0]['origin'], 'http://example.com')
        self.assertEqual(issues[0]['uuid'],
                         'dfe008e19e2b720d1d377607680e90c250134164')
        self.assertEqual(issues[0]['updated_on'], 1457015567)
        self.assertEqual(issues[0]['data']['key'], 'HELP-6043')
        self.assertEqual(issues[0]['data']['fields']['issuetype']['name'],
                         'extRequest')
        self.assertEqual(issues[0]['data']['fields']['creator']['name'],
                         'user2')
        self.assertEqual(issues[0]['data']['fields']['assignee']['name'],
                         'user1')
        self.assertEqual(issues[0]['data']['fields']['assignee']['name'],
                         'user1')
        self.assertEqual(issues[0]['data']['fields']['assignee']['name'],
                         'user1')
        self.assertEqual(issues[0]['data']['fields']['assignee']['name'],
                         'user1')
        self.assertEqual(
            issues[0]['data']['fields']['customfield_10301']['id'],
            custom_fields['customfield_10301']['id'])
        self.assertEqual(
            issues[0]['data']['fields']['customfield_10301']['name'],
            custom_fields['customfield_10301']['name'])
        self.assertEqual(
            issues[0]['data']['fields']['customfield_10400']['id'],
            custom_fields['customfield_10400']['id'])
        self.assertEqual(
            issues[0]['data']['fields']['customfield_10400']['name'],
            custom_fields['customfield_10400']['name'])
        self.assertEqual(
            issues[0]['data']['fields']['customfield_10600']['id'],
            custom_fields['customfield_10600']['id'])
        self.assertEqual(
            issues[0]['data']['fields']['customfield_10600']['name'],
            custom_fields['customfield_10600']['name'])
        self.assertEqual(
            issues[0]['data']['fields']['customfield_10603']['id'],
            custom_fields['customfield_10603']['id'])
        self.assertEqual(
            issues[0]['data']['fields']['customfield_10603']['name'],
            custom_fields['customfield_10603']['name'])

        self.assertEqual(issues[1]['origin'], 'http://example.com')
        self.assertEqual(issues[1]['uuid'],
                         '830747ed8cc9af800fcd6284e9dccfdb11daf15b')
        self.assertEqual(issues[1]['updated_on'], 1457015417)
        self.assertEqual(issues[1]['data']['key'], 'HELP-6042')
        self.assertEqual(issues[1]['data']['fields']['issuetype']['name'],
                         'extRequest')
        self.assertEqual(issues[1]['data']['fields']['creator']['name'],
                         'user2')
        self.assertEqual(issues[1]['data']['fields']['assignee']['name'],
                         'user1')
        self.assertEqual(
            issues[1]['data']['fields']['customfield_10301']['id'],
            custom_fields['customfield_10301']['id'])
        self.assertEqual(
            issues[1]['data']['fields']['customfield_10301']['name'],
            custom_fields['customfield_10301']['name'])
        self.assertEqual(
            issues[1]['data']['fields']['customfield_10400']['id'],
            custom_fields['customfield_10400']['id'])
        self.assertEqual(
            issues[1]['data']['fields']['customfield_10400']['name'],
            custom_fields['customfield_10400']['name'])
        self.assertEqual(
            issues[1]['data']['fields']['customfield_10600']['id'],
            custom_fields['customfield_10600']['id'])
        self.assertEqual(
            issues[1]['data']['fields']['customfield_10600']['name'],
            custom_fields['customfield_10600']['name'])
        self.assertEqual(
            issues[1]['data']['fields']['customfield_10603']['id'],
            custom_fields['customfield_10603']['id'])
        self.assertEqual(
            issues[1]['data']['fields']['customfield_10603']['name'],
            custom_fields['customfield_10603']['name'])

        self.assertEqual(issues[2]['origin'], 'http://example.com')
        self.assertEqual(issues[2]['uuid'],
                         '2e988d555915991228d81144b018c8321d628265')
        self.assertEqual(issues[2]['updated_on'], 1457006245)
        self.assertEqual(issues[2]['data']['key'], 'HELP-6041')
        self.assertEqual(issues[2]['data']['fields']['issuetype']['name'],
                         'extRequest')
        self.assertEqual(issues[2]['data']['fields']['creator']['name'],
                         'user2')
        self.assertEqual(issues[2]['data']['fields']['assignee']['name'],
                         'user3')
        self.assertEqual(
            issues[2]['data']['fields']['customfield_10301']['id'],
            custom_fields['customfield_10301']['id'])
        self.assertEqual(
            issues[2]['data']['fields']['customfield_10301']['name'],
            custom_fields['customfield_10301']['name'])
        self.assertEqual(
            issues[2]['data']['fields']['customfield_10400']['id'],
            custom_fields['customfield_10400']['id'])
        self.assertEqual(
            issues[2]['data']['fields']['customfield_10400']['name'],
            custom_fields['customfield_10400']['name'])
        self.assertEqual(
            issues[2]['data']['fields']['customfield_10600']['id'],
            custom_fields['customfield_10600']['id'])
        self.assertEqual(
            issues[2]['data']['fields']['customfield_10600']['name'],
            custom_fields['customfield_10600']['name'])
        self.assertEqual(
            issues[2]['data']['fields']['customfield_10603']['id'],
            custom_fields['customfield_10603']['id'])
        self.assertEqual(
            issues[2]['data']['fields']['customfield_10603']['name'],
            custom_fields['customfield_10603']['name'])
Beispiel #6
0
    def test_fetch(self):
        """Test whether a list of issues is returned"""

        requests = []

        bodies_json = [read_file('data/jira/jira_issues_page_1.json'),
                       read_file('data/jira/jira_issues_page_2.json')]

        body = read_file('data/jira/jira_fields.json')

        def request_callback(method, uri, headers):
            body = bodies_json.pop(0)
            requests.append(httpretty.last_request())
            return (200, headers, body)

        httpretty.register_uri(httpretty.GET,
                               JIRA_SEARCH_URL,
                               responses=[httpretty.Response(body=request_callback) \
                                          for _ in range(2)])

        httpretty.register_uri(httpretty.GET,
                               JIRA_FIELDS_URL,
                               body=body, status=200)

        jira = Jira(JIRA_SERVER_URL)

        issues = [issue for issue in jira.fetch()]

        body_json = json.loads(body)

        custom_fields = filter_custom_fields(body_json)

        expected_req = [{
                            'expand': ['renderedFields,transitions,operations,changelog'],
                            'jql': ['updated > 0 order by updated asc'],
                            'startAt': ['0']
                        },
                        {
                            'expand': ['renderedFields,transitions,operations,changelog'],
                            'jql': ['updated > 0 order by updated asc'],
                            'startAt': ['2']
                        }]

        for i in range(len(expected_req)):
            self.assertEqual(requests[i].method, 'GET')
            self.assertRegex(requests[i].path, '/rest/api/2/search')
            self.assertDictEqual(requests[i].querystring, expected_req[i])

        self.assertEqual(len(issues), 3)

        self.assertEqual(issues[0]['origin'], 'http://example.com')
        self.assertEqual(issues[0]['uuid'], 'dfe008e19e2b720d1d377607680e90c250134164')
        self.assertEqual(issues[0]['updated_on'], 1457015567)
        self.assertEqual(issues[0]['category'], 'issue')
        self.assertEqual(issues[0]['tag'], 'http://example.com')
        self.assertEqual(issues[0]['data']['key'], 'HELP-6043')
        self.assertEqual(issues[0]['data']['fields']['issuetype']['name'],  'extRequest')
        self.assertEqual(issues[0]['data']['fields']['creator']['name'], 'user2')
        self.assertEqual(issues[0]['data']['fields']['assignee']['name'], 'user1')
        self.assertEqual(issues[0]['data']['fields']['assignee']['name'], 'user1')
        self.assertEqual(issues[0]['data']['fields']['assignee']['name'], 'user1')
        self.assertEqual(issues[0]['data']['fields']['assignee']['name'], 'user1')
        self.assertEqual(issues[0]['data']['fields']['customfield_10301']['id'],
                         custom_fields['customfield_10301']['id'])
        self.assertEqual(issues[0]['data']['fields']['customfield_10301']['name'],
                         custom_fields['customfield_10301']['name'])
        self.assertEqual(issues[0]['data']['fields']['customfield_10400']['id'],
                         custom_fields['customfield_10400']['id'])
        self.assertEqual(issues[0]['data']['fields']['customfield_10400']['name'],
                         custom_fields['customfield_10400']['name'])
        self.assertEqual(issues[0]['data']['fields']['customfield_10600']['id'],
                         custom_fields['customfield_10600']['id'])
        self.assertEqual(issues[0]['data']['fields']['customfield_10600']['name'],
                         custom_fields['customfield_10600']['name'])
        self.assertEqual(issues[0]['data']['fields']['customfield_10603']['id'],
                         custom_fields['customfield_10603']['id'])
        self.assertEqual(issues[0]['data']['fields']['customfield_10603']['name'],
                         custom_fields['customfield_10603']['name'])

        self.assertEqual(issues[1]['origin'], 'http://example.com')
        self.assertEqual(issues[1]['uuid'], '830747ed8cc9af800fcd6284e9dccfdb11daf15b')
        self.assertEqual(issues[1]['updated_on'], 1457015417)
        self.assertEqual(issues[1]['category'], 'issue')
        self.assertEqual(issues[1]['tag'], 'http://example.com')
        self.assertEqual(issues[1]['data']['key'], 'HELP-6042')
        self.assertEqual(issues[1]['data']['fields']['issuetype']['name'],  'extRequest')
        self.assertEqual(issues[1]['data']['fields']['creator']['name'], 'user2')
        self.assertEqual(issues[1]['data']['fields']['assignee']['name'], 'user1')
        self.assertEqual(issues[1]['data']['fields']['customfield_10301']['id'],
                         custom_fields['customfield_10301']['id'])
        self.assertEqual(issues[1]['data']['fields']['customfield_10301']['name'],
                         custom_fields['customfield_10301']['name'])
        self.assertEqual(issues[1]['data']['fields']['customfield_10400']['id'],
                         custom_fields['customfield_10400']['id'])
        self.assertEqual(issues[1]['data']['fields']['customfield_10400']['name'],
                         custom_fields['customfield_10400']['name'])
        self.assertEqual(issues[1]['data']['fields']['customfield_10600']['id'],
                         custom_fields['customfield_10600']['id'])
        self.assertEqual(issues[1]['data']['fields']['customfield_10600']['name'],
                         custom_fields['customfield_10600']['name'])
        self.assertEqual(issues[1]['data']['fields']['customfield_10603']['id'],
                         custom_fields['customfield_10603']['id'])
        self.assertEqual(issues[1]['data']['fields']['customfield_10603']['name'],
                         custom_fields['customfield_10603']['name'])

        self.assertEqual(issues[2]['origin'], 'http://example.com')
        self.assertEqual(issues[2]['uuid'], '2e988d555915991228d81144b018c8321d628265')
        self.assertEqual(issues[2]['updated_on'], 1457006245)
        self.assertEqual(issues[2]['category'], 'issue')
        self.assertEqual(issues[2]['tag'], 'http://example.com')
        self.assertEqual(issues[2]['data']['key'], 'HELP-6041')
        self.assertEqual(issues[2]['data']['fields']['issuetype']['name'],  'extRequest')
        self.assertEqual(issues[2]['data']['fields']['creator']['name'], 'user2')
        self.assertEqual(issues[2]['data']['fields']['assignee']['name'], 'user3')
        self.assertEqual(issues[2]['data']['fields']['customfield_10301']['id'],
                         custom_fields['customfield_10301']['id'])
        self.assertEqual(issues[2]['data']['fields']['customfield_10301']['name'],
                         custom_fields['customfield_10301']['name'])
        self.assertEqual(issues[2]['data']['fields']['customfield_10400']['id'],
                         custom_fields['customfield_10400']['id'])
        self.assertEqual(issues[2]['data']['fields']['customfield_10400']['name'],
                         custom_fields['customfield_10400']['name'])
        self.assertEqual(issues[2]['data']['fields']['customfield_10600']['id'],
                         custom_fields['customfield_10600']['id'])
        self.assertEqual(issues[2]['data']['fields']['customfield_10600']['name'],
                         custom_fields['customfield_10600']['name'])
        self.assertEqual(issues[2]['data']['fields']['customfield_10603']['id'],
                         custom_fields['customfield_10603']['id'])
        self.assertEqual(issues[2]['data']['fields']['customfield_10603']['name'],
                         custom_fields['customfield_10603']['name'])