| Index: appengine/findit/waterfall/test/identify_culprit_pipeline_test.py
|
| diff --git a/appengine/findit/waterfall/test/identify_culprit_pipeline_test.py b/appengine/findit/waterfall/test/identify_culprit_pipeline_test.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bd23f198032356638fff8e2f910a73a131556d53
|
| --- /dev/null
|
| +++ b/appengine/findit/waterfall/test/identify_culprit_pipeline_test.py
|
| @@ -0,0 +1,51 @@
|
| +# Copyright 2015 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +from pipeline_utils.appengine_third_party_pipeline_src_pipeline import handlers
|
| +from testing_utils import testing
|
| +
|
| +from model.build_analysis import BuildAnalysis
|
| +from model.build_analysis_status import BuildAnalysisStatus
|
| +from waterfall import build_failure_analysis
|
| +from waterfall.identify_culprit_pipeline import IdentifyCulpritPipeline
|
| +
|
| +
|
| +class PullChangelogPipelineTest(testing.AppengineTestCase):
|
| + app_module = handlers._APP
|
| +
|
| + def testPullChangelogs(self):
|
| + master_name = 'm'
|
| + builder_name = 'b'
|
| + build_number = 123
|
| +
|
| + analysis = BuildAnalysis.CreateBuildAnalysis(
|
| + master_name, builder_name, build_number)
|
| + analysis.result = None
|
| + analysis.status = BuildAnalysisStatus.ANALYZING
|
| + analysis.put()
|
| +
|
| + failure_info = {
|
| + 'master_name': master_name,
|
| + 'builder_name': builder_name,
|
| + 'build_number': build_number,
|
| + }
|
| + change_logs = {}
|
| + signals = {}
|
| +
|
| + dummy_result = ['dummy_result']
|
| + def _MockAnalyzeBuildFailure(*_):
|
| + return dummy_result
|
| +
|
| + self.mock(build_failure_analysis,
|
| + 'AnalyzeBuildFailure', _MockAnalyzeBuildFailure)
|
| +
|
| + pipeline = IdentifyCulpritPipeline(failure_info, change_logs, signals)
|
| + pipeline.start()
|
| + self.execute_queued_tasks()
|
| +
|
| + analysis = BuildAnalysis.GetBuildAnalysis(
|
| + master_name, builder_name, build_number)
|
| + self.assertIsNotNone(analysis)
|
| + self.assertEqual(dummy_result, analysis.result)
|
| + self.assertEqual(BuildAnalysisStatus.ANALYZED, analysis.status)
|
|
|