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)
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')
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')
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')
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))
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)
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")
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')
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)