| # Copyright 2020 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 recipe_engine.post_process import (Filter) |
| |
| DEPS = [ |
| 'json_util', |
| 'recipe_engine/file', |
| 'recipe_engine/path', |
| ] |
| |
| def RunSteps(api): |
| api.json_util.validate_json(api.path['cache']) |
| |
| def GenTests(api): |
| yield api.test('try invalid key', |
| api.path.exists(api.path['cache'].join( |
| 'dev', 'try_builders.json')), |
| api.step_data('validate luci builder json schemas.validate try json format', |
| api.file.read_json({'builders': [{'abc': 'def'}]})), |
| api.expect_exception('ValueError') |
| ) |
| yield api.test('try missing key repo', |
| api.path.exists(api.path['cache'].join( |
| 'dev', 'try_builders.json')), |
| api.step_data('validate luci builder json schemas.validate try json format', |
| api.file.read_json({'builders': [{'name': 'abc'}]})), |
| api.expect_exception('ValueError') |
| ) |
| yield api.test('try missing key name', |
| api.path.exists(api.path['cache'].join( |
| 'dev', 'try_builders.json')), |
| api.step_data('validate luci builder json schemas.validate try json format', |
| api.file.read_json({'builders': [{'repo': 'abc'}]})), |
| api.expect_exception('ValueError') |
| ) |
| yield api.test('prod', |
| api.path.exists(api.path['cache'].join( |
| 'dev', 'prod_builders.json')), |
| api.step_data('validate luci builder json schemas.validate prod json format', |
| api.file.read_json({'builders': [{'repo': 'abc', 'name': 'def'}]})) |
| ) |