mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge pull request #11353 from mvdbeek/metadataspec_fix
[21.01] Return None on unknown metadata attribute access
This commit is contained in:
@@ -113,7 +113,8 @@ class MetadataCollection(Mapping):
|
||||
return self.spec[name].wrap(self.spec[name].default, object_session(self.parent))
|
||||
if name in self.parent._metadata:
|
||||
return self.parent._metadata[name]
|
||||
raise AttributeError
|
||||
# Instead of raising an AttributeError for non-existing metadata, we return None
|
||||
return None
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
if name == "parent":
|
||||
|
||||
@@ -379,6 +379,12 @@ class MappingTests(BaseModelTestCase):
|
||||
assert hist1.name == "History 2b"
|
||||
# gvk TODO need to ad test for GalaxySessions, but not yet sure what they should look like.
|
||||
|
||||
def test_metadata_spec(self):
|
||||
metadata = dict(chromCol=1, startCol=2, endCol=3)
|
||||
d = self.model.HistoryDatasetAssociation(extension="interval", metadata=metadata, sa_session=self.model.session)
|
||||
assert d.metadata.chromCol == 1
|
||||
assert d.metadata.anyAttribute is None
|
||||
|
||||
def test_jobs(self):
|
||||
model = self.model
|
||||
u = model.User(email="jobtest@foo.bar.baz", password="password")
|
||||
|
||||
Reference in New Issue
Block a user