def test_read_merges_siblings(): db = StubDb() rollback = StubRollback() qa = qube.init({'test': set()}) qb = qube.init({'test': set()}) qube.apply_op(qa, ('add', 'test', 'abc', 'tx0')) qube.apply_op(qb, ('add', 'test', 'abc', 'tx0')) qube.apply_op(qa, ('add', 'test', 'def', 'tx123')) qube.apply_op(qb, ('add', 'test', 'ghi', 'tx456')) def doraise(a, b): raise riak.Conflict('the_vclock', 'x/zzz', [StubDbResult(qube.to_json(qa)), StubDbResult(qube.to_json(qb))]) db.get.side_effect = doraise m = yield from FooModel.read(db, rollback, 'zzz') assert_that(m, instance_of(FooModel)) assert_that(m.qube['data'], has_entry('test', {'abc', 'def', 'ghi'}))
def test_read_returns_new_instance(): db = StubDb() rollback = StubRollback() db.get.return_value = StubDbResult(qube.init(), key='zzz') m = yield from FooModel.read(db, rollback, 'zzz') assert_that(m, instance_of(FooModel))