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

Unified Diff: recipe_modules/url/test_api.py

Issue 2868333004: Add URL recipe module from "depot_tools". (Closed)
Patch Set: fix/texst urllib methods, remove non_step Created 3 years, 7 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: recipe_modules/url/test_api.py
diff --git a/recipe_modules/url/test_api.py b/recipe_modules/url/test_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..8aa734e4e306d7b6f21ea0631ac29f487437d467
--- /dev/null
+++ b/recipe_modules/url/test_api.py
@@ -0,0 +1,48 @@
+# Copyright 2017 The LUCI Authors. All rights reserved.
+# Use of this source code is governed under the Apache License, Version 2.0
+# that can be found in the LICENSE file.
+
+import httplib
+
+from recipe_engine import recipe_test_api
+
+
+class UrlTestApi(recipe_test_api.RecipeTestApi): # pragma: no cover
+
+ def _response(self, step_name, data, size, status_code, error_body):
+ step_data = [
+ self.m.json.output({
+ 'status_code': status_code,
+ 'success': status_code in (httplib.OK, httplib.NO_CONTENT),
+ 'size': size,
+ 'error_body': error_body,
+ }, name='status_json'),
+ ]
+ if data:
+ step_data.append(data)
+ return self.step_data(step_name, *step_data)
+
+ def error(self, step_name, status_code, body=None):
+ body = body or 'HTTP Error (%d)' % (status_code,)
+ return self._response(
+ step_name,
+ None,
+ len(body),
+ status_code,
+ body)
+
+ def text(self, step_name, v):
+ return self._response(
+ step_name,
+ self.m.raw_io.output_text(v, name='output'),
+ len(v),
+ 200,
+ None)
+
+ def json(self, step_name, obj):
+ return self._response(
+ step_name,
+ self.m.json.output(obj, name='output'),
+ len(self.m.json.dumps(obj)),
+ 200,
+ None)

Powered by Google App Engine
This is Rietveld 408576698