# Copyright 2022 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.

from recipe_engine import recipe_test_api


class OsUtilsTestApi(recipe_test_api.RecipeTestApi):

  @recipe_test_api.mod_test_data
  @staticmethod
  def is_symlink(value):
    return value

  @recipe_test_api.mod_test_data
  @staticmethod
  def vswhereexists(value):
    return value
