chromium/components/autofill/core/browser/webdata/payments/autofill_wallet_offer_sync_bridge_unittest.cc

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "components/autofill/core/browser/webdata/payments/autofill_wallet_offer_sync_bridge.h"

#include <stddef.h>

#include <memory>
#include <utility>

#include "base/files/scoped_temp_dir.h"
#include "base/functional/callback_helpers.h"
#include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h"
#include "base/test/bind.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "components/autofill/core/browser/autofill_test_utils.h"
#include "components/autofill/core/browser/test_autofill_clock.h"
#include "components/autofill/core/browser/webdata/autofill_sync_metadata_table.h"
#include "components/autofill/core/browser/webdata/autofill_webdata_backend.h"
#include "components/autofill/core/browser/webdata/mock_autofill_webdata_backend.h"
#include "components/autofill/core/browser/webdata/payments/payments_autofill_table.h"
#include "components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.h"
#include "components/autofill/core/common/autofill_constants.h"
#include "components/sync/base/data_type.h"
#include "components/sync/base/hash_util.h"
#include "components/sync/engine/data_type_activation_response.h"
#include "components/sync/model/client_tag_based_data_type_processor.h"
#include "components/sync/model/in_memory_metadata_change_list.h"
#include "components/sync/model/sync_data.h"
#include "components/sync/protocol/autofill_offer_specifics.pb.h"
#include "components/sync/protocol/data_type_progress_marker.pb.h"
#include "components/sync/protocol/data_type_state.pb.h"
#include "components/sync/protocol/entity_data.h"
#include "components/sync/protocol/entity_specifics.pb.h"
#include "components/sync/test/mock_commit_queue.h"
#include "components/sync/test/mock_data_type_local_change_processor.h"
#include "components/webdata/common/web_database.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace autofill {

namespace {

ScopedTempDir;
AutofillOfferSpecifics;
DataTypeState;
EntityData;
MockDataTypeLocalChangeProcessor;
NiceMock;
Return;

const char kDefaultCacheGuid[] =;

void ExtractAutofillOfferSpecificsFromDataBatch(
    std::unique_ptr<syncer::DataBatch> batch,
    std::vector<AutofillOfferSpecifics>* output) {}

std::string AutofillOfferSpecificsAsDebugString(
    const AutofillOfferSpecifics& specifics) {}

MATCHER_P(EqualsSpecifics, expected, "") {}

}  // namespace

class AutofillWalletOfferSyncBridgeTest : public testing::Test {};

TEST_F(AutofillWalletOfferSyncBridgeTest, VerifyGetClientTag) {}

TEST_F(AutofillWalletOfferSyncBridgeTest, VerifyGetStorageKey) {}

// Tests that when a new offer data is sent by the server, the client only keeps
// the new data.
TEST_F(AutofillWalletOfferSyncBridgeTest, MergeFullSyncData_NewData) {}

// Tests that when no data is sent by the server, all local data should be
// deleted.
TEST_F(AutofillWalletOfferSyncBridgeTest, MergeFullSyncData_NoData) {}

// Test to ensure whether the data being valid is logged correctly.
TEST_F(AutofillWalletOfferSyncBridgeTest, MergeFullSyncData_LogDataValidity) {}

// Tests that when sync is stopped and the data type is disabled, client should
// remove all client data.
TEST_F(AutofillWalletOfferSyncBridgeTest, ApplyDisableSyncChanges) {}

}  // namespace autofill