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

visibility = [ "//peridot/bin/ledger/*" ]

executable("e2e_sync") {
  output_name = "ledger_e2e_sync"
  testonly = true

  sources = [
    "e2e_sync_main.cc",
    "ledger_app_instance_factory_e2e.cc",
    "ledger_app_instance_factory_e2e.h",
  ]

  deps = [
    "//garnet/public/lib/callback",
    "//garnet/public/lib/component/cpp",
    "//garnet/public/lib/fidl/cpp",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//peridot/bin/cloud_provider_firestore/fidl",
    "//peridot/bin/cloud_provider_firestore/testing",
    "//peridot/bin/ledger/fidl_helpers",
    "//peridot/bin/ledger/testing:ledger_instance_factory",
    "//peridot/bin/ledger/testing:lib",
    "//peridot/bin/ledger/tests/integration/sync",
    "//peridot/lib/convert",
    "//peridot/lib/firebase_auth/testing",
    "//peridot/lib/rng:system",
    "//third_party/googletest:gtest",
  ]

  configs += [ "//peridot/bin/ledger:ledger_config" ]
}
