-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtests.py
140 lines (117 loc) · 5.94 KB
/
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
from django.test import SimpleTestCase
from AndroidRequestsBackups import jobs
from django.conf import settings
import subprocess
import os
import unittest
@unittest.skipIf(os.geteuid() != 0, "SKIP: This tests requires to the run as root")
class AndroidRequestsBackupsTest(SimpleTestCase):
def setUp(self):
self.app_path = settings.BASE_DIR + "/AndroidRequestsBackups/"
def tearDown(self):
pass
def test_1_dependencies(self):
command = "bash " + self.app_path + "test/test_dependencies.bash"
self.assertEqual(0, subprocess.call(command, shell=True))
def test_2_settings(self):
# dependencies settings
self.assertTrue(hasattr(settings, 'CRONTAB_LOCK_JOBS'))
self.assertTrue(hasattr(settings, 'CRONTAB_COMMAND_SUFFIX'))
self.assertTrue(settings.CRONTAB_LOCK_JOBS)
self.assertEqual(settings.CRONTAB_COMMAND_SUFFIX, "2>&1")
# this app settings
self.assertTrue(isinstance(int(settings.ANDROID_REQUESTS_BACKUPS['TIME']), int))
self.assertTrue(os.path.isabs(settings.ANDROID_REQUESTS_BACKUPS['REMOTE_BKP_FLDR']))
if hasattr(settings, 'ANDROID_REQUESTS_BACKUPS') and 'TMP_BKP_FLDR' in settings.ANDROID_REQUESTS_BACKUPS:
self.assertTrue(os.path.isabs(settings.ANDROID_REQUESTS_BACKUPS['TMP_BKP_FLDR']))
if hasattr(settings, 'ANDROID_REQUESTS_BACKUPS') and 'PRIVATE_KEY' in settings.ANDROID_REQUESTS_BACKUPS:
self.assertTrue(os.path.isabs(settings.ANDROID_REQUESTS_BACKUPS['PRIVATE_KEY']))
if hasattr(settings, 'ANDROID_REQUESTS_BACKUPS') and 'BKPS_LIFETIME' in settings.ANDROID_REQUESTS_BACKUPS:
self.assertTrue(isinstance(int(settings.ANDROID_REQUESTS_BACKUPS['BKPS_LIFETIME']), int))
if hasattr(settings, 'ANDROID_REQUESTS_BACKUPS') and 'TEST_USER_HOME' in settings.ANDROID_REQUESTS_BACKUPS:
self.assertTrue(os.path.isabs(settings.ANDROID_REQUESTS_BACKUPS['TEST_USER_HOME']))
# how to test this?
# ANDROID_REQUESTS_BACKUPS['REMOTE_HOST'] = "104.236.183.105"
# and this?
# ANDROID_REQUESTS_BACKUPS['REMOTE_USER'] = "transapp"
# and also this?
# DATABASE_NAME = "@as1^^&!invalid>>dfghjkl"
# how to test this?
# ANDROID_REQUESTS_BACKUPS['TEST_USER'] = "server"
def test_4_complete_dump(self):
# assert params
test_settings = settings.ANDROID_REQUESTS_BACKUPS
if (
'REMOTE_USER' not in test_settings or
'REMOTE_HOST' not in test_settings or
'REMOTE_BKP_FLDR' not in test_settings or
'PRIVATE_KEY' not in test_settings or
'TMP_BKP_FLDR' not in test_settings or
'TIME' not in test_settings
):
# return if missing parameters
return
self.assertTrue('TEST_USER' in settings.ANDROID_REQUESTS_BACKUPS)
self.assertTrue('TEST_USER_HOME' in settings.ANDROID_REQUESTS_BACKUPS)
# real test
test_settings['REMOTE_HOST'] = 'localhost'
test_settings['TMP_BKP_FLDR'] = settings.ANDROID_REQUESTS_BACKUPS['TMP_BKP_FLDR'] + "_test"
test_settings['REMOTE_BKP_FLDR'] = settings.ANDROID_REQUESTS_BACKUPS['TEST_USER_HOME'] + "/bkps/test"
test_settings['REMOTE_USER'] = settings.ANDROID_REQUESTS_BACKUPS['TEST_USER']
with self.settings(ANDROID_REQUESTS_BACKUPS=test_settings):
ret_val = jobs.complete_dump()
self.assertEqual(0, ret_val)
def test_5_partial_dump(self):
# assert params
test_settings = settings.ANDROID_REQUESTS_BACKUPS
if (
'REMOTE_USER' not in test_settings or
'REMOTE_HOST' not in test_settings or
'REMOTE_BKP_FLDR' not in test_settings or
'PRIVATE_KEY' not in test_settings or
'TMP_BKP_FLDR' not in test_settings or
'TIME' not in test_settings
):
# return if missing parameters
return
self.assertTrue('TEST_USER' in settings.ANDROID_REQUESTS_BACKUPS)
self.assertTrue('TEST_USER_HOME' in settings.ANDROID_REQUESTS_BACKUPS)
# real test
test_settings['REMOTE_HOST'] = 'localhost'
test_settings['TMP_BKP_FLDR'] = settings.ANDROID_REQUESTS_BACKUPS['TMP_BKP_FLDR'] + "_test"
test_settings['REMOTE_BKP_FLDR'] = settings.ANDROID_REQUESTS_BACKUPS['TEST_USER_HOME'] + "/bkps/test"
test_settings['REMOTE_USER'] = settings.ANDROID_REQUESTS_BACKUPS['TEST_USER']
with self.settings(ANDROID_REQUESTS_BACKUPS=test_settings):
ret_val = jobs.partial_dump()
self.assertEqual(0, ret_val)
def test_6_complete_loaddata(self):
# assert params
test_settings = settings.ANDROID_REQUESTS_BACKUPS
if (
'REMOTE_BKP_FLDR' not in test_settings or
'BKPS_LIFETIME' not in test_settings or
'TIME' not in test_settings
):
# return if missing parameters
return
self.assertTrue('TEST_USER_HOME' in settings.ANDROID_REQUESTS_BACKUPS)
# real test
test_settings['REMOTE_BKP_FLDR'] = settings.ANDROID_REQUESTS_BACKUPS['TEST_USER_HOME'] + "/bkps/test"
with self.settings(ANDROID_REQUESTS_BACKUPS=test_settings):
ret_val = jobs.complete_loaddata()
self.assertEqual(0, ret_val)
def test_7_partial_loaddata(self):
test_settings = settings.ANDROID_REQUESTS_BACKUPS
if (
'REMOTE_BKP_FLDR' not in test_settings or
'BKPS_LIFETIME' not in test_settings or
'TIME' not in test_settings
):
# return if missing parameters
return
self.assertTrue('TEST_USER_HOME' in settings.ANDROID_REQUESTS_BACKUPS)
# real test
test_settings['REMOTE_BKP_FLDR'] = settings.ANDROID_REQUESTS_BACKUPS['TEST_USER_HOME'] + "/bkps/test"
with self.settings(ANDROID_REQUESTS_BACKUPS=test_settings):
ret_val = jobs.partial_loaddata()
self.assertEqual(0, ret_val)