# Copyright 2021 The Fuchsia 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 import recipe_test_api


class KytheTestApi(recipe_test_api.RecipeTestApi):
    def valid(self):
        return self.step_data("validate kzip", stdout=self.m.json.output({}))

    def invalid(self):
        return self.step_data(
            "validate kzip",
            stdout=self.m.json.output({"critical_kzip_errors": ["error"]}),
        )
