# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

config("update_client_config") {
  defines = [
    "LIBXML_READER_ENABLED",
    "LIBXML_WRITER_ENABLED",
  ]
}

static_library("update_client") {
  sources = [
    "action_runner.cc",
    "action_runner.h",
    "activity_data_service.h",
    "cobalt_slot_management.cc",
    "cobalt_slot_management.h",
    "command_line_config_policy.cc",
    "command_line_config_policy.h",
    "component.cc",
    "component.h",
    "component_patcher.cc",
    "component_patcher.h",
    "component_patcher_operation.cc",
    "component_patcher_operation.h",
    "component_unpacker.cc",
    "component_unpacker.h",
    "configurator.h",
    "crx_downloader.cc",
    "crx_downloader.h",
    "crx_update_item.h",
    "network.cc",
    "network.h",
    "patcher.h",
    "persisted_data.cc",
    "persisted_data.h",
    "ping_manager.cc",
    "ping_manager.h",
    "protocol_definition.cc",
    "protocol_definition.h",
    "protocol_handler.cc",
    "protocol_handler.h",
    "protocol_parser.cc",
    "protocol_parser.h",
    "protocol_parser_json.cc",
    "protocol_parser_json.h",
    "protocol_serializer.cc",
    "protocol_serializer.h",
    "protocol_serializer_json.cc",
    "protocol_serializer_json.h",
    "request_sender.cc",
    "request_sender.h",
    "task.h",
    "task_send_uninstall_ping.cc",
    "task_send_uninstall_ping.h",
    "task_traits.h",
    "task_update.cc",
    "task_update.h",
    "unzipper.h",
    "update_checker.cc",
    "update_checker.h",
    "update_client.cc",
    "update_client.h",
    "update_client_errors.h",
    "update_client_internal.h",
    "update_engine.cc",
    "update_engine.h",
    "update_query_params.cc",
    "update_query_params.h",
    "update_query_params_delegate.cc",
    "update_query_params_delegate.h",
    "updater_state.cc",
    "updater_state.h",
    "url_fetcher_downloader.cc",
    "url_fetcher_downloader.h",
    "utils.cc",
    "utils.h",
  ]

  configs += [ ":update_client_config" ]

  deps = [
    "//components/client_update_protocol",
    "//components/crx_file",
    "//components/prefs",
    "//crypto",
    "//net",
    "//starboard/loader_app:app_key_files",
    "//starboard/loader_app:drain_file",
    "//third_party/libxml",
    "//url",
  ]
}

static_library("test_support") {
  testonly = true

  sources = [
    "net/network_cobalt.h",
    "net/network_impl_cobalt.cc",
    "net/network_impl_cobalt.h",
    "net/url_request_post_interceptor.cc",
    "net/url_request_post_interceptor.h",
    "patch/patch_impl_cobalt.cc",
    "patch/patch_impl_cobalt.h",
    "test_configurator.cc",
    "test_configurator.h",
    "unzip/unzip_impl_cobalt.cc",
    "unzip/unzip_impl_cobalt.h",
  ]

  deps = [
    ":update_client",
    "//base",
    "//cobalt/base",
    "//cobalt/debug:console_command_manager",
    "//cobalt/loader",
    "//cobalt/network",
    "//components/prefs",
    "//net",
    "//net:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/zlib:zip",
    "//url",
  ]
}

copy("update_client_test_files") {
  sources = [
    "//components/test/data/update_client/ChromeRecovery.crx3",
    "//components/test/data/update_client/binary_bsdiff_patch.bin",
    "//components/test/data/update_client/binary_courgette_patch.bin",
    "//components/test/data/update_client/binary_input.bin",
    "//components/test/data/update_client/binary_output.bin",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc.pem",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1/a_changing_binary_file",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1/a_changing_text_file",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1/a_static_text_file",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1/manifest.json",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1to2/commands.json",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1to2/f0",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1to2/f1",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1to2/f2",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1to2_bad/commands.json",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1to2_bad/f1",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1to2_bad/f2",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_1to2_bad/f3",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_2/a_changing_binary_file",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_2/a_changing_text_file",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_2/a_static_text_file",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc/ihfokbkgjpifnbbojhneepfflplebdkc_2/manifest.json",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc_1.crx",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc_1to2.crx",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc_1to2_bad.crx",
    "//components/test/data/update_client/ihfokbkgjpifnbbojhneepfflplebdkc_2.crx",
    "//components/test/data/update_client/jebgalgnebhfojomionfpkfelancnnkf.crx",
    "//components/test/data/update_client/jebgalgnebhfojomionfpkfelancnnkf.pem",
    "//components/test/data/update_client/jebgalgnebhfojomionfpkfelancnnkf/component1.dll",
    "//components/test/data/update_client/jebgalgnebhfojomionfpkfelancnnkf/manifest.json",
    "//components/test/data/update_client/runaction_test_win.crx3",
    "//components/test/data/update_client/updatecheck_reply_1.json",
    "//components/test/data/update_client/updatecheck_reply_4.json",
    "//components/test/data/update_client/updatecheck_reply_noupdate.json",
    "//components/test/data/update_client/updatecheck_reply_parse_error.json",
    "//components/test/data/update_client/updatecheck_reply_unknownapp.json",
  ]

  outputs = [ "$sb_static_contents_output_data_dir/test/{{source_root_relative_dir}}/{{source_file_part}}" ]
}

target(gtest_target_type, "update_client_test") {
  testonly = true

  sources = [
    "component_unpacker_unittest.cc",

    # TODO: enable the tests commented out
    "crx_downloader_unittest.cc",
    "persisted_data_unittest.cc",
    "ping_manager_unittest.cc",
    "protocol_parser_json_unittest.cc",

    # "protocol_serializer_json_unittest.cc",
    "protocol_serializer_unittest.cc",
    "request_sender_unittest.cc",
    "update_checker_unittest.cc",

    # "update_client_unittest.cc",
    "update_query_params_unittest.cc",
    "updater_state_unittest.cc",
    "utils_unittest.cc",
  ]

  deps = [
    ":test_support",
    ":update_client",
    ":update_client_test_files",
    "//cobalt/base",
    "//cobalt/test:run_all_unittests",
    "//cobalt/updater",
    "//components/crx_file",
    "//components/prefs",
    "//components/prefs:test_support",
    "//crypto",
    "//net",
    "//net:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//url",
  ]
}

target(gtest_target_type, "cobalt_slot_management_test") {
  testonly = true

  sources = [
    "//starboard/common/test_main.cc",
    "//starboard/loader_app/system_get_extension_shim.cc",
    "cobalt_slot_management_test.cc",
  ]

  deps = [
    ":update_client",
    "//cobalt/base",
    "//cobalt/updater",
    "//components/crx_file",
    "//components/prefs",
    "//components/prefs:test_support",
    "//crypto",
    "//net:test_support",
    "//starboard/loader_app",
    "//starboard/loader_app:app_key_files",
    "//starboard/loader_app:drain_file",
    "//starboard/loader_app:installation_manager",
    "//testing/gmock",
    "//testing/gtest",
  ]
}
