blob: 640c62ae586421c51b37e42469b5b9ffbaa03cc0 [file] [log] [blame]
# Copyright 2019 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 google.protobuf import text_format as textpb
from recipe_engine import recipe_test_api
class TextProtoTestApi(recipe_test_api.RecipeTestApi):
def spec_not_found(self, step_name="build_init"):
"""Returns mock step data that simulates a missing spec file."""
return self.step_data(step_name, retcode=2)
def spec_parse_error(self, step_name="build_init"):
"""Returns mock step data that simulates a spec file that fails to parse."""
return self.step_data(
step_name, stdout=self.m.raw_io.output("not a proto message"), retcode=0,
)
def spec_loaded_ok(self, message, step_name="build_init"):
"""Returns mock step data that simulates successfully fetching a spec file.
Args:
message: The spec as a protobuf Message.
"""
return self.step_data(
step_name,
retcode=0,
stdout=self.m.raw_io.output(textpb.MessageToString(message)),
)