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

Side by Side Diff: scripts/slave/recipe_modules/cipd/test_api.py

Issue 2240203002: Delete cipd recipe module in build; it's been moved to depot_tools (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 unified diff | Download patch
« no previous file with comments | « scripts/slave/recipe_modules/cipd/resources/bootstrap.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 from recipe_engine import recipe_test_api
6
7
8 class CIPDTestApi(recipe_test_api.RecipeTestApi):
9 def make_resolved_version(self, v):
10 if not v:
11 return '40-chars-fake-of-the-package-instance_id'
12 if len(v) == 40:
13 return v
14 # Truncate or pad to 40 chars.
15 prefix = 'resolved-instance_id-of-'
16 if len(v) + len(prefix) >= 40:
17 return '%s%s' % (prefix, v[:40-len(prefix)])
18 return '%s%s%s' % (prefix, v, '-' * (40 - len(prefix) - len(v)))
19
20 def make_pin(self, package_name, version=None):
21 return {
22 'package': package_name,
23 'instance_id': self.make_resolved_version(version),
24 }
25
26 def _resultify(self, result, error=None, retcode=None):
27 dic = {'result': result}
28 if error:
29 dic['error'] = error
30 return self.m.json.output(dic, retcode=retcode)
31
32 def make_test_executable(self):
33 return str(self.m.path['slave_build'].join('cipd', 'cipd'))
34
35 def example_error(self, error, retcode=None):
36 return self._resultify(
37 result=None,
38 error=error,
39 retcode=1 if retcode is None else retcode)
40
41 def example_install_client(self, package_name, version=None, retcode=None):
42 return self.m.json.output({
43 'executable': self.make_test_executable(),
44 'instance_id': self.make_resolved_version(version),
45 }, retcode=retcode)
46
47 def example_build(self, package_name, version=None):
48 return self._resultify(self.make_pin(package_name, version))
49
50 example_register = example_build
51
52 def example_ensure(self, packages):
53 return self._resultify([self.make_pin(name, version)
54 for name, version in sorted(packages.items())])
55
56 def example_set_tag(self, package_name, version):
57 return self._resultify({
58 'package': package_name,
59 'pin': self.make_pin(package_name, version)
60 })
61
62 example_set_ref = example_set_tag
63
64 def example_search(self, package_name, instances=None):
65 if instances is None:
66 # Return one instance by default.
67 return self._resultify([self.make_pin(package_name)])
68 if isinstance(instances, int):
69 instances = ['instance_id_%i' % (i+1) for i in xrange(instances)]
70 return self._resultify([self.make_pin(package_name, instance)
71 for instance in instances])
72
73 def example_describe(self, package_name, version=None,
74 test_data_refs=None, test_data_tags=None,
75 user='user:44-blablbla@developer.gserviceaccount.com',
76 tstamp=1446574210):
77 assert not test_data_tags or all(':' in tag for tag in test_data_tags)
78 return self._resultify({
79 'pin': self.make_pin(package_name, version),
80 'registered_by': user,
81 'registered_ts': tstamp,
82 'refs': [
83 {
84 'ref': ref,
85 'modified_by': user,
86 'modified_ts': tstamp,
87 }
88 for ref in (['latest'] if test_data_refs is None else test_data_refs)
89 ],
90 'tags': [
91 {
92 'tag': tag,
93 'registered_by': user,
94 'registered_ts': tstamp,
95 }
96 for tag in ([
97 'buildbot_build:some.waterfall/builder/1234',
98 'git_repository:https://chromium.googlesource.com/some/repo',
99 'git_revision:397a2597cdc237f3026e6143b683be4b9ab60540',
100 ] if test_data_tags is None else test_data_tags)
101 ],
102 })
OLDNEW
« no previous file with comments | « scripts/slave/recipe_modules/cipd/resources/bootstrap.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698