# Copyright 2022 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/components.gni")
import("//build/rust/rustc_test.gni")

rustc_test("test") {
  testonly = true
  name = "ota_integration_test"
  edition = "2021"
  sources = [ "src/lib.rs" ]
  deps = [
    "//sdk/fidl/fuchsia.buildinfo:fuchsia.buildinfo_rust",
    "//sdk/fidl/fuchsia.fshost:fuchsia.fshost_rust",
    "//sdk/fidl/fuchsia.io:fuchsia.io_rust",
    "//sdk/fidl/fuchsia.paver:fuchsia.paver_rust",
    "//sdk/fidl/fuchsia.recovery.ui:fuchsia.recovery.ui_rust",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/fuchsia-component-test",
    "//src/lib/fuchsia-fs",
    "//src/recovery/system:ota_lib",
    "//src/storage/lib/vfs/rust:vfs",
    "//src/sys/pkg/lib/fuchsia-hash",
    "//src/sys/pkg/lib/fuchsia-pkg-testing",
    "//src/sys/pkg/lib/isolated-ota",
    "//src/sys/pkg/testing/blobfs-ramdisk",
    "//src/sys/pkg/testing/isolated-ota-env",
    "//src/sys/pkg/testing/mock-omaha-server",
    "//src/sys/pkg/testing/mock-paver",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:async-trait",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:serde_json",
    "//third_party/rust_crates:tempfile",
  ]
}

fuchsia_test_component("ota_integration_test_component") {
  restricted_features = [ "allow_non_hermetic_packages" ]
  manifest = "meta/ota-integration-test.cml"
  deps = [
    ":test",
    "//src/connectivity/network:netstack-for-tests",
    "//src/connectivity/network/dns:component",
    "//src/recovery/system:component_ota",
    "//src/storage/testing:storage_driver_test_realm",
    "//src/storage/tools/blobfs-compression",
    "//src/sys/pkg/lib/fuchsia-pkg-testing/certs",
    "//src/sys/pkg/tests/pkg-resolver:empty-repo",
  ]
}

fuchsia_test_package("ota_integration_test") {
  test_components = [ ":ota_integration_test_component" ]

  test_specs = {
    log_settings = {
      max_severity = "ERROR"
    }
  }
}

group("tests") {
  testonly = true
  deps = [
    ":ota_integration_test",
    "//src/sys/pkg/lib/isolated-swd:isolated-swd-components",
  ]
}
