@@ -19,6 +19,8 @@ extern crate couchbase_lite;
19
19
extern crate tempdir;
20
20
extern crate lazy_static;
21
21
22
+ use crate :: utils:: default_collection;
23
+
22
24
use self :: couchbase_lite:: * ;
23
25
use self :: tempdir:: TempDir ;
24
26
use lazy_static:: lazy_static;
@@ -77,14 +79,15 @@ fn copy_file() {
77
79
encryption_key : None ,
78
80
} ;
79
81
match Database :: open ( DB_NAME , Some ( cfg. clone ( ) ) ) {
80
- Ok ( mut db) => {
82
+ Ok ( db) => {
81
83
let mut doc = Document :: new_with_id ( "foo" ) ;
82
84
83
85
let mut props = doc. mutable_properties ( ) ;
84
86
props. at ( "i" ) . put_i64 ( 1 ) ;
85
87
props. at ( "s" ) . put_string ( "test" ) ;
86
88
87
- db. save_document_with_concurency_control ( & mut doc, ConcurrencyControl :: FailOnConflict )
89
+ default_collection ( & db)
90
+ . save_document_with_concurency_control ( & mut doc, ConcurrencyControl :: FailOnConflict )
88
91
. expect ( "save" ) ;
89
92
}
90
93
Err ( _) => panic ! ( "The initial database could not be opened" ) ,
@@ -102,7 +105,7 @@ fn copy_file() {
102
105
// Check document is inside the new DB
103
106
match Database :: open ( DB_NAME_BACKUP , Some ( cfg) ) {
104
107
Ok ( db) => {
105
- let doc = db . get_document ( "foo" ) . unwrap ( ) ;
108
+ let doc = default_collection ( & db ) . get_document ( "foo" ) . unwrap ( ) ;
106
109
107
110
assert_eq ! ( doc. properties( ) . get( "i" ) . as_i64( ) . unwrap( ) , 1 ) ;
108
111
assert_eq ! ( doc. properties( ) . get( "s" ) . as_string( ) . unwrap( ) , "test" ) ;
@@ -116,7 +119,7 @@ fn in_transaction() {
116
119
utils:: with_db ( |db| {
117
120
let result = db. in_transaction ( |db| {
118
121
let mut doc = Document :: new_with_id ( "document" ) ;
119
- let mut collection = db . default_collection_or_error ( ) . unwrap ( ) ;
122
+ let mut collection = default_collection ( db ) ;
120
123
collection
121
124
. save_document_with_concurency_control ( & mut doc, ConcurrencyControl :: LastWriteWins )
122
125
. unwrap ( ) ;
@@ -128,7 +131,7 @@ fn in_transaction() {
128
131
129
132
let result = db. in_transaction ( |db| -> Result < String > {
130
133
let mut doc = Document :: new_with_id ( "document_error" ) ;
131
- let mut collection = db . default_collection_or_error ( ) . unwrap ( ) ;
134
+ let mut collection = default_collection ( db ) ;
132
135
collection
133
136
. save_document_with_concurency_control ( & mut doc, ConcurrencyControl :: LastWriteWins )
134
137
. unwrap ( ) ;
@@ -137,7 +140,7 @@ fn in_transaction() {
137
140
138
141
assert ! ( result. is_err( ) ) ;
139
142
140
- let mut collection = db . default_collection_or_error ( ) . unwrap ( ) ;
143
+ let collection = default_collection ( db ) ;
141
144
assert ! ( collection. get_document( "document" ) . is_ok( ) ) ;
142
145
assert ! ( collection. get_document( "document_error" ) . is_err( ) ) ;
143
146
} ) ;
@@ -146,7 +149,7 @@ fn in_transaction() {
146
149
#[ test]
147
150
fn manual_transaction_commit ( ) {
148
151
utils:: with_db ( |db| {
149
- let initial_count = db . count ( ) ;
152
+ let initial_count = default_collection ( db ) . count ( ) ;
150
153
151
154
{
152
155
let transaction = db. begin_transaction ( ) . unwrap ( ) ;
@@ -158,16 +161,16 @@ fn manual_transaction_commit() {
158
161
transaction. commit ( ) . unwrap ( ) ;
159
162
}
160
163
161
- assert_eq ! ( db . count( ) , initial_count + 1 ) ;
162
- let mut collection = db. default_collection_or_error ( ) . unwrap ( ) ;
164
+ assert_eq ! ( default_collection ( db ) . count( ) , initial_count + 1 ) ;
165
+ let collection = db. default_collection_or_error ( ) . unwrap ( ) ;
163
166
assert ! ( collection. get_document( "manual_commit_doc" ) . is_ok( ) ) ;
164
167
} ) ;
165
168
}
166
169
167
170
#[ test]
168
171
fn manual_transaction_rollback ( ) {
169
172
utils:: with_db ( |db| {
170
- let initial_count = db . count ( ) ;
173
+ let initial_count = default_collection ( db ) . count ( ) ;
171
174
172
175
{
173
176
let _transaction = db. begin_transaction ( ) . unwrap ( ) ;
@@ -179,8 +182,8 @@ fn manual_transaction_rollback() {
179
182
// Transaction dropped here without commit -> automatic rollback
180
183
}
181
184
182
- assert_eq ! ( db . count( ) , initial_count) ;
183
- let mut collection = db. default_collection_or_error ( ) . unwrap ( ) ;
185
+ assert_eq ! ( default_collection ( db ) . count( ) , initial_count) ;
186
+ let collection = db. default_collection_or_error ( ) . unwrap ( ) ;
184
187
assert ! ( collection. get_document( "rollback_doc" ) . is_err( ) ) ;
185
188
} ) ;
186
189
}
@@ -189,7 +192,7 @@ fn manual_transaction_rollback() {
189
192
fn db_properties ( ) {
190
193
utils:: with_db ( |db| {
191
194
assert_eq ! ( db. name( ) , utils:: DB_NAME ) ;
192
- assert_eq ! ( db . count( ) , 0 ) ;
195
+ assert_eq ! ( default_collection ( db ) . count( ) , 0 ) ;
193
196
} ) ;
194
197
}
195
198
@@ -215,10 +218,11 @@ fn db_encryption_key() {
215
218
216
219
// Create database with no encryption & one document
217
220
{
218
- let mut db = Database :: open ( utils:: DB_NAME , Some ( cfg_no_encryption. clone ( ) ) ) . unwrap ( ) ;
221
+ let db = Database :: open ( utils:: DB_NAME , Some ( cfg_no_encryption. clone ( ) ) ) . unwrap ( ) ;
219
222
let mut doc = Document :: new_with_id ( "foo" ) ;
220
223
assert ! (
221
- db. save_document_with_concurency_control( & mut doc, ConcurrencyControl :: LastWriteWins )
224
+ default_collection( & db)
225
+ . save_document_with_concurency_control( & mut doc, ConcurrencyControl :: LastWriteWins )
222
226
. is_ok( )
223
227
) ;
224
228
}
@@ -228,7 +232,7 @@ fn db_encryption_key() {
228
232
assert ! ( Database :: open( utils:: DB_NAME , Some ( cfg_encryption1. clone( ) ) ) . is_err( ) ) ;
229
233
{
230
234
let mut db = Database :: open ( utils:: DB_NAME , Some ( cfg_no_encryption. clone ( ) ) ) . unwrap ( ) ;
231
- assert ! ( db . get_document( "foo" ) . is_ok( ) ) ;
235
+ assert ! ( default_collection ( & db ) . get_document( "foo" ) . is_ok( ) ) ;
232
236
assert ! ( db. change_encryption_key( & encryption_key) . is_ok( ) ) ;
233
237
}
234
238
@@ -237,22 +241,26 @@ fn db_encryption_key() {
237
241
assert ! ( Database :: open( utils:: DB_NAME , Some ( cfg_encryption1. clone( ) ) ) . is_ok( ) ) ;
238
242
{
239
243
let db = Database :: open ( utils:: DB_NAME , Some ( cfg_encryption1. clone ( ) ) ) . unwrap ( ) ;
240
- assert ! ( db . get_document( "foo" ) . is_ok( ) ) ;
244
+ assert ! ( default_collection ( & db ) . get_document( "foo" ) . is_ok( ) ) ;
241
245
}
242
246
}
243
247
244
248
#[ test]
245
249
fn add_listener ( ) {
246
250
utils:: with_db ( |db| {
251
+ let mut default_collection = default_collection ( db) ;
252
+
247
253
let ( sender, receiver) = std:: sync:: mpsc:: channel ( ) ;
248
- let listener_token = db. add_listener ( Box :: new ( move |_, doc_ids| {
254
+ let listener_token = default_collection. add_listener ( Box :: new ( move |_, doc_ids| {
255
+ println ! ( "\n Doc ids: {:?}\n " , doc_ids) ;
249
256
if doc_ids. first ( ) . unwrap ( ) == "document" {
250
257
sender. send ( true ) . unwrap ( ) ;
251
258
}
252
259
} ) ) ;
253
260
254
261
let mut doc = Document :: new_with_id ( "document" ) ;
255
- db. save_document_with_concurency_control ( & mut doc, ConcurrencyControl :: LastWriteWins )
262
+ default_collection
263
+ . save_document_with_concurency_control ( & mut doc, ConcurrencyControl :: LastWriteWins )
256
264
. unwrap ( ) ;
257
265
258
266
receiver. recv_timeout ( Duration :: from_secs ( 1 ) ) . unwrap ( ) ;
@@ -271,14 +279,16 @@ fn buffer_notifications() {
271
279
utils:: set_static ( & BUFFER_NOTIFICATIONS , true ) ;
272
280
} ) ;
273
281
274
- let listener_token = db. add_listener ( Box :: new ( move |_, doc_ids| {
282
+ let mut default_collection = default_collection ( db) ;
283
+ let listener_token = default_collection. add_listener ( Box :: new ( move |_, doc_ids| {
275
284
if doc_ids. first ( ) . unwrap ( ) == "document" {
276
285
utils:: set_static ( & DOCUMENT_DETECTED , true ) ;
277
286
}
278
287
} ) ) ;
279
288
280
289
let mut doc = Document :: new_with_id ( "document" ) ;
281
- db. save_document_with_concurency_control ( & mut doc, ConcurrencyControl :: LastWriteWins )
290
+ default_collection
291
+ . save_document_with_concurency_control ( & mut doc, ConcurrencyControl :: LastWriteWins )
282
292
. unwrap ( ) ;
283
293
284
294
assert ! ( !utils:: check_static_with_wait(
0 commit comments