# 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",
  ]
}

if (sb_is_evergreen) {

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",
    "//components/version_info",
    "//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:app_key_files",
    "//starboard/loader_app:drain_file",
    "//starboard/loader_app:drain_file_helper",
    "//starboard/loader_app:installation_manager",
    "//testing/gmock",
    "//testing/gtest",
  ]
}  # sb_is_evergreen

}
