# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//third_party/libprotobuf-mutator/fuzzable_proto_library.gni")
static_library("desks_storage") {
output_name = "desks_storage_lib"
sources = [
"core/admin_template_model.h",
"core/admin_template_service.cc",
"core/admin_template_service.h",
"core/desk_model.cc",
"core/desk_model.h",
"core/desk_model_observer.h",
"core/desk_model_wrapper.cc",
"core/desk_model_wrapper.h",
"core/desk_storage_metrics_util.cc",
"core/desk_storage_metrics_util.h",
"core/desk_sync_bridge.cc",
"core/desk_sync_bridge.h",
"core/desk_sync_service.cc",
"core/desk_sync_service.h",
"core/desk_template_conversion.cc",
"core/desk_template_conversion.h",
"core/desk_template_util.cc",
"core/desk_template_util.h",
"core/local_desk_data_manager.cc",
"core/local_desk_data_manager.h",
]
deps = [
"//ash/public/cpp",
"//base",
"//chromeos/crosapi/cpp",
"//components/account_id",
"//components/app_constants",
"//components/app_restore",
"//components/policy/core/common",
"//components/prefs",
"//components/sync",
"//components/sync/model",
"//components/sync/protocol",
"//components/sync_device_info",
"//components/tab_groups",
"//components/version_info:channel",
"//third_party/re2",
"//ui/gfx/geometry",
]
defines = [ "IS_DESKS_STORAGE_IMPL" ]
public_deps = []
}
static_library("test_support") {
testonly = true
sources = [
"core/desk_test_util.cc",
"core/desk_test_util.h",
"core/fake_desk_sync_bridge.cc",
"core/fake_desk_sync_bridge.h",
"core/fake_desk_sync_service.cc",
"core/fake_desk_sync_service.h",
"core/saved_desk_builder.cc",
"core/saved_desk_builder.h",
]
public_deps = [ ":desks_storage" ]
deps = [
"//ash/public/cpp",
"//base",
"//components/app_constants",
"//components/sync:test_support",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"core/admin_template_service_unittests.cc",
"core/desk_model_wrapper_unittests.cc",
"core/desk_sync_bridge_unittest.cc",
"core/desk_template_conversion_unittests.cc",
"core/desk_template_semantics_unittests.cc",
"core/desk_template_util_unittests.cc",
"core/desk_test_util_unittests.cc",
"core/local_desk_data_manager_unittests.cc",
"core/saved_desk_test_util.cc",
"core/saved_desk_test_util.h",
]
deps = [
":desks_storage",
":test_support",
"//ash/public/cpp",
"//base",
"//base/test:test_support",
"//components/app_constants",
"//components/prefs:test_support",
"//components/sync:test_support",
"//testing/gmock",
"//testing/gtest",
"//ui/gfx/geometry",
"//ui/gfx/range",
]
}
if (use_libfuzzer) {
fuzzer_test("desk_template_fuzzer") {
sources = [ "core/desk_template_fuzzer.cc" ]
seed_corpus = "fuzzer_corpus"
deps = [
":desks_storage",
":test_support",
"//components/account_id",
"//components/services/app_service",
"//components/sync:test_support",
"//third_party/libprotobuf-mutator",
]
}
}