| Index: recipe_modules/json/example.py
|
| diff --git a/recipe_modules/json/example.py b/recipe_modules/json/example.py
|
| deleted file mode 100644
|
| index c18d2d7a1aa96486bde3daed310a27862c9399d3..0000000000000000000000000000000000000000
|
| --- a/recipe_modules/json/example.py
|
| +++ /dev/null
|
| @@ -1,112 +0,0 @@
|
| -# Copyright 2014 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.
|
| -
|
| -DEPS = [
|
| - 'json',
|
| - 'path',
|
| - 'properties',
|
| - 'python',
|
| - 'raw_io',
|
| - 'step',
|
| -]
|
| -
|
| -FULLWIDTH_Z = '\xef\xbb\xbf\xef\xbd\x9a'
|
| -
|
| -def RunSteps(api):
|
| - step_result = api.step('echo1', ['echo', '[1, 2, 3]'],
|
| - stdout=api.json.output())
|
| - assert step_result.stdout == [1, 2, 3], step_result.stdout
|
| -
|
| - # have to provide a default value for example_dumps because the
|
| - # 'example_tests' unittest runs all these example recipes without any input
|
| - # properties.
|
| - api.step('echo_dumps_property', [
|
| - 'echo', api.properties.get('example_dumps', '[100]')])
|
| -
|
| - # Example demonstrating the usage of step_test_data for json stdout.
|
| - step_result = api.step('echo2', ['echo', '[2, 3, 4]'],
|
| - step_test_data=lambda: api.json.test_api.output_stream([2, 3, 4]),
|
| - stdout=api.json.output())
|
| - assert step_result.stdout == [2, 3, 4]
|
| -
|
| - assert api.json.is_serializable('foo')
|
| - assert not api.json.is_serializable(set(['foo', 'bar', 'baz']))
|
| -
|
| - # Example demonstrating multiple named json output files.
|
| - result = api.python.inline(
|
| - 'foo',
|
| - """
|
| - import json
|
| - import sys
|
| - with open(sys.argv[1], 'w') as f:
|
| - f.write(json.dumps([1, 2, 3]))
|
| - with open(sys.argv[2], 'w') as f:
|
| - f.write(json.dumps(['x', 'y', %s]))
|
| - """ % repr(FULLWIDTH_Z),
|
| - args=[api.json.output(name='1'), api.json.output(name='2')],
|
| - )
|
| - assert result.json.outputs['1'] == [1, 2, 3]
|
| - assert result.json.outputs['2'] == ['x', 'y', FULLWIDTH_Z]
|
| - assert not hasattr(result.json, 'output')
|
| -
|
| - example_dict = {'x': 1, 'y': 2}
|
| -
|
| - # json.input(json_data) expands to a path containing that rendered json
|
| - step_result = api.step('json through',
|
| - ['cat', api.json.input(example_dict)],
|
| - stdout=api.json.output(),
|
| - step_test_data=lambda: api.json.test_api.output_stream(example_dict))
|
| - assert step_result.stdout == example_dict
|
| -
|
| - # json.read reads a file containing json data.
|
| - leak_path = api.path['tmp_base'].join('temp.json')
|
| - api.step('write json to file',
|
| - ['cat', api.json.input(example_dict)],
|
| - stdout=api.raw_io.output(leak_to=leak_path))
|
| - step_result = api.json.read(
|
| - 'read json from file we just wrote', leak_path,
|
| - step_test_data=lambda: api.json.test_api.output(example_dict))
|
| - assert step_result.json.output == example_dict
|
| -
|
| - # can leak directly to a file
|
| - step_result = api.step('leaking json', [
|
| - 'python', api.resource('cool_script.py'),
|
| - '{"x":1,"y":2}',
|
| - api.json.output(leak_to=api.path['tmp_base'].join('leak.json')),
|
| - ])
|
| - assert step_result.json.output == example_dict
|
| -
|
| - # invalid data gets rendered
|
| - step_result = api.step('invalid json', [
|
| - 'python', api.resource('cool_script.py'),
|
| - '{"here is some total\ngarbage',
|
| - api.json.output(),
|
| - ])
|
| - assert step_result.json.output is None
|
| -
|
| -
|
| -def GenTests(api):
|
| - yield (
|
| - api.test('basic')
|
| - + api.properties(
|
| - example_dumps=api.json.dumps({
|
| - 'hello': 'world',
|
| - 'cool': [1, 2, 3],
|
| - })
|
| - )
|
| - + api.step_data('echo1', stdout=api.json.output([1, 2, 3]))
|
| - + api.step_data(
|
| - 'foo',
|
| - api.json.output([1, 2, 3], name='1') +
|
| - api.json.output(['x', 'y', FULLWIDTH_Z], name='2'),
|
| - )
|
| - + api.step_data(
|
| - 'leaking json',
|
| - api.json.output({'x': 1, 'y': 2}),
|
| - )
|
| - + api.step_data(
|
| - 'invalid json',
|
| - api.json.invalid('{"here is some total\ngarbage'),
|
| - )
|
| - )
|
|
|