1 """How to test wradmin:
3 WRADMIN_SETTINGS=../wradmin/test.cfg python3 -m unittest tests.test_wradmin
6 import bs4 # beautiful soup
10 class WradminTestBase(unittest.TestCase):
12 wradmin.app.config['TESTING'] = True
13 self.app = wradmin.app.test_client()
16 class TestNoDbWradmin(WradminTestBase):
18 result = self.app.get('/')
19 self.assertEqual(result.status_code, 200)
20 self.assertTrue(result.data.startswith(b'<!DOCTYPE html'))
21 soup = bs4.BeautifulSoup(result.data, 'html.parser')
22 self.assertEqual(soup.title.text, 'Hauptmenü')
24 def test_coordtool(self):
25 result = self.app.get('/coordtool/index')
26 self.assertEqual(result.status_code, 200)
27 self.assertTrue(result.data.startswith(b'<!DOCTYPE html'))
28 soup = bs4.BeautifulSoup(result.data, 'html.parser')
29 self.assertEqual(soup.title.text, 'Koordinaten-Rechner')
32 class TestDbWradmin(WradminTestBase):
35 with wradmin.app.app_context():
37 with open('tests/testdb.sql', 'r') as f:
39 with wradmin.model.meta.engine.begin() as con:
43 seconds_diff, = con.execute("SELECT TIMESTAMPDIFF(SECOND, '2017-03-31 07:00', now())").fetchone()
44 seconds_diff = int(seconds_diff)
45 con.execute("UPDATE wrreport SET date_report = DATE(date_report + INTERVAL %s SECOND) WHERE time_report IS NULL", (seconds_diff,))
46 con.execute("UPDATE wrreport SET date_report = DATE(TIMESTAMP(date_report, time_report) + INTERVAL %s SECOND) WHERE time_report IS NOT NULL", (seconds_diff,))
47 con.execute("UPDATE wrreport SET time_report = TIME(TIMESTAMP(date_report, time_report) + INTERVAL %s SECOND) WHERE time_report IS NOT NULL", (seconds_diff,))
48 con.execute("UPDATE wrreport SET date_entry = date_entry + INTERVAL %s SECOND", (seconds_diff,))
49 con.execute("UPDATE wrreport SET date_invalid = date_invalid + INTERVAL %s SECOND", (seconds_diff,))
50 con.execute("UPDATE wrreport SET delete_date = delete_date + INTERVAL %s SECOND", (seconds_diff,))
52 def test_bericht_list(self):
53 result = self.app.get('/bericht/list')
54 self.assertEqual(result.status_code, 200)
55 self.assertTrue(result.data.startswith(b'<!DOCTYPE html'))
56 soup = bs4.BeautifulSoup(result.data, 'html.parser')
57 self.assertEqual(soup.title.text, 'Rodelbahnberichte')