def test_update_impact_beta(self): """Tests updating impact to Beta.""" self.testcase.is_impact_set_flag = True self.testcase.impact_beta_version = '100.1044.44.44' mock_issue = self._make_mock_issue() issue_filer.update_issue_impact_labels(self.testcase, mock_issue) six.assertCountEqual(self, ['Security_Impact-Beta', 'FoundIn-100'], mock_issue.labels.added) six.assertCountEqual(self, [], mock_issue.labels.removed)
def test_update_impact_stable(self): """Tests updating impact to Stable.""" self.testcase.is_impact_set_flag = True self.testcase.impact_stable_version = '99.1024.11.42' mock_issue = self._make_mock_issue() issue_filer.update_issue_impact_labels(self.testcase, mock_issue) six.assertCountEqual(self, ['Security_Impact-Stable', 'FoundIn-99'], mock_issue.labels.added) six.assertCountEqual(self, [], mock_issue.labels.removed)
def test_replace_same_impact(self): """Tests replacing same impact.""" self.testcase.is_impact_set_flag = True mock_issue = self._make_mock_issue() mock_issue.labels.add('Security_Impact-Head') mock_issue.labels.reset_tracking() issue_filer.update_issue_impact_labels(self.testcase, mock_issue) six.assertCountEqual(self, [], mock_issue.labels.added) six.assertCountEqual(self, [], mock_issue.labels.removed)
def test_no_impact_for_unreproducible_testcase(self): """Tests no impact for unreproducible testcase on trunk and which also does not crash on stable and beta.""" self.testcase.is_impact_set_flag = True self.testcase.crash_state = '' mock_issue = self._make_mock_issue() issue_filer.update_issue_impact_labels(self.testcase, mock_issue) six.assertCountEqual(self, [], mock_issue.labels.added) six.assertCountEqual(self, [], mock_issue.labels.removed)
def test_update_impact_beta(self): """Tests updating impact to Beta.""" self.testcase.is_impact_set_flag = True self.testcase.impact_beta_version = 'Beta' mock_issue = self._make_mock_issue() issue_filer.update_issue_impact_labels(self.testcase, mock_issue) self.assertItemsEqual(['Security_Impact-Beta'], mock_issue.labels.added) self.assertItemsEqual([], mock_issue.labels.removed)
def test_replace_impact(self): """Tests replacing impact.""" self.testcase.is_impact_set_flag = True mock_issue = self._make_mock_issue() mock_issue.labels.add('Security_Impact-Beta') mock_issue.labels.reset_tracking() issue_filer.update_issue_impact_labels(self.testcase, mock_issue) self.assertItemsEqual(['Security_Impact-Head'], mock_issue.labels.added) self.assertItemsEqual(['Security_Impact-Beta'], mock_issue.labels.removed)
def _update_issue_when_uploaded_testcase_is_processed( policy, testcase, issue, description, update_bug_summary, notify): """Add issue comment when uploaded testcase is processed.""" if update_bug_summary and testcase.is_crash(): issue.title = data_handler.get_issue_summary(testcase) # Impact labels like impacting head/beta/stable only apply for Chromium. if testcase.project_name == 'chromium': issue_filer.update_issue_impact_labels(testcase, issue) # Add severity labels for all project types. comment = description + _update_issue_security_severity_and_get_comment( policy, testcase, issue) issue.save(new_comment=comment, notify=notify)
def test_component_dont_add_label(self): """Test that we don't set labels for component builds.""" self.testcase.job_type = 'job' self.testcase.put() data_types.Job( name='job', environment_string=( 'RELEASE_BUILD_BUCKET_PATH = ' 'https://example.com/blah-v8-component-([0-9]+).zip\n')).put() self.testcase.is_impact_set_flag = True mock_issue = self._make_mock_issue() issue_filer.update_issue_impact_labels(self.testcase, mock_issue) self.assertItemsEqual([], mock_issue.labels.added) self.assertItemsEqual([], mock_issue.labels.removed)
def test_component_add_label(self): """Test that we set labels for component builds.""" self.testcase.job_type = 'job' self.testcase.impact_stable_version = 'Stable' self.testcase.impact_beta_version = 'Beta' self.testcase.put() data_types.Job( name='job', environment_string=( 'RELEASE_BUILD_BUCKET_PATH = ' 'https://example.com/blah-v8-component-([0-9]+).zip\n')).put() self.testcase.is_impact_set_flag = True mock_issue = self._make_mock_issue() issue_filer.update_issue_impact_labels(self.testcase, mock_issue) six.assertCountEqual(self, ['Security_Impact-Stable'], mock_issue.labels.added) six.assertCountEqual(self, [], mock_issue.labels.removed)