Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / sync / test / test_directory_backing_store.h
blob1e718168ca080fdd47392254c7dd2cb90774c697
1 // Copyright (c) 2012 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.
5 #ifndef SYNC_TEST_TEST_DIRECTORY_BACKING_STORE_H_
6 #define SYNC_TEST_TEST_DIRECTORY_BACKING_STORE_H_
8 #include "base/gtest_prod_util.h"
9 #include "sync/syncable/directory_backing_store.h"
11 namespace syncer {
12 namespace syncable {
14 // This implementation of DirectoryBackingStore does not manage its own
15 // database. This makes it more flexible (and more complex) than the
16 // InMemoryDirectoryBackingStore.
17 class TestDirectoryBackingStore : public DirectoryBackingStore {
18 public:
19 // This constructor takes a handle to a database. The caller maintains
20 // ownership of this handle.
22 // This is very brittle. You should not be using this class or this
23 // constructor unless you understand and intend to test the
24 // DirectoryBackingStore's internals.
25 TestDirectoryBackingStore(const std::string& dir_name,
26 sql::Connection* connection);
27 ~TestDirectoryBackingStore() override;
28 DirOpenResult Load(Directory::MetahandlesMap* handles_map,
29 JournalIndex* delete_journals,
30 MetahandleSet* metahandles_to_purge,
31 Directory::KernelLoadInfo* kernel_load_info) override;
32 bool DeleteEntries(const MetahandleSet& handles);
33 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion67To68);
34 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion68To69);
35 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion69To70);
36 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion70To71);
37 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion71To72);
38 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion72To73);
39 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion73To74);
40 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion74To75);
41 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion75To76);
42 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion76To77);
43 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion77To78);
44 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion78To79);
45 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion79To80);
46 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion80To81);
47 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion81To82);
48 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion82To83);
49 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion83To84);
50 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion84To85);
51 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion85To86);
52 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion86To87);
53 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion87To88);
54 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateVersion88To89);
55 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, DetectInvalidPosition);
56 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, ModelTypeIds);
57 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, Corruption);
58 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, DeleteEntries);
59 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, GenerateCacheGUID);
60 FRIEND_TEST_ALL_PREFIXES(MigrationTest, ToCurrentVersion);
61 FRIEND_TEST_ALL_PREFIXES(DirectoryBackingStoreTest, MigrateToLatestAndDump);
62 friend class MigrationTest;
65 } // namespace syncable
66 } // namespace syncer
68 #endif // SYNC_TEST_TEST_DIRECTORY_BACKING_STORE_H_