# Copyright 2020 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")
import("//build/rust/rustc_library.gni")
import("//build/test/test_package.gni")

rustc_library("mock-installer") {
  version = "0.0.1"
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//sdk/fidl/fuchsia.pkg:fuchsia.pkg-rustc",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/sys/pkg/fidl/fuchsia.update.installer:fuchsia.update.installer-rustc",
    "//src/sys/pkg/lib/fidl-fuchsia-update-installer-ext",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:matches",
    "//third_party/rust_crates:parking_lot",
    "//third_party/rust_crates:pretty_assertions",
  ]

  sources = [ "src/lib.rs" ]
}

group("tests") {
  testonly = true
  deps = [ ":mock-installer-tests" ]
}

unittest_package("mock-installer-tests") {
  deps = [ ":mock-installer_test" ]

  tests = [
    {
      name = "mock_installer_lib_test"
      dest = "mock-installer-lib-test"
    },
  ]
}
