Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(880)

Unified Diff: scripts/slave/recipe_modules/recipe_autoroller/test_api.py

Issue 2214303003: Revert of Removing old recipe code (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: scripts/slave/recipe_modules/recipe_autoroller/test_api.py
diff --git a/scripts/slave/recipe_modules/recipe_autoroller/test_api.py b/scripts/slave/recipe_modules/recipe_autoroller/test_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..b91a1730a4a5b6bf6da24fbb859a90e5bc10a9c3
--- /dev/null
+++ b/scripts/slave/recipe_modules/recipe_autoroller/test_api.py
@@ -0,0 +1,71 @@
+# Copyright 2016 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.
+
+import json
+
+from recipe_engine import recipe_test_api
+
+
+class RecipeAutorollerTestApi(recipe_test_api.RecipeTestApi):
+ def roll_data(self, project, success=True, trivial=True, empty=False):
+ """Returns mock roll data for |project|."""
+ if empty:
+ success = False
+
+ ret = self.empty_test_data()
+
+ picked_roll_details = {
+ 'commit_infos': {
+ 'recipe_engine': [
+ {
+ 'author': 'foo@chromium.org',
+ 'message': '\n'.join([
+ 'some commit message',
+ 'R=bar@chromium.org,baz@chromium.org,invalid1,invalid2@chromium',
+ 'BUG=123,456',
+ ]),
+ 'revision': '123abc',
+ },
+ ],
+ },
+ 'spec': 'api_version: 1\netc: "etc"\n',
+ }
+
+ roll_result = {
+ 'success': success,
+ 'trivial': trivial if success else None,
+ 'picked_roll_details': picked_roll_details if success else None,
+ 'rejected_candidates_details': [],
+ }
+ if empty:
+ roll_result['roll_details'] = []
+ else:
+ roll_result['roll_details'] = [picked_roll_details]
+ if not success:
+ roll_result['rejected_candidates_details'].append({
+ 'spec': 'some_spec',
+ 'commit_infos': {
+ },
+ })
+
+ ret += self.step_data('%s.roll' % project, self.m.json.output(roll_result))
+ return ret
+
+ def new_upload(self, project):
+ return self.step_data('%s.gsutil cat' % project,
+ self.m.raw_io.stream_output('', stream='stdout'),
+ self.m.raw_io.stream_output('Error: No URLs matched ...',
+ stream='stderr'),
+ retcode=1)
+
+ def previously_uploaded(self, project):
+ return self.step_data('%s.gsutil cat' % project,
+ self.m.raw_io.stream_output(json.dumps(
+ {
+ 'issue': '123456789',
+ 'issue_url': 'https://codereview.chromium.org/123456789',
+ 'diff_digest': 'afe53a0e969fd0b2a6b5c5f89724d0c6'
+ }),
+ stream='stdout'),
+ self.m.raw_io.stream_output('', stream='stderr'))
« no previous file with comments | « scripts/slave/recipe_modules/recipe_autoroller/api.py ('k') | scripts/slave/recipe_modules/recipe_tryjob/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698