Skip to content

Commit f04ae7f

Browse files
committed
add tests for backup tutorial
1 parent 7bb6ff7 commit f04ae7f

File tree

2 files changed

+120
-1
lines changed

2 files changed

+120
-1
lines changed
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
import os
2+
3+
from django.test import SimpleTestCase
4+
from pathlib import Path
5+
from django_typer.tests.utils import run_command
6+
import shutil
7+
8+
9+
BACKUP_DIRECTORY = Path(__file__).parent / "_test_archive"
10+
11+
12+
class TestBackupExample(SimpleTestCase):
13+
databases = {"default"}
14+
15+
def setUp(self):
16+
if BACKUP_DIRECTORY.exists():
17+
shutil.rmtree(BACKUP_DIRECTORY)
18+
super().setUp()
19+
20+
def tearDown(self) -> None:
21+
if BACKUP_DIRECTORY.exists():
22+
shutil.rmtree(BACKUP_DIRECTORY)
23+
return super().tearDown()
24+
25+
def test_base_backup(self):
26+
lines = (
27+
run_command(
28+
"backup", "--settings", "django_typer.tests.settings.backup", "list"
29+
)[0]
30+
.strip()
31+
.splitlines()[1:]
32+
)
33+
self.assertEqual(len(lines), 1)
34+
self.assertEqual(
35+
lines[0].strip(),
36+
"database(filename={database}.json, databases=['default'])",
37+
)
38+
39+
self.assertEqual(
40+
run_command(
41+
"backup",
42+
"--settings",
43+
"django_typer.tests.settings.backup",
44+
"-o",
45+
str(BACKUP_DIRECTORY),
46+
)[-1],
47+
0,
48+
)
49+
50+
self.assertTrue(BACKUP_DIRECTORY.exists())
51+
self.assertTrue((BACKUP_DIRECTORY / "default.json").exists())
52+
self.assertTrue(len(os.listdir(BACKUP_DIRECTORY)) == 1)
53+
54+
def test_inherit_backup(self):
55+
lines = [
56+
line.strip()
57+
for line in run_command(
58+
"backup",
59+
"--settings",
60+
"django_typer.tests.settings.backup_inherit",
61+
"list",
62+
)[0]
63+
.strip()
64+
.splitlines()[1:]
65+
]
66+
self.assertEqual(len(lines), 2)
67+
self.assertTrue(
68+
"database(filename={database}.json, databases=['default'])" in lines
69+
)
70+
self.assertTrue("media(filename=media.tar.gz)" in lines)
71+
72+
self.assertEqual(
73+
run_command(
74+
"backup",
75+
"--settings",
76+
"django_typer.tests.settings.backup_inherit",
77+
"-o",
78+
str(BACKUP_DIRECTORY),
79+
)[-1],
80+
0,
81+
)
82+
83+
self.assertTrue(BACKUP_DIRECTORY.exists())
84+
self.assertTrue((BACKUP_DIRECTORY / "default.json").exists())
85+
self.assertTrue((BACKUP_DIRECTORY / "media.tar.gz").exists())
86+
self.assertTrue(len(os.listdir(BACKUP_DIRECTORY)) == 2)
87+
88+
def test_extend_backup(self):
89+
lines = [
90+
line.strip()
91+
for line in run_command(
92+
"backup", "--settings", "django_typer.tests.settings.backup_ext", "list"
93+
)[0]
94+
.strip()
95+
.splitlines()[1:]
96+
]
97+
self.assertEqual(len(lines), 3)
98+
self.assertTrue(
99+
"database(filename={database}.json, databases=['default'])" in lines
100+
)
101+
self.assertTrue("environment(filename=requirements.txt)" in lines)
102+
self.assertTrue("media(filename=media.tar.gz)" in lines)
103+
104+
self.assertEqual(
105+
run_command(
106+
"backup",
107+
"--settings",
108+
"django_typer.tests.settings.backup_ext",
109+
"-o",
110+
str(BACKUP_DIRECTORY),
111+
)[-1],
112+
0,
113+
)
114+
115+
self.assertTrue(BACKUP_DIRECTORY.exists())
116+
self.assertTrue((BACKUP_DIRECTORY / "default.json").exists())
117+
self.assertTrue((BACKUP_DIRECTORY / "media.tar.gz").exists())
118+
self.assertTrue((BACKUP_DIRECTORY / "requirements.txt").exists())
119+
self.assertTrue(len(os.listdir(BACKUP_DIRECTORY)) == 3)

django_typer/tests/test_poll_example.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class TestPollExample(SimpleTestCase):
2323
q2 = None
2424
q3 = None
2525

26-
databases = ["default"]
26+
databases = {"default"}
2727

2828
def setUp(self):
2929
self.q1 = Question.objects.create(

0 commit comments

Comments
 (0)