def test_get_impacts_canary_not_exists(self): """Test getting impacts if there's no Canary build, only dev.""" self.mock.get_impact_on_build.side_effect = [ self.impacts.stable, self.impacts.beta, self.impacts.extended_stable ] self.mock.get_build_to_revision_mappings.return_value = { 'stable': { 'revision': '398287', 'version': '74.0.1345.34' }, 'beta': { 'revision': '399171', 'version': '75.0.1353.43' }, 'dev': { 'revision': '400000', 'version': '76.0.1234.43' } } self.assertEqual( self.impacts, impact_task.get_impacts_on_prod_builds(self.testcase, 'path')) self.mock.get_impact_on_build.assert_has_calls([ mock.call('stable', self.testcase.impact_stable_version, self.testcase, 'path'), mock.call('beta', self.testcase.impact_beta_version, self.testcase, 'path'), mock.call('extended_stable', self.testcase.impact_extended_stable_version, self.testcase, 'path'), ]) self.mock.get_impacts_from_url.assert_has_calls([])
def test_app_failed_on_stable(self): """Test raising AppFailedException when getting stable impact.""" self.mock.get_impact_on_build.side_effect = impact_task.AppFailedException() self.mock.get_impacts_from_url.return_value = self.impacts self.assertEqual( self.impacts, impact_task.get_impacts_on_prod_builds(self.testcase, 'path')) self.mock.get_impact_on_build.assert_has_calls([ mock.call('stable', self.testcase.impact_stable_version, self.testcase, 'path') ]) self.mock.get_impacts_from_url.assert_has_calls( [mock.call(self.testcase.regression, self.testcase.job_type)])
def test_get_impacts(self): """Test getting impacts.""" self.mock.get_impact_on_build.side_effect = [ self.impacts.stable, self.impacts.beta ] self.assertEqual( self.impacts, impact_task.get_impacts_on_prod_builds(self.testcase, 'path')) self.mock.get_impact_on_build.assert_has_calls([ mock.call('stable', self.testcase.impact_stable_version, self.testcase, 'path'), mock.call('beta', self.testcase.impact_beta_version, self.testcase, 'path'), ]) self.mock.get_impacts_from_url.assert_has_calls([])
def test_app_failed_on_beta(self): """Test app fail on beta.""" self.mock.get_impact_on_build.side_effect = [ self.impacts.stable, impact_task.AppFailedException() ] self.assertEqual( impact_task.Impacts(self.impacts.stable, impact_task.Impact()), impact_task.get_impacts_on_prod_builds(self.testcase, 'path')) self.mock.get_impact_on_build.assert_has_calls([ mock.call('stable', self.testcase.impact_stable_version, self.testcase, 'path'), mock.call('beta', self.testcase.impact_beta_version, self.testcase, 'path'), ]) self.mock.get_impacts_from_url.assert_has_calls([])
def test_any_exception_on_extended_stable(self): """Test exceptions on extended stable. Current expected behavior is the failure is ignored""" self.mock.get_impact_on_build.side_effect = [ self.impacts.stable, self.impacts.beta, Exception(), ] self.assertEqual( impact_task.Impacts(self.impacts.stable, self.impacts.beta), impact_task.get_impacts_on_prod_builds(self.testcase, 'path')) self.mock.get_impact_on_build.assert_has_calls([ mock.call('stable', self.testcase.impact_stable_version, self.testcase, 'path'), mock.call('beta', self.testcase.impact_beta_version, self.testcase, 'path'), mock.call('extended_stable', self.testcase.impact_extended_stable_version, self.testcase, 'path'), ]) self.mock.get_impacts_from_url.assert_has_calls([])