Exemple #1
0
def test_only_one_root(db):
    root = Folder.get_root()
    # try to create another one

    with pytest.raises(AssertionError):
        Folder.create(name="something else")
    with pytest.raises(AssertionError):
        Folder.create(name="something else", parent=None)

    # make sure it wasnt created
    assert Folder.select().where(Folder.parent == None).count() == 1
Exemple #2
0
def test_create_name_unique(db):
    root = Folder.get_root()
    f1 = root.add_folder("f1")

    with pytest.raises(pw.IntegrityError):
        Folder.create(name="f1", parent=root)
    with pytest.raises(pw.IntegrityError):
        root.add_folder("f1")

    # another one is fine
    assert root.add_folder("f2").name == "f2"
    # one further down is also fine
    assert f1.add_folder("f1").name == "f1"
Exemple #3
0
def test_path(db):
    root = Folder.get_root()
    assert root.path == "/"

    f1 = Folder.create(name="f1", parent=root)
    assert f1.path == "/f1"
    f2 = Folder.create(name="f2", parent=f1)
    assert f2.path == "/f1/f2"
    f3 = Folder.create(name="f3", parent=f2)
    assert f3.path == "/f1/f2/f3"
    f4 = Folder.create(name="f4", parent=f3)
    assert f4.path == "/f1/f2/f3/f4"

    # move stuff around
    f4.parent = f2
    f4.save()
    assert f4.path == "/f1/f2/f4"
Exemple #4
0
def test_create(db):
    root = Folder.get_root()
    f1 = Folder.create(name="hallo", parent=root)

    assert f1.parent is root
    assert len(root.children) == 1

    f2 = Folder.create(name="number2", parent=f1)
    assert len(root.children) == 1
    assert f2.name == "number2"
    assert f2.parent == f1
    assert f2.parent_id == f1.folder_id

    with pytest.raises(AssertionError):
        Folder.create(name=".")
    with pytest.raises(AssertionError):
        Folder.create(name="..")
    with pytest.raises(AssertionError):
        Folder.create(name="/")

    f3 = root.add_folder("f3")
    assert f3.name == "f3"
    assert f3.parent == root
    assert len(root.children) == 2
Exemple #5
0
def test_create_name_validate(db):
    root = Folder.get_root()
    with pytest.raises(AssertionError):
        Folder.create(name="123", parent=root)