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 // Utilities that are useful in verifying the state of items in a
8 #ifndef SYNC_TEST_ENGINE_TEST_SYNCABLE_UTILS_H_
9 #define SYNC_TEST_ENGINE_TEST_SYNCABLE_UTILS_H_
13 #include "sync/internal_api/public/base/model_type.h"
14 #include "sync/protocol/sync.pb.h"
19 class BaseTransaction
;
22 class WriteTransaction
;
24 // Count the number of entries with a given name inside of a parent.
25 // Useful to check folder structure and for porting older tests that
26 // rely on uniqueness inside of folders.
27 int CountEntriesWithName(BaseTransaction
* rtrans
,
28 const syncable::Id
& parent_id
,
29 const std::string
& name
);
31 // Get the first entry ID with name in a parent. The entry *must* exist.
32 Id
GetFirstEntryWithName(BaseTransaction
* rtrans
,
33 const syncable::Id
& parent_id
,
34 const std::string
& name
);
36 // Assert that there's only one entry by this name in this parent.
38 Id
GetOnlyEntryWithName(BaseTransaction
* rtrans
,
39 const syncable::Id
& parent_id
,
40 const std::string
& name
);
42 void CreateTypeRoot(WriteTransaction
* trans
,
43 syncable::Directory
*dir
,
46 sync_pb::DataTypeProgressMarker
BuildProgress(ModelType type
);
48 } // namespace syncable
51 #endif // SYNC_TEST_ENGINE_TEST_SYNCABLE_UTILS_H_