mirror of
https://github.com/Novartis/cellxgene-gateway.git
synced 2026-10-06 15:48:12 +08:00
Add test case for dirs without h5ad
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
from collections import defaultdict
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
from cellxgene_gateway.filecrawl import (
|
from cellxgene_gateway.filecrawl import (
|
||||||
@@ -70,3 +71,18 @@ class TestRenderItemTree(unittest.TestCase):
|
|||||||
" | annotations: <a class='new' href='/source/FakeSource/view/FakeAnnotations'>new</a>"
|
" | annotations: <a class='new' href='/source/FakeSource/view/FakeAnnotations'>new</a>"
|
||||||
"</li></ul></li>",
|
"</li></ul></li>",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@patch("os.listdir", side_effect=lambda parent: defaultdict(list, {"tmp": ["foo"], "tmp/foo": ["bar"]})[parent])
|
||||||
|
@patch("os.path.exists", return_value=True)
|
||||||
|
def test_GIVEN_dirs_without_h5ad_THEN_excludes_dirs_in_output(self, listdir, exists):
|
||||||
|
# Directories:
|
||||||
|
# - tmp
|
||||||
|
# - foo
|
||||||
|
# - bar (no h5ad files)
|
||||||
|
item_source = FileItemSource("tmp", name="local")
|
||||||
|
item_tree = item_source.list_items("foo")
|
||||||
|
rendered = render_item_tree(item_tree, item_source)
|
||||||
|
self.assertEqual(
|
||||||
|
rendered,
|
||||||
|
"<li><a href='/filecrawl/foo?source=local'>foo</a><ul></ul></li>",
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user