Skip to content

Commit cfdb4b1

Browse files
committed
add test_dirganize.py
1 parent 12e52da commit cfdb4b1

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

test_dirganize.py

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#!/usr/bin/env python
2+
3+
# pylint: skip-file
4+
5+
import logging
6+
import os
7+
import shutil
8+
9+
import click
10+
import pytest
11+
12+
from dirganize import cli
13+
14+
15+
def create_files(folder, *files):
16+
cwd = os.getcwd()
17+
os.chdir(folder)
18+
19+
for file in files:
20+
with open(file, "w"):
21+
pass
22+
23+
os.chdir(cwd)
24+
25+
26+
def test_dirganize():
27+
sb = "sandbox"
28+
29+
try:
30+
shutil.rmtree(sb)
31+
except:
32+
pass
33+
os.makedirs(sb)
34+
35+
files = ["a.mp4", "b.mp3", "c.png", "d.py", ".dotfile", "what", "e.gif"]
36+
create_files(sb, *files)
37+
38+
with open(os.path.join(sb, ".dirganize.yml"), "w") as file:
39+
file.write("Animations: [gif]")
40+
41+
with pytest.raises(click.exceptions.Exit):
42+
cli.version_callback(value=True)
43+
44+
cli.verbosity_callback(value=True)
45+
46+
cli.main(sb)
47+
48+
assert set(os.listdir()) == set(
49+
[
50+
".dirganize.yml",
51+
".dotfile",
52+
"Images",
53+
"Others",
54+
"Videos",
55+
"Audios",
56+
"Texts",
57+
"Animations",
58+
]
59+
)
60+
assert set(os.listdir("Others")) == set(["what"])
61+
assert set(os.listdir("Animations")) == set(["e.gif"])
62+
assert set(os.listdir("Audios")) == set(["b.mp3"])
63+
64+
65+
if __name__ == "__main__":
66+
test_dirganize()

0 commit comments

Comments
 (0)