# Copyright 2026 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("bin") {
  name = "httpsdate_time_source_tests"
  edition = "2024"
  source_root = "test.rs"
  sources = [ "test.rs" ]
  deps = [
    "//sdk/fidl/fuchsia.component:fuchsia.component_rust",
    "//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
    "//sdk/fidl/fuchsia.diagnostics:fuchsia.diagnostics_rust",
    "//sdk/fidl/fuchsia.io:fuchsia.io_rust",
    "//sdk/fidl/fuchsia.time.external:fuchsia.time.external_rust",
    "//sdk/rust/zx",
    "//src/lib/diagnostics/reader/rust",
    "//src/lib/diagnostics/testing/diagnostics-assertions/rust:diagnostics-assertions",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/fuchsia-component-test",
    "//src/sys/lib/cm_rust",
    "//src/sys/lib/cm_types",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:log",
  ]
}

fuchsia_component("httpsdate_time_source_integration_test") {
  testonly = true
  deps = [ ":bin" ]
  manifest = "meta/httpsdate_time_source_integration_test.cml"
}

fuchsia_structured_config_values("test-config-values") {
  cm_label = "//src/sys/time/httpsdate_time_source:manifest"
  component_name = "httpsdate_time_source"
  values_source = "meta/test_values.json5"
}

fuchsia_test_package("httpsdate-time-source-integration-tests") {
  test_components = [ ":httpsdate_time_source_integration_test" ]
  deps = [
    ":test-config-values",
    "//src/diagnostics/archivist:archivist-for-embedding-bundle",
    "//src/sys/time/httpsdate_time_source:service",
  ]
}

group("tests") {
  testonly = true
  deps = [ ":httpsdate-time-source-integration-tests" ]
}
