From c25e1396a06c04478e7a802a23d6b6ac55a01bc3 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Sun, 30 May 2021 04:07:17 +0200 Subject: [PATCH] enable all tests --- tests/test_file.py | 99 +++++++++++++++++++++++++++++++++++++++++++++- tests/test_misc.py | 2 - 2 files changed, 98 insertions(+), 3 deletions(-) diff --git a/tests/test_file.py b/tests/test_file.py index 083d75b..b965d20 100644 --- a/tests/test_file.py +++ b/tests/test_file.py @@ -73,6 +73,21 @@ def teardown(): except Exception as e: print(e) + # remove directories + body = get_connection().retrieve( + entity_uri_segments=[ + "Entity"], + query_dict={"query": "FIND ENTITY WITH ID>99"}, + reconnect=True).read() + xml = etree.fromstring(body) + delete_ids = [] + for d in xml.xpath('/Response/Directory'): + delete_ids.append(d.get("id")) + get_connection().delete( + entity_uri_segments=[ + "Entity", "&".join(delete_ids)], + reconnect=True) + def test_file_with_space(): file_ = models.File(name="TestFile", @@ -700,7 +715,6 @@ def test_insert_files_in_dir_regex(): pass -@mark.xfail(reason="refactoring filesystem") def test_thumbnails(): file_ = models.File(name="TestFile", description="Testfile Desc", @@ -717,3 +731,86 @@ def test_thumbnails(): xml = etree.fromstring(body) assert xml.xpath('/Response/dir/file')[0].get( "thumbnail")[-41:] == "/Thumbnails/testfiles/thumbnails_test.dat" + + +def test_auto_create_parent_dirs(): + file_ = models.File(name="TestFile", + path="A/B/C/test.dat", + file="test.dat") + file_.set_flag("autoCreateDirs", "true") + file_.insert() + + + body = get_connection().retrieve( + entity_uri_segments=[ + "FileSystem", + ""], + reconnect=True).read() + xml = etree.fromstring(body) + assert len(xml.xpath('/Response/dir')) == 1 + root = xml.xpath('/Response/dir')[0] + assert root.get("name") == "/" + assert root.get("path") == "" + assert root.get("url")[-12:] == "/FileSystem/" + + assert len(root.xpath('dir')) == 1 + assert len(root.xpath('file')) == 0 + + dir_a = root.xpath('dir')[0] + assert dir_a.get("name") == "A/" + assert dir_a.get("url")[-14:] == "/FileSystem/A/" + + + body = get_connection().retrieve( + entity_uri_segments=[ + "FileSystem", + "A", ""], + reconnect=True).read() + xml = etree.fromstring(body) + assert len(xml.xpath('/Response/dir')) == 1 + dir_a = xml.xpath('/Response/dir')[0] + + assert dir_a.get("name") == "A/" + assert dir_a.get("path") == "A" + assert dir_a.get("url")[-14:] == "/FileSystem/A/" + + assert len(dir_a.xpath('dir')) == 1 + assert len(dir_a.xpath('file')) == 0 + + dir_b = dir_a.xpath('dir')[0] + assert dir_b.get("name") == "B/" + assert dir_b.get("url")[-16:] == "/FileSystem/A/B/" + + + body = get_connection().retrieve( + entity_uri_segments=[ + "FileSystem", + "A", "B", ""], + reconnect=True).read() + xml = etree.fromstring(body) + assert len(xml.xpath('/Response/dir')) == 1 + dir_b = xml.xpath('/Response/dir')[0] + + assert len(dir_b.xpath('dir')) == 1 + assert len(dir_b.xpath('file')) == 0 + + dir_c = dir_b.xpath('dir')[0] + assert dir_c.get("name") == "C/" + assert dir_c.get("url")[-18:] == "/FileSystem/A/B/C/" + + + body = get_connection().retrieve( + entity_uri_segments=[ + "FileSystem", + "A", "B", "C", ""], + reconnect=True).read() + xml = etree.fromstring(body) + assert len(xml.xpath('/Response/dir')) == 1 + dir_c = xml.xpath('/Response/dir')[0] + + assert len(dir_c.xpath('dir')) == 0 + assert len(dir_c.xpath('file')) == 1 + + file_1 = dir_c.xpath("file")[0] + assert file_1.get("name") == "test.dat" + assert file_1.get("url")[-26:] == "/FileSystem/A/B/C/test.dat" diff --git a/tests/test_misc.py b/tests/test_misc.py index 9e5514a..0da3bff 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -30,7 +30,6 @@ from nose.tools import (assert_equal, assert_is_not_none, # @UnresolvedImport assert_not_equal, assert_true, nottest, with_setup) -from pytest import mark import caosdb as db from caosdb import (Container, Info, Property, Record, RecordType, execute_query) @@ -44,7 +43,6 @@ def setup(): print(e) -@mark.xfail(reason="refactoring filesystem") @with_setup(setup=setup, teardown=setup) def test_file_system_returns_ids(): upload_file = open("test.dat", "w") -- GitLab