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

import("//build/package.gni")

group("testing") {
  testonly = true
  deps = [
    ":fake_clock_lib",
    ":fake_logger_lib",
    "mock_cobalt",
  ]
}

source_set("fake_logger_lib") {
  testonly = true
  sources = [
    "fake_logger.cc",
    "fake_logger.h",
  ]

  public_deps = [
    ":log_method",
    "//sdk/fidl/fuchsia.cobalt",
  ]

  # TODO(fxbug.dev/58162): delete the below and fix compiler warnings
  configs += [ "//build/config:Wno-conversion" ]
}

source_set("fake_clock_lib") {
  testonly = true
  sources = [ "fake_clock.h" ]

  public_deps = [ "//src/cobalt/bin/utils:clock" ]
}

source_set("log_method") {
  testonly = true
  sources = [ "log_method.h" ]
}

source_set("fake_http_loader") {
  testonly = true
  sources = [ "fake_http_loader.h" ]
  deps = [ "//src/lib/callback" ]
}
