X-Git-Url: https://git.toastfreeware.priv.at/philipp/winterrodeln/wrfeed.git/blobdiff_plain/ee5d9f6c7881cc0cc6fcaea6acf20676b08f20a5..f85d5d130f8522bc8d37749a1bc43cad4968d618:/tests/test_wrfeed.py diff --git a/tests/test_wrfeed.py b/tests/test_wrfeed.py index 463afa1..873ec43 100644 --- a/tests/test_wrfeed.py +++ b/tests/test_wrfeed.py @@ -32,18 +32,19 @@ class TestDbWrfeed(WrfeedTestBase): # connect to database self.engine = sqlalchemy.create_engine(uri) + con = self.engine.connect() # fill database with open('tests/testdb.sql', 'r') as f: sql = f.read() - self.engine.execute(sql) + con.execute(sql) # update dates - con = self.engine.connect() seconds_diff, = con.execute("SELECT TIMESTAMPDIFF(SECOND, '2017-03-31 07:00', now())").fetchone() seconds_diff = int(seconds_diff) - con.execute("UPDATE wrreport SET date_report = DATE(date_report + INTERVAL %s SECOND)", (seconds_diff,)) - con.execute("UPDATE wrreport SET time_report = TIME(time_report + INTERVAL %s SECOND)", (seconds_diff,)) + con.execute("UPDATE wrreport SET date_report = DATE(date_report + INTERVAL %s SECOND) WHERE time_report IS NULL", (seconds_diff,)) + con.execute("UPDATE wrreport SET date_report = DATE(TIMESTAMP(date_report, time_report) + INTERVAL %s SECOND) WHERE time_report IS NOT NULL", (seconds_diff,)) + con.execute("UPDATE wrreport SET time_report = TIME(TIMESTAMP(date_report, time_report) + INTERVAL %s SECOND) WHERE time_report IS NOT NULL", (seconds_diff,)) con.execute("UPDATE wrreport SET date_entry = date_entry + INTERVAL %s SECOND", (seconds_diff,)) con.execute("UPDATE wrreport SET date_invalid = date_invalid + INTERVAL %s SECOND", (seconds_diff,)) con.execute("UPDATE wrreport SET delete_date = delete_date + INTERVAL %s SECOND", (seconds_diff,)) @@ -59,3 +60,51 @@ class TestDbWrfeed(WrfeedTestBase): root = et.fromstring(result.data) self.assertIn('Rodelbahnberichte', root.find('{http://www.w3.org/2005/Atom}title').text) self.assertEqual(len(root.findall('{http://www.w3.org/2005/Atom}entry')), 7) + + def test_bahn(self): + bahn_count = { + 'haunold': 1, + 'pleisenhütte_axamer_lizum': 2, + 'prantner_alm': 0, + 'birgitzer_alm_(vom_adelshof)': 1, + } + for bahn, count in bahn_count.items(): + with self.subTest(bahn=bahn): + result = self.app.get('/berichte/bahn/{}'.format(bahn)) + self.assertTrue(result.data.startswith(b'