-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Labels
Description
Given a schema:
type A {
val: int64;
};the following code:
original = default.A(val=1)
self.client.save(original)
mirror_1 = self.client.query_required_single(
default.A.select(val=False).limit(1)
)
mirror_2 = self.client.query_required_single(
default.A.select(val=True).limit(1)
)
original.val = 2
self.client.save(original)
self.client.sync(mirror_1, mirror_2)
assert not hasattr(mirror_1, "val") # failwill fail the assertion
see #872 test test_model_sync_single_prop_06 and test_model_sync_multi_prop_08 for props
see #881 test test_model_sync_single_link_04
Notably, multi-links will not fetch the values when synced with an object with it set, but will if that object had its set value changed:
original = default.A(val=1)
self.client.save(original)
mirror_1 = self.client.query_required_single(
default.A.select(val=False).limit(1)
)
mirror_2 = self.client.query_required_single(
default.A.select(val=True).limit(1)
)
mirror_2.targets = changed_targets_2
self.client.sync(mirror_1, mirror_2)
assert mirror_1.targets._items == [] # failsee #881 test test_model_sync_multi_link_10