def test_revert_update_connected(): res1 = create_resource('test1') res1.inputs['a'] = '9' res1.save_lazy() res2 = create_resource('test2') res2.inputs['a'] = '' res2.save_lazy() res3 = create_resource('test3') res3.inputs['a'] = '' res3.save_lazy() res1 = resource.load('test1') res2 = resource.load('test2') res3 = resource.load('test3') res1.connect(res2) res2.connect(res3) ModelMeta.save_all_lazy() staged_log = map(lambda res: change.create_run(res.name), (res1, res2, res3)) assert len(staged_log) == 3 for item in staged_log: assert item.action == 'run' operations.commit_log_item(item) res1.disconnect(res2) staged_log = map(lambda res: change.create_run(res.name), (res2, res3)) to_revert = [] for item in staged_log: assert item.action == 'run' to_revert.append(item.uid) operations.commit_log_item(item) change.revert_uids(sorted(to_revert, reverse=True)) ModelMeta.save_all_lazy() staged_log = map(lambda res: change.create_run(res.name), (res2, res3)) for item in staged_log: assert item.diff == [['change', 'a', ['', '9']]]
def test_revert_update_connected(): res1 = create_resource('test1') res1.update({'a': '9'}) res2 = create_resource('test2') res2.update({'a': ''}) res3 = create_resource('test3') res3.update({'a': ''}) res1 = resource.load('test1') res2 = resource.load('test2') res3 = resource.load('test3') res1.connect(res2) res2.connect(res3) ModelMeta.save_all_lazy() staged_items = change.staged_log() assert len(staged_items) == 3 for item in staged_items: assert item.action == 'run' operations.commit_log_item(item) res1.disconnect(res2) staged_log = change.staged_log() to_revert = [] for item in staged_log: assert item.action == 'run' to_revert.append(item.uid) operations.commit_log_item(item) change.revert_uids(sorted(to_revert, reverse=True)) ModelMeta.save_all_lazy() staged_log = change.staged_log() for item in staged_log: assert item.diff == [['change', 'a', ['', '9']]]
def test_revert_update_connected(): res1 = orm.DBResource(id='test1', name='test1', base_path='x') res1.save() res1.add_input('a', 'str', '9') res2 = orm.DBResource(id='test2', name='test2', base_path='x') res2.save() res2.add_input('a', 'str', 0) res3 = orm.DBResource(id='test3', name='test3', base_path='x') res3.save() res3.add_input('a', 'str', 0) res1 = resource.load('test1') res2 = resource.load('test2') res3 = resource.load('test3') signals.connect(res1, res2) signals.connect(res2, res3) staged_log = change.stage_changes() assert len(staged_log) == 3 for item in staged_log: operations.move_to_commited(item.log_action) assert len(staged_log) == 0 signals.disconnect(res1, res2) staged_log = change.stage_changes() assert len(staged_log) == 2 to_revert = [] for item in staged_log: operations.move_to_commited(item.log_action) to_revert.append(item.uid) change.revert_uids(sorted(to_revert, reverse=True)) staged_log = change.stage_changes() assert len(staged_log) == 2 for item in staged_log: assert item.diff == [['change', 'a', [0, '9']]]
def test_revert_update_connected(): res1 = DBResource.from_dict( "test1", { "name": "test1", "base_path": "x", "state": RESOURCE_STATE.created.name, "meta_inputs": {"a": {"value": None, "schema": "str"}}, }, ) res1.inputs["a"] = "9" res1.save_lazy() res2 = DBResource.from_dict( "test2", { "name": "test2", "base_path": "x", "state": RESOURCE_STATE.created.name, "meta_inputs": {"a": {"value": None, "schema": "str"}}, }, ) res2.inputs["a"] = "" res2.save_lazy() res3 = DBResource.from_dict( "test3", { "name": "test3", "base_path": "x", "state": RESOURCE_STATE.created.name, "meta_inputs": {"a": {"value": None, "schema": "str"}}, }, ) res3.inputs["a"] = "" res3.save_lazy() res1 = resource.load("test1") res2 = resource.load("test2") res3 = resource.load("test3") res1.connect(res2) res2.connect(res3) ModelMeta.save_all_lazy() staged_log = change.stage_changes() assert len(staged_log) == 3 for item in staged_log: assert item.action == "run" operations.move_to_commited(item.log_action) assert len(change.stage_changes()) == 0 res1.disconnect(res2) staged_log = change.stage_changes() assert len(staged_log) == 2 to_revert = [] for item in staged_log: assert item.action == "update" operations.move_to_commited(item.log_action) to_revert.append(item.uid) change.revert_uids(sorted(to_revert, reverse=True)) ModelMeta.save_all_lazy() staged_log = change.stage_changes() assert len(staged_log) == 2 for item in staged_log: assert item.diff == [["change", "a", ["", "9"]]]
def test_revert_update_connected(): res1 = DBResource.from_dict('test1', {'name': 'test1', 'base_path': 'x', 'state': RESOURCE_STATE.created.name, 'meta_inputs': {'a': {'value': None, 'schema': 'str'}}}) res1.inputs['a'] = '9' res1.save_lazy() res2 = DBResource.from_dict('test2', {'name': 'test2', 'base_path': 'x', 'state': RESOURCE_STATE.created.name, 'meta_inputs': {'a': {'value': None, 'schema': 'str'}}}) res2.inputs['a'] = '' res2.save_lazy() res3 = DBResource.from_dict('test3', {'name': 'test3', 'base_path': 'x', 'state': RESOURCE_STATE.created.name, 'meta_inputs': {'a': {'value': None, 'schema': 'str'}}}) res3.inputs['a'] = '' res3.save_lazy() res1 = resource.load('test1') res2 = resource.load('test2') res3 = resource.load('test3') res1.connect(res2) res2.connect(res3) ModelMeta.save_all_lazy() staged_log = change.stage_changes() assert len(staged_log) == 3 for item in staged_log: assert item.action == 'run' operations.move_to_commited(item.log_action) assert len(change.stage_changes()) == 0 res1.disconnect(res2) staged_log = change.stage_changes() assert len(staged_log) == 2 to_revert = [] for item in staged_log: assert item.action == 'update' operations.move_to_commited(item.log_action) to_revert.append(item.uid) change.revert_uids(sorted(to_revert, reverse=True)) ModelMeta.save_all_lazy() staged_log = change.stage_changes() assert len(staged_log) == 2 for item in staged_log: assert item.diff == [['change', 'a', ['', '9']]]