Merge lp:~thisfred/u1db/remove-defaults into lp:u1db

Proposed by Eric Casteleijn
Status: Merged
Approved by: Eric Casteleijn
Approved revision: 349
Merged at revision: 349
Proposed branch: lp:~thisfred/u1db/remove-defaults
Merge into: lp:u1db
Diff against target: 497 lines (+141/-55)
4 files modified
u1db/__init__.py (+2/-2)
u1db/backends/__init__.py (+3/-5)
u1db/tests/commandline/test_client.py (+15/-5)
u1db/tests/test_backends.py (+121/-43)
To merge this branch: bzr merge lp:~thisfred/u1db/remove-defaults
Reviewer Review Type Date Requested Status
John O'Brien (community) Approve
Review via email: mp+114289@code.launchpad.net

Commit message

Removed the None default values for replica_uid, replica_gen and replica_trans_id

Description of the change

Removed the None default values for replica_uid, replica_gen and replica_trans_id

To post a comment you must log in.
Revision history for this message
John O'Brien (jdobrien) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'u1db/__init__.py'
2--- u1db/__init__.py 2012-07-10 17:55:45 +0000
3+++ u1db/__init__.py 2012-07-10 22:29:17 +0000
4@@ -320,8 +320,8 @@
5 """
6 raise NotImplementedError(self._set_replica_gen_and_trans_id)
7
8- def _put_doc_if_newer(self, doc, save_conflict, replica_uid=None,
9- replica_gen=None, replica_trans_id=None):
10+ def _put_doc_if_newer(self, doc, save_conflict, replica_uid, replica_gen,
11+ replica_trans_id=''):
12 """Insert/update document into the database with a given revision.
13
14 This api is used during synchronization operations.
15
16=== modified file 'u1db/backends/__init__.py'
17--- u1db/backends/__init__.py 2012-07-10 17:15:22 +0000
18+++ u1db/backends/__init__.py 2012-07-10 22:29:17 +0000
19@@ -150,17 +150,15 @@
20 return
21 raise errors.InvalidTransactionId
22
23- def _put_doc_if_newer(self, doc, save_conflict, replica_uid=None,
24- replica_gen=None, replica_trans_id=None):
25+ def _put_doc_if_newer(self, doc, save_conflict, replica_uid, replica_gen,
26+ replica_trans_id=''):
27 cur_doc = self._get_doc(doc.doc_id)
28 doc_vcr = VectorClockRev(doc.rev)
29 if cur_doc is None:
30 cur_vcr = VectorClockRev(None)
31 else:
32 cur_vcr = VectorClockRev(cur_doc.rev)
33- if replica_uid is not None and replica_gen is not None:
34- self._validate_source(
35- replica_uid, replica_gen, replica_trans_id)
36+ self._validate_source(replica_uid, replica_gen, replica_trans_id)
37 if doc_vcr.is_newer(cur_vcr):
38 rev = doc.rev
39 self._prune_conflicts(doc, doc_vcr)
40
41=== modified file 'u1db/tests/commandline/test_client.py'
42--- u1db/tests/commandline/test_client.py 2012-06-06 13:28:10 +0000
43+++ u1db/tests/commandline/test_client.py 2012-07-10 22:29:17 +0000
44@@ -264,7 +264,9 @@
45
46 def test_get_conflict(self):
47 doc = self.make_document('my-test-doc', 'other:1', '{}', False)
48- self.db._put_doc_if_newer(doc, save_conflict=True)
49+ self.db._put_doc_if_newer(
50+ doc, save_conflict=True, replica_uid='r', replica_gen=1,
51+ replica_trans_id='foo')
52 cmd = self.make_command(client.CmdGet)
53 cmd.run(self.db_path, 'my-test-doc', None)
54 self.assertEqual('{}\n', cmd.stdout.getvalue())
55@@ -292,7 +294,9 @@
56 super(TestCmdGetDocConflicts, self).setUp()
57 self.doc1 = self.db.create_doc(tests.simple_doc, doc_id='my-doc')
58 self.doc2 = self.make_document('my-doc', 'other:1', '{}', False)
59- self.db._put_doc_if_newer(self.doc2, save_conflict=True)
60+ self.db._put_doc_if_newer(
61+ self.doc2, save_conflict=True, replica_uid='r', replica_gen=1,
62+ replica_trans_id='foo')
63
64 def test_get_doc_conflicts_none(self):
65 self.db.create_doc(tests.simple_doc, doc_id='a-doc')
66@@ -395,7 +399,9 @@
67
68 def test_put_doc_w_conflicts(self):
69 doc = self.make_document('my-test-doc', 'other:1', '{}', False)
70- self.db._put_doc_if_newer(doc, save_conflict=True)
71+ self.db._put_doc_if_newer(
72+ doc, save_conflict=True, replica_uid='r', replica_gen=1,
73+ replica_trans_id='foo')
74 cmd = self.make_command(client.CmdPut)
75 inf = cStringIO.StringIO(tests.nested_doc)
76 retval = cmd.run(self.db_path, 'my-test-doc', 'other:1', inf)
77@@ -412,7 +418,9 @@
78 super(TestCmdResolve, self).setUp()
79 self.doc1 = self.db.create_doc(tests.simple_doc, doc_id='my-doc')
80 self.doc2 = self.make_document('my-doc', 'other:1', '{}', False)
81- self.db._put_doc_if_newer(self.doc2, save_conflict=True)
82+ self.db._put_doc_if_newer(
83+ self.doc2, save_conflict=True, replica_uid='r', replica_gen=1,
84+ replica_trans_id='foo')
85
86 def test_resolve_simple(self):
87 self.assertTrue(self.db.get_doc('my-doc').has_conflicts)
88@@ -433,7 +441,9 @@
89 def test_resolve_double(self):
90 moar = '{"x": 42}'
91 doc3 = self.make_document('my-doc', 'third:1', moar, False)
92- self.db._put_doc_if_newer(doc3, save_conflict=True)
93+ self.db._put_doc_if_newer(
94+ doc3, save_conflict=True, replica_uid='r', replica_gen=1,
95+ replica_trans_id='foo')
96 cmd = self.make_command(client.CmdResolve)
97 inf = cStringIO.StringIO(tests.nested_doc)
98 cmd.run(self.db_path, 'my-doc', [self.doc1.rev, self.doc2.rev], inf)
99
100=== modified file 'u1db/tests/test_backends.py'
101--- u1db/tests/test_backends.py 2012-07-10 17:15:22 +0000
102+++ u1db/tests/test_backends.py 2012-07-10 22:29:17 +0000
103@@ -39,7 +39,7 @@
104 try:
105 from u1db.tests import c_backend_wrapper
106 except ImportError:
107- c_backend_wrapper = None
108+ c_backend_wrapper = None # noqa
109
110
111 def make_http_database_for_test(test, replica_uid, path='test'):
112@@ -360,14 +360,18 @@
113
114 def test_simple_put_doc_if_newer(self):
115 doc = self.make_document('my-doc-id', 'test:1', simple_doc)
116- state_at_gen = self.db._put_doc_if_newer(doc, save_conflict=False)
117+ state_at_gen = self.db._put_doc_if_newer(
118+ doc, save_conflict=False, replica_uid='r', replica_gen=1,
119+ replica_trans_id='foo')
120 self.assertEqual(('inserted', 1), state_at_gen)
121 self.assertGetDoc(self.db, 'my-doc-id', 'test:1', simple_doc, False)
122
123 def test_simple_put_doc_if_newer_deleted(self):
124 self.db.create_doc('{}', doc_id='my-doc-id')
125 doc = self.make_document('my-doc-id', 'test:2', None)
126- state_at_gen = self.db._put_doc_if_newer(doc, save_conflict=False)
127+ state_at_gen = self.db._put_doc_if_newer(
128+ doc, save_conflict=False, replica_uid='r', replica_gen=1,
129+ replica_trans_id='foo')
130 self.assertEqual(('inserted', 2), state_at_gen)
131 self.assertGetDocIncludeDeleted(
132 self.db, 'my-doc-id', 'test:2', None, False)
133@@ -381,7 +385,9 @@
134 doc1_rev2 = doc1.rev
135 # Nothing is inserted, because the document is already superseded
136 doc = self.make_document(doc1.doc_id, doc1_rev1, orig_doc)
137- state, _ = self.db._put_doc_if_newer(doc, save_conflict=False)
138+ state, _ = self.db._put_doc_if_newer(
139+ doc, save_conflict=False, replica_uid='r', replica_gen=1,
140+ replica_trans_id='foo')
141 self.assertEqual('superseded', state)
142 self.assertGetDoc(self.db, doc1.doc_id, doc1_rev2, simple_doc, False)
143
144@@ -389,7 +395,9 @@
145 doc1 = self.db.create_doc(simple_doc)
146 rev = doc1.rev
147 doc = self.make_document(doc1.doc_id, "whatever:1", doc1.get_json())
148- state, _ = self.db._put_doc_if_newer(doc, save_conflict=False)
149+ state, _ = self.db._put_doc_if_newer(
150+ doc, save_conflict=False, replica_uid='r', replica_gen=1,
151+ replica_trans_id='foo')
152 self.assertEqual('superseded', state)
153 doc2 = self.db.get_doc(doc1.doc_id)
154 v2 = vectorclock.VectorClockRev(doc2.rev)
155@@ -399,14 +407,18 @@
156 def test_put_doc_if_newer_already_converged(self):
157 orig_doc = '{"new": "doc"}'
158 doc1 = self.db.create_doc(orig_doc)
159- state_at_gen = self.db._put_doc_if_newer(doc1, save_conflict=False)
160+ state_at_gen = self.db._put_doc_if_newer(
161+ doc1, save_conflict=False, replica_uid='r', replica_gen=1,
162+ replica_trans_id='foo')
163 self.assertEqual(('converged', 1), state_at_gen)
164
165 def test_put_doc_if_newer_conflicted(self):
166 doc1 = self.db.create_doc(simple_doc)
167 # Nothing is inserted, the document id is returned as would-conflict
168 alt_doc = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
169- state, _ = self.db._put_doc_if_newer(alt_doc, save_conflict=False)
170+ state, _ = self.db._put_doc_if_newer(
171+ alt_doc, save_conflict=False, replica_uid='r', replica_gen=1,
172+ replica_trans_id='foo')
173 self.assertEqual('conflicted', state)
174 # The database wasn't altered
175 self.assertGetDoc(self.db, doc1.doc_id, doc1.rev, simple_doc, False)
176@@ -422,7 +434,7 @@
177 def test_put_doc_if_newer_same_generation_same_txid(self):
178 self.db._set_replica_gen_and_trans_id('other', 1, 'T-sid')
179 doc = self.db.create_doc(simple_doc)
180- doc2 = self.make_document(doc.doc_id, 'other:1', simple_doc)
181+ self.make_document(doc.doc_id, 'other:1', simple_doc)
182 state, _ = self.db._put_doc_if_newer(
183 doc, save_conflict=False, replica_uid='other', replica_gen=1,
184 replica_trans_id='T-sid')
185@@ -598,14 +610,18 @@
186 def test_get_docs_conflicted(self):
187 doc1 = self.db.create_doc(simple_doc)
188 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
189- self.db._put_doc_if_newer(doc2, save_conflict=True)
190+ self.db._put_doc_if_newer(
191+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
192+ replica_trans_id='foo')
193 self.assertEqual([doc2], self.db.get_docs([doc1.doc_id]))
194
195 def test_get_docs_conflicts_ignored(self):
196 doc1 = self.db.create_doc(simple_doc)
197 doc2 = self.db.create_doc(nested_doc)
198 alt_doc = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
199- self.db._put_doc_if_newer(alt_doc, save_conflict=True)
200+ self.db._put_doc_if_newer(
201+ alt_doc, save_conflict=True, replica_uid='r', replica_gen=1,
202+ replica_trans_id='foo')
203 no_conflict_doc = self.make_document(doc1.doc_id, 'alternate:1',
204 nested_doc)
205 self.assertEqual([no_conflict_doc, doc2],
206@@ -615,7 +631,9 @@
207 def test_get_doc_conflicts(self):
208 doc = self.db.create_doc(simple_doc)
209 alt_doc = self.make_document(doc.doc_id, 'alternate:1', nested_doc)
210- self.db._put_doc_if_newer(alt_doc, save_conflict=True)
211+ self.db._put_doc_if_newer(
212+ alt_doc, save_conflict=True, replica_uid='r', replica_gen=1,
213+ replica_trans_id='foo')
214 self.assertEqual([alt_doc, doc],
215 self.db.get_doc_conflicts(doc.doc_id))
216
217@@ -629,7 +647,9 @@
218 def test_resolve_doc(self):
219 doc = self.db.create_doc(simple_doc)
220 alt_doc = self.make_document(doc.doc_id, 'alternate:1', nested_doc)
221- self.db._put_doc_if_newer(alt_doc, save_conflict=True)
222+ self.db._put_doc_if_newer(
223+ alt_doc, save_conflict=True, replica_uid='r', replica_gen=1,
224+ replica_trans_id='foo')
225 self.assertGetDocConflicts(self.db, doc.doc_id,
226 [('alternate:1', nested_doc), (doc.rev, simple_doc)])
227 orig_rev = doc.rev
228@@ -642,7 +662,9 @@
229 def test_resolve_doc_picks_biggest_vcr(self):
230 doc1 = self.db.create_doc(simple_doc)
231 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
232- self.db._put_doc_if_newer(doc2, save_conflict=True)
233+ self.db._put_doc_if_newer(
234+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
235+ replica_trans_id='foo')
236 self.assertGetDocConflicts(self.db, doc1.doc_id,
237 [(doc2.rev, nested_doc),
238 (doc1.rev, simple_doc)])
239@@ -661,13 +683,17 @@
240 def test_resolve_doc_partial_not_winning(self):
241 doc1 = self.db.create_doc(simple_doc)
242 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
243- self.db._put_doc_if_newer(doc2, save_conflict=True)
244+ self.db._put_doc_if_newer(
245+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
246+ replica_trans_id='foo')
247 self.assertGetDocConflicts(self.db, doc1.doc_id,
248 [(doc2.rev, nested_doc),
249 (doc1.rev, simple_doc)])
250 content3 = '{"key": "valin3"}'
251 doc3 = self.make_document(doc1.doc_id, 'third:1', content3)
252- self.db._put_doc_if_newer(doc3, save_conflict=True)
253+ self.db._put_doc_if_newer(
254+ doc3, save_conflict=True, replica_uid='r', replica_gen=2,
255+ replica_trans_id='bar')
256 self.assertGetDocConflicts(self.db, doc1.doc_id,
257 [(doc3.rev, content3),
258 (doc1.rev, simple_doc),
259@@ -682,10 +708,14 @@
260 def test_resolve_doc_partial_winning(self):
261 doc1 = self.db.create_doc(simple_doc)
262 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
263- self.db._put_doc_if_newer(doc2, save_conflict=True)
264+ self.db._put_doc_if_newer(
265+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
266+ replica_trans_id='foo')
267 content3 = '{"key": "valin3"}'
268 doc3 = self.make_document(doc1.doc_id, 'third:1', content3)
269- self.db._put_doc_if_newer(doc3, save_conflict=True)
270+ self.db._put_doc_if_newer(
271+ doc3, save_conflict=True, replica_uid='r', replica_gen=2,
272+ replica_trans_id='bar')
273 self.assertGetDocConflicts(self.db, doc1.doc_id,
274 [(doc3.rev, content3),
275 (doc1.rev, simple_doc),
276@@ -700,7 +730,9 @@
277 doc1 = self.db.create_doc(simple_doc)
278 self.db.delete_doc(doc1)
279 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
280- self.db._put_doc_if_newer(doc2, save_conflict=True)
281+ self.db._put_doc_if_newer(
282+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
283+ replica_trans_id='foo')
284 self.assertGetDocConflicts(self.db, doc1.doc_id,
285 [(doc2.rev, nested_doc),
286 (doc1.rev, None)])
287@@ -712,7 +744,9 @@
288 doc1 = self.db.create_doc(simple_doc)
289 self.db.delete_doc(doc1)
290 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
291- self.db._put_doc_if_newer(doc2, save_conflict=True)
292+ self.db._put_doc_if_newer(
293+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
294+ replica_trans_id='foo')
295 self.assertGetDocConflicts(self.db, doc1.doc_id,
296 [(doc2.rev, nested_doc),
297 (doc1.rev, None)])
298@@ -725,7 +759,9 @@
299 doc1 = self.db.create_doc(simple_doc)
300 # Document is inserted as a conflict
301 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
302- state, _ = self.db._put_doc_if_newer(doc2, save_conflict=True)
303+ state, _ = self.db._put_doc_if_newer(
304+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
305+ replica_trans_id='foo')
306 self.assertEqual('conflicted', state)
307 # The database was updated
308 self.assertGetDoc(self.db, doc1.doc_id, doc2.rev, nested_doc, True)
309@@ -733,11 +769,17 @@
310 def test_force_doc_conflict_supersedes_properly(self):
311 doc1 = self.db.create_doc(simple_doc)
312 doc2 = self.make_document(doc1.doc_id, 'alternate:1', '{"b": 1}')
313- self.db._put_doc_if_newer(doc2, save_conflict=True)
314+ self.db._put_doc_if_newer(
315+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
316+ replica_trans_id='foo')
317 doc3 = self.make_document(doc1.doc_id, 'altalt:1', '{"c": 1}')
318- self.db._put_doc_if_newer(doc3, save_conflict=True)
319+ self.db._put_doc_if_newer(
320+ doc3, save_conflict=True, replica_uid='r', replica_gen=2,
321+ replica_trans_id='bar')
322 doc22 = self.make_document(doc1.doc_id, 'alternate:2', '{"b": 2}')
323- self.db._put_doc_if_newer(doc22, save_conflict=True)
324+ self.db._put_doc_if_newer(
325+ doc22, save_conflict=True, replica_uid='r', replica_gen=3,
326+ replica_trans_id='zed')
327 self.assertGetDocConflicts(self.db, doc1.doc_id,
328 [('alternate:2', doc22.get_json()),
329 ('altalt:1', doc3.get_json()),
330@@ -747,7 +789,9 @@
331 doc1 = self.db.create_doc(simple_doc)
332 self.db.delete_doc(doc1)
333 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
334- self.db._put_doc_if_newer(doc2, save_conflict=True)
335+ self.db._put_doc_if_newer(
336+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
337+ replica_trans_id='foo')
338 self.assertTrue(doc2.has_conflicts)
339 self.assertGetDoc(
340 self.db, doc1.doc_id, 'alternate:1', nested_doc, True)
341@@ -757,14 +801,18 @@
342 def test_put_doc_if_newer_propagates_full_resolution(self):
343 doc1 = self.db.create_doc(simple_doc)
344 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
345- self.db._put_doc_if_newer(doc2, save_conflict=True)
346+ self.db._put_doc_if_newer(
347+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
348+ replica_trans_id='foo')
349 resolved_vcr = vectorclock.VectorClockRev(doc1.rev)
350 vcr_2 = vectorclock.VectorClockRev(doc2.rev)
351 resolved_vcr.maximize(vcr_2)
352 resolved_vcr.increment('alternate')
353 doc_resolved = self.make_document(doc1.doc_id, resolved_vcr.as_str(),
354 '{"good": 1}')
355- state, _ = self.db._put_doc_if_newer(doc_resolved, save_conflict=True)
356+ state, _ = self.db._put_doc_if_newer(
357+ doc_resolved, save_conflict=True, replica_uid='r', replica_gen=2,
358+ replica_trans_id='foo2')
359 self.assertEqual('inserted', state)
360 self.assertFalse(doc_resolved.has_conflicts)
361 self.assertGetDocConflicts(self.db, doc1.doc_id, [])
362@@ -774,9 +822,13 @@
363 def test_put_doc_if_newer_propagates_partial_resolution(self):
364 doc1 = self.db.create_doc(simple_doc)
365 doc2 = self.make_document(doc1.doc_id, 'altalt:1', '{}')
366- self.db._put_doc_if_newer(doc2, save_conflict=True)
367+ self.db._put_doc_if_newer(
368+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
369+ replica_trans_id='foo')
370 doc3 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
371- self.db._put_doc_if_newer(doc3, save_conflict=True)
372+ self.db._put_doc_if_newer(
373+ doc3, save_conflict=True, replica_uid='r', replica_gen=2,
374+ replica_trans_id='foo2')
375 self.assertGetDocConflicts(self.db, doc1.doc_id,
376 [('alternate:1', nested_doc), ('test:1', simple_doc),
377 ('altalt:1', '{}')])
378@@ -786,7 +838,9 @@
379 resolved_vcr.increment('alternate')
380 doc_resolved = self.make_document(doc1.doc_id, resolved_vcr.as_str(),
381 '{"good": 1}')
382- state, _ = self.db._put_doc_if_newer(doc_resolved, save_conflict=True)
383+ state, _ = self.db._put_doc_if_newer(
384+ doc_resolved, save_conflict=True, replica_uid='r', replica_gen=3,
385+ replica_trans_id='foo3')
386 self.assertEqual('inserted', state)
387 self.assertTrue(doc_resolved.has_conflicts)
388 doc4 = self.db.get_doc(doc1.doc_id)
389@@ -820,11 +874,17 @@
390 doc_a1b1 = self.make_document(doc_a1.doc_id, 'test:1|other:1',
391 '{"a":"42"}')
392 doc_a3 = self.make_document(doc_a1.doc_id, 'test:2|other:1', "{}")
393- state, _ = self.db._put_doc_if_newer(doc_a2, save_conflict=True)
394+ state, _ = self.db._put_doc_if_newer(
395+ doc_a2, save_conflict=True, replica_uid='r', replica_gen=1,
396+ replica_trans_id='foo')
397 self.assertEqual(state, 'inserted')
398- state, _ = self.db._put_doc_if_newer(doc_a1b1, save_conflict=True)
399+ state, _ = self.db._put_doc_if_newer(
400+ doc_a1b1, save_conflict=True, replica_uid='r', replica_gen=2,
401+ replica_trans_id='foo2')
402 self.assertEqual(state, 'conflicted')
403- state, _ = self.db._put_doc_if_newer(doc_a3, save_conflict=True)
404+ state, _ = self.db._put_doc_if_newer(
405+ doc_a3, save_conflict=True, replica_uid='r', replica_gen=3,
406+ replica_trans_id='foo3')
407 self.assertEqual(state, 'inserted')
408 self.assertFalse(self.db.get_doc(doc_a1.doc_id).has_conflicts)
409
410@@ -833,11 +893,17 @@
411 doc_a1b1 = self.make_document(doc_a1.doc_id, 'test:1|other:1', "{}")
412 doc_a2 = self.make_document(doc_a1.doc_id, 'test:2', '{"a":"42"}')
413 doc_a3 = self.make_document(doc_a1.doc_id, 'test:3', "{}")
414- state, _ = self.db._put_doc_if_newer(doc_a1b1, save_conflict=True)
415+ state, _ = self.db._put_doc_if_newer(
416+ doc_a1b1, save_conflict=True, replica_uid='r', replica_gen=1,
417+ replica_trans_id='foo')
418 self.assertEqual(state, 'inserted')
419- state, _ = self.db._put_doc_if_newer(doc_a2, save_conflict=True)
420+ state, _ = self.db._put_doc_if_newer(
421+ doc_a2, save_conflict=True, replica_uid='r', replica_gen=2,
422+ replica_trans_id='foo2')
423 self.assertEqual(state, 'conflicted')
424- state, _ = self.db._put_doc_if_newer(doc_a3, save_conflict=True)
425+ state, _ = self.db._put_doc_if_newer(
426+ doc_a3, save_conflict=True, replica_uid='r', replica_gen=3,
427+ replica_trans_id='foo3')
428 self.assertEqual(state, 'superseded')
429 doc = self.db.get_doc(doc_a1.doc_id, True)
430 self.assertFalse(doc.has_conflicts)
431@@ -852,11 +918,17 @@
432 doc_a1b1 = self.make_document(doc_a1.doc_id, 'test:1|other:1', None)
433 doc_a2 = self.make_document(doc_a1.doc_id, 'test:2', '{"a":"42"}')
434 doc_a3 = self.make_document(doc_a1.doc_id, 'test:3', None)
435- state, _ = self.db._put_doc_if_newer(doc_a1b1, save_conflict=True)
436+ state, _ = self.db._put_doc_if_newer(
437+ doc_a1b1, save_conflict=True, replica_uid='r', replica_gen=1,
438+ replica_trans_id='foo')
439 self.assertEqual(state, 'inserted')
440- state, _ = self.db._put_doc_if_newer(doc_a2, save_conflict=True)
441+ state, _ = self.db._put_doc_if_newer(
442+ doc_a2, save_conflict=True, replica_uid='r', replica_gen=2,
443+ replica_trans_id='foo2')
444 self.assertEqual(state, 'conflicted')
445- state, _ = self.db._put_doc_if_newer(doc_a3, save_conflict=True)
446+ state, _ = self.db._put_doc_if_newer(
447+ doc_a3, save_conflict=True, replica_uid='r', replica_gen=3,
448+ replica_trans_id='foo3')
449 self.assertEqual(state, 'superseded')
450 doc = self.db.get_doc(doc_a1.doc_id, True)
451 self.assertFalse(doc.has_conflicts)
452@@ -870,7 +942,9 @@
453 doc1 = self.db.create_doc(simple_doc)
454 content2 = '{"key": "altval"}'
455 doc2 = self.make_document(doc1.doc_id, 'altrev:1', content2)
456- self.db._put_doc_if_newer(doc2, save_conflict=True)
457+ self.db._put_doc_if_newer(
458+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
459+ replica_trans_id='foo')
460 self.assertGetDoc(self.db, doc1.doc_id, doc2.rev, content2, True)
461 content3 = '{"key": "local"}'
462 doc2.set_json(content3)
463@@ -879,7 +953,9 @@
464 def test_delete_refuses_for_conflicted(self):
465 doc1 = self.db.create_doc(simple_doc)
466 doc2 = self.make_document(doc1.doc_id, 'altrev:1', nested_doc)
467- self.db._put_doc_if_newer(doc2, save_conflict=True)
468+ self.db._put_doc_if_newer(
469+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
470+ replica_trans_id='foo')
471 self.assertGetDoc(self.db, doc2.doc_id, doc2.rev, nested_doc, True)
472 self.assertRaises(errors.ConflictedDoc, self.db.delete_doc, doc2)
473
474@@ -1037,10 +1113,10 @@
475
476 def test_get_wildcard_range_from_index_start_end(self):
477 self.db.create_doc('{"key": "a"}')
478- doc2 = self.db.create_doc('{"key": "boo3"}')
479+ self.db.create_doc('{"key": "boo3"}')
480 doc3 = self.db.create_doc('{"key": "catalyst"}')
481 doc4 = self.db.create_doc('{"key": "whaever"}')
482- doc5 = self.db.create_doc('{"key": "zerg"}')
483+ self.db.create_doc('{"key": "zerg"}')
484 self.db.create_index('test-idx', 'key')
485 self.assertEqual(
486 [doc3, doc4],
487@@ -1520,7 +1596,9 @@
488 self.db.set_document_factory(TestAlternativeDocument)
489 doc1 = self.db.create_doc(simple_doc)
490 doc2 = self.make_document(doc1.doc_id, 'alternate:1', nested_doc)
491- self.db._put_doc_if_newer(doc2, save_conflict=True)
492+ self.db._put_doc_if_newer(
493+ doc2, save_conflict=True, replica_uid='r', replica_gen=1,
494+ replica_trans_id='foo')
495 self.assertTrue(
496 isinstance(
497 self.db.get_docs([doc1.doc_id])[0], TestAlternativeDocument))

Subscribers

People subscribed via source and target branches