drive_backend_test_util.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/sync_file_system/drive_backend/drive_backend_test_util.h"
6
7#include <set>
8#include <string>
9
10#include "chrome/browser/drive/drive_api_util.h"
11#include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
12#include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h"
13#include "google_apis/drive/drive_api_parser.h"
14#include "google_apis/drive/drive_entry_kinds.h"
15#include "google_apis/drive/gdata_wapi_parser.h"
16#include "testing/gtest/include/gtest/gtest.h"
17
18namespace sync_file_system {
19namespace drive_backend {
20namespace test_util {
21
22void ExpectEquivalentServiceMetadata(const ServiceMetadata& left,
23                                     const ServiceMetadata& right) {
24  EXPECT_EQ(left.largest_change_id(), right.largest_change_id());
25  EXPECT_EQ(left.sync_root_tracker_id(), right.sync_root_tracker_id());
26  EXPECT_EQ(left.next_tracker_id(), right.next_tracker_id());
27}
28
29void ExpectEquivalentDetails(const FileDetails& left,
30                             const FileDetails& right) {
31  std::set<std::string> parents;
32  for (int i = 0; i < left.parent_folder_ids_size(); ++i)
33    EXPECT_TRUE(parents.insert(left.parent_folder_ids(i)).second);
34
35  for (int i = 0; i < right.parent_folder_ids_size(); ++i)
36    EXPECT_EQ(1u, parents.erase(left.parent_folder_ids(i)));
37  EXPECT_TRUE(parents.empty());
38
39  EXPECT_EQ(left.title(), right.title());
40  EXPECT_EQ(left.file_kind(), right.file_kind());
41  EXPECT_EQ(left.md5(), right.md5());
42  EXPECT_EQ(left.etag(), right.etag());
43  EXPECT_EQ(left.creation_time(), right.creation_time());
44  EXPECT_EQ(left.modification_time(), right.modification_time());
45  EXPECT_EQ(left.missing(), right.missing());
46  EXPECT_EQ(left.change_id(), right.change_id());
47}
48
49void ExpectEquivalentMetadata(const FileMetadata& left,
50                              const FileMetadata& right) {
51  EXPECT_EQ(left.file_id(), right.file_id());
52  ExpectEquivalentDetails(left.details(), right.details());
53}
54
55void ExpectEquivalentTrackers(const FileTracker& left,
56                              const FileTracker& right) {
57  EXPECT_EQ(left.tracker_id(), right.tracker_id());
58  EXPECT_EQ(left.parent_tracker_id(), right.parent_tracker_id());
59  EXPECT_EQ(left.file_id(), right.file_id());
60  EXPECT_EQ(left.app_id(), right.app_id());
61  EXPECT_EQ(left.tracker_kind(), right.tracker_kind());
62  ExpectEquivalentDetails(left.synced_details(), right.synced_details());
63  EXPECT_EQ(left.dirty(), right.dirty());
64  EXPECT_EQ(left.active(), right.active());
65  EXPECT_EQ(left.needs_folder_listing(), right.needs_folder_listing());
66}
67
68}  // namespace test_util
69}  // namespace drive_backend
70}  // namespace sync_file_system
71