def testGetDataPointOfSuspectedBuild(self): expected_build_number = 123 data_point = DataPoint() data_point.build_number = expected_build_number analysis = MasterFlakeAnalysis.Create('m', 'b', 125, 's', 't') analysis.suspected_flake_build_number = expected_build_number analysis.data_points.append(data_point) suspected_data_point = analysis.GetDataPointOfSuspectedBuild() self.assertEqual(expected_build_number, suspected_data_point.build_number)
def testGetDataPointOfSuspectedBuildNoDataPoint(self): # This scenario should not happen. expected_build_number = 123 unexpected_build_number = 124 data_point = DataPoint() data_point.build_number = expected_build_number analysis = MasterFlakeAnalysis.Create('m', 'b', 125, 's', 't') analysis.suspected_flake_build_number = unexpected_build_number analysis.data_points.append(data_point) self.assertIsNone(analysis.GetDataPointOfSuspectedBuild())
def testAnalysisIsNeededForCompletedAnalysisWithForce(self): master_name = 'm' builder_name = 'b 1' build_number = 123 step_name = 's' test_name = 't' flake = Flake.Create('chromium', step_name, test_name, 'l') analysis = _CreateAndSaveMasterFlakeAnalysis( master_name, builder_name, build_number, step_name, test_name, status=analysis_status.COMPLETED) analysis.flake_key = flake.key data_point = DataPoint() data_point.pass_rate = .5 data_point.build_number = 100 analysis.data_points.append(data_point) analysis.put() mocked_now = datetime(2017, 05, 01, 10, 10, 10) self.MockUTCNow(mocked_now) test = TestInfo(master_name, builder_name, build_number, step_name, test_name) need_analysis, analysis = initialize_flake_pipeline._NeedANewAnalysis( test, test, flake.key, None, user_email='*****@*****.**', allow_new_analysis=True, force=True) self.assertTrue(need_analysis) self.assertIsNotNone(analysis) self.assertFalse(analysis.triggering_user_email_obscured) self.assertEqual(mocked_now, analysis.request_time) self.assertEqual(analysis.version_number, 2) self.assertEqual([], analysis.data_points)