# 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) WHERE time_report IS NULL", (seconds_diff,))
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')), count, '"{}" not found {} times'.format(bahn, count))
+
+ def test_region(self):
+ region_count = {
+ 'tirol': 6,
+ 'schweiz': 1,
+ 'innsbruck': 3,
+ }
+ for region, count in region_count.items():
+ result = self.app.get('/berichte/region/{}'.format(region))
+ self.assertTrue(result.data.startswith(b'<?xml'))
+ 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')), count, '"{}" not found {} times'.format(region, count))