Now using explicit test database philipp_winterrodeln_wrpylib_wrpylib_test in test_wr...
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Mon, 25 Dec 2017 21:17:44 +0000 (21:17 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Mon, 25 Dec 2017 21:17:44 +0000 (21:17 +0000)
git-svn-id: http://www.winterrodeln.org/svn/wrpylib/trunk@2751 7aebc617-e5e2-0310-91dc-80fb5f6d2477

tests/test_wrmwdb.py

index 5ff54ef1efd6c619b4fc8b909d8f0e62d0340363..0c6949d5a125e3f50a21e350f07af425660abda3 100644 (file)
@@ -1,4 +1,5 @@
 #!/usr/bin/python3.4
 #!/usr/bin/python3.4
+import os
 import unittest
 import sqlalchemy
 from sqlalchemy.engine import create_engine
 import unittest
 import sqlalchemy
 from sqlalchemy.engine import create_engine
@@ -6,10 +7,39 @@ from sqlalchemy.orm import sessionmaker
 import wrpylib.wrmwdb
 
 
 import wrpylib.wrmwdb
 
 
+TEST_DB = 'mysql://philipp@localhost:3306/philipp_winterrodeln_wrpylib_wrpylib_test?charset=utf8&use_unicode=1'
+
+
+def setup_test_database():
+    engine = create_engine(TEST_DB)
+    testdb = os.path.join(os.path.dirname(__file__), 'testdb.sql')
+    with open(testdb, 'r') as f:
+        sql = f.read()
+    with engine.begin() as con:
+        con.execute(sql)
+
+        # update dates
+        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,))
+        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,))
+    return engine
+
+
 class TestWrMwDb(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
 class TestWrMwDb(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
-        cls.engine = create_engine('mysql://philipp@localhost:3306/philipp_winterrodeln_wiki?charset=utf8&use_unicode=1')
+        cls.engine = setup_test_database()
         cls.Session = sessionmaker(bind=cls.engine)
 
     def setUp(self):
         cls.Session = sessionmaker(bind=cls.engine)
 
     def setUp(self):
@@ -21,35 +51,36 @@ class TestWrMwDb(unittest.TestCase):
 
     def test_wrreport_table(self):
         WrReport = wrpylib.wrmwdb.wrreport_table(self.metadata)
 
     def test_wrreport_table(self):
         WrReport = wrpylib.wrmwdb.wrreport_table(self.metadata)
-        wrreport = self.session.query(WrReport).filter(WrReport.c.id==130).first()
-        self.assertEqual(wrreport.id, 130)
-        self.assertEqual(wrreport.page_title, 'Simmeringalm')
+        wrreport = self.session.query(WrReport).filter(WrReport.c.id==19590).first()
+        self.assertEqual(wrreport.id, 19590)
+        self.assertEqual('Pleisenhütte Axamer Lizum', wrreport.page_title)
 
     def test_wrsledruncache_table(self):
         WrSledrunCache = wrpylib.wrmwdb.wrsledruncache_table(self.metadata)
 
     def test_wrsledruncache_table(self):
         WrSledrunCache = wrpylib.wrmwdb.wrsledruncache_table(self.metadata)
-        wrsledruncache = self.session.query(WrSledrunCache).filter(WrSledrunCache.c.page_id==226).first()
-        self.assertEqual(wrsledruncache.page_id, 226)
-        self.assertEqual(wrsledruncache.page_title, 'Axamer_Lizum')
+        wrsledruncache = self.session.query(WrSledrunCache).filter(WrSledrunCache.c.page_id==926).first()
+        self.assertEqual(926, wrsledruncache.page_id)
+        self.assertEqual('Hühnerspiel', wrsledruncache.page_title)
 
     def test_wrinncache_table(self):
         WrInnCache = wrpylib.wrmwdb.wrinncache_table(self.metadata)
 
     def test_wrinncache_table(self):
         WrInnCache = wrpylib.wrmwdb.wrinncache_table(self.metadata)
-        wrinncache = self.session.query(WrInnCache).filter(WrInnCache.c.page_id==324).first()
-        self.assertEqual(wrinncache.page_id, 324)
-        self.assertEqual(wrinncache.page_title, 'Alpengasthaus_Gleinserhof')
+        wrinncache = self.session.query(WrInnCache).filter(WrInnCache.c.page_id==362).first()
+        self.assertEqual(362, wrinncache.page_id)
+        self.assertEqual('Meißner_Haus_(Gasthaus)', wrinncache.page_title)
 
     def test_wrreportcache_table(self):
         WrReportCache = wrpylib.wrmwdb.wrreportcache_table(self.metadata)
         wrreport = self.session.query(WrReportCache).filter(WrReportCache.c.page_id==226).first()
 
     def test_wrreportcache_table(self):
         WrReportCache = wrpylib.wrmwdb.wrreportcache_table(self.metadata)
         wrreport = self.session.query(WrReportCache).filter(WrReportCache.c.page_id==226).first()
-        self.assertEqual(wrreport.page_title, 'Axamer Lizum')
+        self.assertEqual(226, wrreport.page_id)
+        self.assertEqual('Axamer Lizum', wrreport.page_title)
 
     def test_wrregion_table(self):
         WrRegion = wrpylib.wrmwdb.wrregion_table(self.metadata)
         wrregion = self.session.query(WrRegion).filter(WrRegion.c.id==18).first()
 
     def test_wrregion_table(self):
         WrRegion = wrpylib.wrmwdb.wrregion_table(self.metadata)
         wrregion = self.session.query(WrRegion).filter(WrRegion.c.id==18).first()
-        self.assertEqual(wrregion.id, 18)
-        self.assertEqual(wrregion.name, 'Salzburg')
+        self.assertEqual(18, wrregion.id)
+        self.assertEqual('Salzburg', wrregion.name)
 
     def test_wrregioncache_table(self):
         WrRegionCache = wrpylib.wrmwdb.wrregioncache_table(self.metadata)
 
     def test_wrregioncache_table(self):
         WrRegionCache = wrpylib.wrmwdb.wrregioncache_table(self.metadata)
-        wrregioncache = self.session.query(WrRegionCache).filter((WrRegionCache.c.region_id==27) & (WrRegionCache.c.page_id==54)).first()
-        self.assertEqual(wrregioncache.region_id, 27)
-        self.assertEqual(wrregioncache.page_id, 54)
+        wrregioncache = self.session.query(WrRegionCache).filter((WrRegionCache.c.region_id==27) & (WrRegionCache.c.page_id==5)).first()
+        self.assertEqual(27, wrregioncache.region_id)
+        self.assertEqual(5, wrregioncache.page_id)