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

rustc_test("http_client_integration_test") {
  edition = "2018"

  deps = [
    "//sdk/fidl/fuchsia.net.http:fuchsia.net.http-rustc",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:rouille",
  ]

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

# TODO(fxbug.dev/71088): Combine `test-driver` and the test root once
# `use from child` is supported
fuchsia_component("test-driver") {
  component_name = "test-driver"
  testonly = true
  manifest = "meta/test_driver.cml"
  deps = [ ":http_client_integration_test" ]
}

fuchsia_component("component") {
  component_name = "http-client-integration-test"
  testonly = true
  manifest = "meta/http_client_integration_test.cml"
}

fuchsia_test_package("http-client-integration-tests") {
  test_components = [ ":component" ]
  deps = [
    ":test-driver",

    # The component under test.
    "../:component_v2",
    "//src/connectivity/network/netstack:component-debug-v2",
  ]
}

group("tests") {
  testonly = true
  deps = [ ":http-client-integration-tests" ]
}
