Home | History | Annotate | Download | only in drive_backend
      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 
     18 namespace sync_file_system {
     19 namespace drive_backend {
     20 namespace test_util {
     21 
     22 void 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 
     29 void 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 
     49 void 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 
     55 void 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