Skip to content

Commit 51b03d2

Browse files
committed
Add test
1 parent 72c2e4d commit 51b03d2

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

test/unit/app/managers/test_HDAManager.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,27 @@ def test_file_name_serializers(self):
478478
serialized = self.hda_serializer.serialize(hda, keys, user=self.admin_user)
479479
assert "file_name" in serialized
480480

481+
def test_serialize_metadata_skips_file_path_for_purged(self):
482+
# Purged datasets have no object store path, so metadata serialization must skip it.
483+
assert self.app.config.expose_dataset_path
484+
485+
def _serialize(purged):
486+
metadata_file = model.MetadataFile(name="bam_index")
487+
metadata_file.get_file_name = mock.Mock(return_value="/objects/bam_index.dat")
488+
item = mock.MagicMock(purged=purged)
489+
item.metadata.spec.items.return_value = [("bam_index", {})]
490+
item.metadata.get.return_value = metadata_file
491+
result = self.hda_serializer.serialize_metadata(item, "metadata")
492+
return metadata_file.get_file_name, result
493+
494+
get_file_name, result = _serialize(purged=True)
495+
get_file_name.assert_not_called()
496+
assert "bam_index" not in result
497+
498+
get_file_name, result = _serialize(purged=False)
499+
get_file_name.assert_called_once()
500+
assert result["bam_index"] == "/objects/bam_index.dat"
501+
481502
def test_serializing_inaccessible(self):
482503
owner = self.user_manager.create(**user2_data)
483504
non_owner = self.user_manager.create(**user3_data)

0 commit comments

Comments
 (0)