mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
fix test_metadata_mutable_column test
This commit is contained in:
@@ -9,64 +9,64 @@ class MutableColumnTest(BaseModelTestCase):
|
||||
item_id = item.id
|
||||
self.model.session.flush()
|
||||
self.model.session.expunge_all()
|
||||
return self.model.session.query(model.Workflow).get(item_id)
|
||||
return self.model.session.query(model.DynamicTool).get(item_id)
|
||||
|
||||
def test_metadata_mutable_column(self):
|
||||
w = model.Workflow()
|
||||
w = model.DynamicTool()
|
||||
self.model.session.add(w)
|
||||
self.model.session.flush()
|
||||
w.reports_config = {"x": "z"}
|
||||
w.value = {"x": "z"}
|
||||
persisted = self.persist_and_reload(w)
|
||||
assert persisted.reports_config == {"x": "z"}
|
||||
persisted.reports_config["x"] = "1"
|
||||
assert persisted.value == {"x": "z"}
|
||||
persisted.value["x"] = "1"
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config["x"] == "1"
|
||||
assert persisted.value["x"] == "1"
|
||||
# test string
|
||||
persisted.reports_config = "abcdefg"
|
||||
persisted.value = "abcdefg"
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config == "abcdefg"
|
||||
assert persisted.value == "abcdefg"
|
||||
# test int
|
||||
persisted.reports_config = 1
|
||||
persisted.value = 1
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config == 1
|
||||
assert persisted.value == 1
|
||||
# test float
|
||||
persisted.reports_config = 1.1
|
||||
persisted.value = 1.1
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config == 1.1
|
||||
assert persisted.value == 1.1
|
||||
# test bool
|
||||
persisted.reports_config = True
|
||||
persisted.value = True
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config is True
|
||||
assert persisted.value is True
|
||||
# Test nested dict/list
|
||||
persisted.reports_config = {"list": [[1, 2, 3]]}
|
||||
persisted.value = {"list": [[1, 2, 3]]}
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config == {"list": [[1, 2, 3]]}
|
||||
copy.deepcopy(persisted.reports_config)
|
||||
assert persisted.reports_config.pop("list") == [[1, 2, 3]]
|
||||
assert persisted.value == {"list": [[1, 2, 3]]}
|
||||
copy.deepcopy(persisted.value)
|
||||
assert persisted.value.pop("list") == [[1, 2, 3]]
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config == {}
|
||||
persisted.reports_config.update({"x": "z"})
|
||||
assert persisted.value == {}
|
||||
persisted.value.update({"x": "z"})
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config == {"x": "z"}
|
||||
del persisted.reports_config["x"]
|
||||
assert persisted.value == {"x": "z"}
|
||||
del persisted.value["x"]
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config == {}
|
||||
persisted.reports_config = {"x": {"y": "z"}}
|
||||
assert persisted.value == {}
|
||||
persisted.value = {"x": {"y": "z"}}
|
||||
persisted = self.persist_and_reload(persisted)
|
||||
assert persisted.reports_config == {"x": {"y": "z"}}
|
||||
assert persisted.value == {"x": {"y": "z"}}
|
||||
# These tests are failing ... at least since 20.09,
|
||||
# but nested mutable change tracking might have
|
||||
# never worked
|
||||
|
||||
# persisted.reports_config['x']['y'] = 'x'
|
||||
# persisted.value['x']['y'] = 'x'
|
||||
# persisted = self.persist_and_reload(persisted)
|
||||
# assert persisted.reports_config == {'x': {'y': 'x'}}
|
||||
# persisted.reports_config[0].append(2)
|
||||
# assert persisted.value == {'x': {'y': 'x'}}
|
||||
# persisted.value[0].append(2)
|
||||
# persisted = self.persist_and_reload(persisted)
|
||||
# assert persisted.reports_config[0] == [1, 2]
|
||||
# persisted.reports_config[0].extend([3, 4])
|
||||
# assert persisted.value[0] == [1, 2]
|
||||
# persisted.value[0].extend([3, 4])
|
||||
# persisted = self.persist_and_reload(persisted)
|
||||
# assert persisted.reports_config[0] == [1, 2, 3, 4]
|
||||
# persisted.reports_config[0].remove(4)
|
||||
# assert persisted.value[0] == [1, 2, 3, 4]
|
||||
# persisted.value[0].remove(4)
|
||||
# persisted = self.persist_and_reload(persisted)
|
||||
# assert persisted.reports_config[0] == [1, 2, 3]
|
||||
# assert persisted.value[0] == [1, 2, 3]
|
||||
|
||||
Reference in New Issue
Block a user