-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmanual_tests.py
103 lines (86 loc) · 2.72 KB
/
manual_tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# pylint: skip-file
import os
from py_backup import folder_backup
from py_backup.syncers import Robocopy, Rsync
from py_backup.comparer import DirComparator, FileType, FileStatus
from tests.test_comparer import TestDirComparator
from tests.global_test_vars import SOURCE, DESTINATION
def test_folder_backup():
folder_backup(
"tests/source",
"tests/destination",
delete=True,
dry_run=False,
)
def test_Rsync():
syncer = Rsync(
"tests/source",
"tests/destination",
)
backup_dir = "tests/backup_dir"
opts = ["-aivh"]
kwargs = {"text": True, "capture_output": True}
output = syncer.sync(
delete=True,
dry_run=False,
backup=backup_dir,
options=opts,
subprocess_kwargs=kwargs,
)
print(output.stdout)
def test_Robocopy():
syncer = Robocopy(
"tests/source",
"tests/destination",
)
backup_dir = "tests/backup_dir"
opts = ["-aivh"]
kwargs = {"text": True, "capture_output": True}
output = syncer.sync(
delete=True,
dry_run=False,
backup=backup_dir,
options=opts,
subprocess_kwargs=kwargs,
)
print(output.stdout)
def test_config():
print(Rsync._default_sync_options)
print(Robocopy._default_sync_options)
def test_dir_comparator():
comparator = DirComparator(DESTINATION, SOURCE, dir1_name="dst", dir2_name="src")
comparator.compare_directories(follow_symlinks=False)
print(comparator.dir_comparison)
print("\nBefore expand_dirs:".upper())
print(comparator.get_comparison_result())
comparator.expand_dirs()
print("After expand dirs:".upper())
print(comparator.get_comparison_result())
# Using dir1 or dst (which were used when createing comparator has the same effect)
entries = comparator.get_entries(
entry_types=[FileType.FILE, FileType.DIR],
target_statuses=[FileStatus.UNIQUE, FileStatus.MISMATCHED],
)
entries1 = comparator.get_entries(
["dst", "mutual"], [FileType.FILE], [FileStatus.UNIQUE, FileStatus.CHANGED]
)
entries2 = comparator.get_entries(
["dir1", "mutual"], [FileType.FILE], [FileStatus.UNIQUE, FileStatus.CHANGED]
)
assert entries1 == entries2
print("[")
for entry in entries:
print(f" {entry},")
print("]")
def test_dir_comparison2():
TestDirComparator().test_compare_directories()
def test_dir_comparison_excludes():
TestDirComparator().test_compare_with_simple_excludes()
if __name__ == "__main__":
TestDirComparator().test_compare_directories_bilat()
# test_dir_comparison_excludes()
# test_dir_comparison2()
# test_dir_comparator()
# test_Robocopy()
# test_Rsync()
# test_config()