Exemple #1
0
 def setUp(self) -> None:
     local_app.config['FRONTEND_BASE'] = 'http://url'
     local_app.config['ISSUE_TRACKER_URL'] = 'url'
     local_app.config['ISSUE_TRACKER_CLIENT_ENABLED'] = True
     self.mock_issue = {
         'issue_key': 'key',
         'title': 'some title',
         'url': 'http://somewhere',
         'priority_name': 'Major',
         'priority_display_name': 'P2'
     }
     self.mock_issues = {
         'issues': [self.mock_issue]
     }
     self.mock_data_issue = DataIssue(issue_key='key',
                                      title='title',
                                      url='http://somewhere',
                                          status='open',
                                          priority=Priority.P2)
     self.expected_issues = IssueResults(issues=[self.mock_data_issue],
                                         total=0,
                                         all_issues_url="http://moredata",
                                         open_issues_url="http://moredata",
                                         closed_issues_url="http://moredata",
                                         open_count=0)
Exemple #2
0
 def setUp(self) -> None:
     issue = {
         'key': 'key',
         'title': 'some title',
         'url': 'http://somewhere',
         'status': 'open',
         'priority_name': 'Major',
         'priority_display_name': 'P2'
     }
     self.mock_issue = SimpleNamespace(**issue)
     result_list = MockJiraResultList(iterable=issue, _total=0)
     self.mock_jira_issues = result_list
     self.mock_issue_instance = DataIssue(issue_key='key',
                                          title='some title',
                                          url='http://somewhere',
                                          status='open',
                                          priority=Priority.P2)
     self.mock_user = User(user_id='*****@*****.**',
                           full_name='test_full_name',
                           is_active=True,
                           email='*****@*****.**',
                           profile_url='https://profile',
                           manager_fullname='test_manager_name')
     self.mock_inactive_user = User(user_id='*****@*****.**',
                                    full_name='test_full_name',
                                    is_active=False,
                                    email='*****@*****.**',
                                    manager_fullname='test_manager_name')
Exemple #3
0
 def _get_issue_properties(issue: Issue) -> DataIssue:
     """
     Maps the jira issue object to properties we want in the UI
     :param issue: Jira issue to map
     :return: JiraIssue
     """
     return DataIssue(issue_key=issue.key,
                      title=issue.fields.summary,
                      url=issue.permalink())
 def setUp(self) -> None:
     self.mock_issue = {
         'issue_key': 'key',
         'title': 'some title',
         'url': 'http://somewhere'
     }
     result_list = MockJiraResultList(iterable=self.mock_issue, _total=0)
     self.mock_jira_issues = result_list
     self.mock_issue_instance = DataIssue(issue_key='key',
                                          title='some title',
                                          url='http://somewhere')
Exemple #5
0
 def test__generate_all_issues_url(self, mock_url_lib: Mock, mock_JIRA_client: Mock) -> None:
     mock_url_lib.return_value = 'test'
     with app.test_request_context():
         jira_client = JiraClient(issue_labels=[],
                                  issue_tracker_url=app.config['ISSUE_TRACKER_URL'],
                                  issue_tracker_user=app.config['ISSUE_TRACKER_USER'],
                                  issue_tracker_password=app.config['ISSUE_TRACKER_PASSWORD'],
                                  issue_tracker_project_id=app.config['ISSUE_TRACKER_PROJECT_ID'],
                                  issue_tracker_max_results=app.config['ISSUE_TRACKER_MAX_RESULTS'])
         issues = [DataIssue(issue_key='key', title='title', url='url', status='open', priority='Major')]
         url = jira_client._generate_all_issues_url(table_uri="table", issues=issues)
         self.assertEqual(url, 'test_url/issues/?jql=test')
Exemple #6
0
 def _get_issue_properties(issue: Issue) -> DataIssue:
     """
     Maps the jira issue object to properties we want in the UI
     :param issue: Jira issue to map
     :return: JiraIssue
     """
     return DataIssue(issue_key=issue.key,
                      title=issue.fields.summary,
                      url=issue.permalink(),
                      status=issue.fields.status.name,
                      priority=Priority.from_jira_severity(
                          issue.fields.priority.name))
Exemple #7
0
 def test_mapping_priorty_missing(self) -> None:
     expected_priority_name = None  # type: ignore
     expected_priority_display_name = None  # type: ignore
     data_issue = DataIssue(issue_key=self.issue_key,
                            title=self.title,
                            url=self.url,
                            status=self.status,
                            priority=None).serialize()
     self.assertEqual(data_issue['priority_display_name'],
                      expected_priority_display_name)
     self.assertEqual(data_issue['priority_name'], expected_priority_name)
     self.assertEqual(data_issue['issue_key'], self.issue_key)
     self.assertEqual(data_issue['title'], self.title)
     self.assertEqual(data_issue['url'], self.url)
     self.assertEqual(data_issue['status'], self.status)
Exemple #8
0
 def test_mapping_priority(self) -> None:
     expected_priority_name = 'major'
     expected_priority_display_name = 'P2'
     data_issue = DataIssue(issue_key=self.issue_key,
                            title=self.title,
                            url=self.url,
                            status=self.status,
                            priority=self.priority).serialize()
     self.assertEqual(data_issue['priority_display_name'],
                      expected_priority_display_name)
     self.assertEqual(data_issue['priority_name'], expected_priority_name)
     self.assertEqual(data_issue['issue_key'], self.issue_key)
     self.assertEqual(data_issue['title'], self.title)
     self.assertEqual(data_issue['url'], self.url)
     self.assertEqual(data_issue['status'], self.status)
 def test_mapping_priorty_missing(self) -> None:
     expected_priority_name = None  # type: ignore
     expected_priority_display_name = None  # type: ignore
     data_issue = DataIssue(issue_key=self.issue_key,
                            title=self.title,
                            url=self.url,
                            status=self.status,
                            priority='missing')
     self.assertEqual(data_issue.priority_display_name,
                      expected_priority_display_name)
     self.assertEqual(data_issue.priority_name, expected_priority_name)
     self.assertEqual(data_issue.issue_key, self.issue_key)
     self.assertEqual(data_issue.title, self.title)
     self.assertEqual(data_issue.url, self.url)
     self.assertEqual(data_issue.status, self.status)
 def test_mapping_priority(self) -> None:
     expected_priority_name = 'major'
     expected_priority_display_name = 'P2'
     data_issue = DataIssue(issue_key=self.issue_key,
                            title=self.title,
                            url=self.url,
                            status=self.status,
                            priority=self.priority)
     self.assertEqual(data_issue.priority_display_name,
                      expected_priority_display_name)
     self.assertEqual(data_issue.priority_name, expected_priority_name)
     self.assertEqual(data_issue.issue_key, self.issue_key)
     self.assertEqual(data_issue.title, self.title)
     self.assertEqual(data_issue.url, self.url)
     self.assertEqual(data_issue.status, self.status)
 def setUp(self) -> None:
     local_app.config['ISSUE_TRACKER_URL'] = 'url'
     local_app.config['ISSUE_TRACKER_CLIENT_ENABLED'] = True
     self.mock_issue = {
         'issue_key': 'key',
         'title': 'some title',
         'url': 'http://somewhere',
     }
     self.mock_issues = {'issues': [self.mock_issue]}
     self.mock_data_issue = DataIssue(issue_key='key',
                                      title='title',
                                      url='http://somewhere')
     self.expected_issues = IssueResults(issues=[self.mock_data_issue],
                                         remaining=0,
                                         remaining_url="http://moredata")
Exemple #12
0
 def setUp(self) -> None:
     self.mock_issue = {
         'issue_key': 'key',
         'title': 'some title',
         'url': 'http://somewhere',
         'status': 'open',
         'priority_name': 'Major',
         'priority_display_name': 'P2'
     }
     result_list = MockJiraResultList(iterable=self.mock_issue, _total=0)
     self.mock_jira_issues = result_list
     self.mock_issue_instance = DataIssue(issue_key='key',
                                          title='some title',
                                          url='http://somewhere',
                                          status='open',
                                          priority='Major')
Exemple #13
0
    def _asana_task_to_amundsen_data_issue(self, task: Dict) -> DataIssue:
        custom_fields = {f['gid']: f for f in task['custom_fields']}
        priority_field = custom_fields[self.priority_field_gid]

        priority = None
        if priority_field.get('enum_value'):
            priority = Priority.from_level(
                priority_field['enum_value']['name'])
        else:
            priority = Priority.P3

        return DataIssue(
            issue_key=task['gid'],
            title=task['name'],
            url=self._task_url(task['gid']),
            status='closed' if task['completed'] else 'open',
            priority=priority,
        )
 def setUp(self) -> None:
     self.mock_issue_instance = DataIssue(issue_key='key',
                                          title='some title',
                                          url='http://somewhere',
                                          status='open',
                                          priority=Priority.P2)