From e358e748bdea4e9747e31cb5a915dbb6754371bf Mon Sep 17 00:00:00 2001 From: Eugen Ciur Date: Mon, 4 May 2020 16:09:15 +0200 Subject: [PATCH] tests for storage delete function --- test/test_storage.py | 45 +++++++++++++++++++++++++++++++++++--------- test/utils.py | 35 ++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 9 deletions(-) create mode 100644 test/utils.py diff --git a/test/test_storage.py b/test/test_storage.py index 7ef598c..eabd15e 100644 --- a/test/test_storage.py +++ b/test/test_storage.py @@ -1,16 +1,43 @@ +import os import unittest +from mglib.test.utils import TemporaryDir from mglib.path import DocumentPath from mglib.storage import Storage -class TestStep(unittest.TestCase): +BASE_DIR = os.path.dirname( + os.path.abspath(__file__) +) - def test_basic(self): - storage = Storage() +MEDIA_ROOT = os.path.join( + BASE_DIR, "media" +) + +class TestStorage(unittest.TestCase): + + def test_delete(self): + storage = Storage(location=MEDIA_ROOT) + + with TemporaryDir(MEDIA_ROOT) as media_root: + docs = media_root.add_folder("docs") + res = media_root.add_folder("results") + f1 = docs.add_folder("user_1/document_2") + f1.add_file("doku.pdf") + res.add_folder("user_1/document_2/pages") + + docp = DocumentPath( + user_id=1, + document_id=2, + file_name='doku.pdf' + ) + + storage.delete_document(docp) + + self.assertFalse( + docs.exists() + ) + + self.assertFalse( + res.exists() + ) - docp = DocumentPath( - user_id=1, - document_id=2, - file_name='doku.pdf' - ) - storage.delete_document(docp) diff --git a/test/utils.py b/test/utils.py new file mode 100644 index 0000000..874f670 --- /dev/null +++ b/test/utils.py @@ -0,0 +1,35 @@ + + +class TemporaryDir: + """ + Handy class when it comes to testing files/directories + structures. + + Example of usage: + + with TemporaryDir(MEDIA_ROOT) as media_root: + docs = media_root.add_folder("docs") + res = media_root.add_folder("results") + f1 = docs.add_folder("user_1/document_2") + f1.add_file("doku.pdf") + res.add_folder("user_1/document_2/pages") + + docp = DocumentPath( + user_id=1, + document_id=2, + file_name='doku.pdf' + ) + + storage.delete_document(docp) + + self.assertFalse( + docs.exists() + ) + + self.assertFalse( + res.exists() + ) + """ + + def __init__(self, location): + pass