# -*- coding: utf-8 -*-
"""Test database access."""
-from os import remove
+from os import path, remove
from sqlite3 import connect
from unittest import TestCase
+from cbconf import Conf
from cbdb import Db
TESTDB_FILENAME = ".tmptest.db"
-def create_test_db():
- con = connect(TESTDB_FILENAME)
+def create_test_db(fn):
+ con = connect(fn)
cur = con.cursor()
cur.executescript("""
pragma foreign_keys = ON;
;
""")
cur.executescript("""
-INSERT INTO "users" VALUES('1111','tester');
-INSERT INTO "coffees" VALUES(1,'1111','espresso lungo','2019-03-20 11:22:43');
-INSERT INTO "coffees" VALUES(2,'1111','Club-Mate 0,5 l','2019-03-20 11:22:43');
-INSERT INTO "coffees" VALUES(3,'1111','Club-Mate 0,33 l','2019-03-20 11:22:43');
-INSERT INTO "coffees" VALUES(4,'1111','espresso lungo','2019-03-20 11:22:44');
-INSERT INTO "coffees" VALUES(5,'1111','Club-Mate 0,5 l','2019-03-20 11:22:44');
-INSERT INTO "coffees" VALUES(6,'1111','Club-Mate 0,33 l','2019-03-20 11:22:44');
-INSERT INTO "coffees" VALUES(7,'1111','espresso lungo','2019-03-20 11:22:45');
-INSERT INTO "coffees" VALUES(8,'1111','Club-Mate 0,5 l','2019-03-20 11:22:45');
-INSERT INTO "coffees" VALUES(9,'1111','Club-Mate 0,33 l','2019-03-20 11:22:45');
-INSERT INTO "coffees" VALUES(10,'1111','espresso lungo','2019-03-20 11:22:46');
-INSERT INTO "coffees" VALUES(11,'1111','Club-Mate 0,5 l','2019-03-20 11:22:46');
-INSERT INTO "coffees" VALUES(12,'1111','Club-Mate 0,33 l','2019-03-20 11:22:46');
+INSERT INTO users VALUES('1111','tester');
+INSERT INTO users VALUES('2222','newer');
+INSERT INTO coffees (id, flavor, time) VALUES
+('1111', 'espresso lungo', datetime('now', 'localtime', '-99 seconds')),
+('1111', 'Club-Mate 0,5 l', datetime('now', 'localtime', '-99 seconds')),
+('1111', 'Club-Mate 0,33 l', datetime('now', 'localtime', '-99 seconds')),
+('1111', 'espresso lungo', datetime('now', 'localtime', '-95 second')),
+('1111', 'Club-Mate 0,5 l', datetime('now', 'localtime', '-95 second')),
+('1111', 'Club-Mate 0,33 l', datetime('now', 'localtime', '-95 second')),
+('1111', 'espresso lungo', datetime('now', 'localtime', '-90 second')),
+('1111', 'Club-Mate 0,5 l', datetime('now', 'localtime', '-90 second')),
+('1111', 'Club-Mate 0,33 l', datetime('now', 'localtime', '-90 second')),
+('1111', 'espresso lungo', datetime('now', 'localtime', '-85 second')),
+('1111', 'Club-Mate 0,5 l', datetime('now', 'localtime', '-85 second')),
+('1111', 'Club-Mate 0,33 l', datetime('now', 'localtime', '-85 second')),
+('2222', 'espresso lungo', datetime('now', 'localtime', '-99 seconds')),
+('2222', 'Club-Mate 0,5 l', datetime('now', 'localtime', '-99 seconds')),
+('2222', 'Club-Mate 0,33 l', datetime('now', 'localtime', '-99 seconds')),
+('2222', 'espresso lungo', datetime('now', 'localtime', '-95 second')),
+('2222', 'Club-Mate 0,5 l', datetime('now', 'localtime', '-95 second')),
+('2222', 'Club-Mate 0,33 l', datetime('now', 'localtime', '-95 second'));
""")
con.close()
-def delete_test_db():
- remove(TESTDB_FILENAME)
+def delete_test_db(fn):
+ remove(fn)
-class CoffeesTable(TestCase):
+class CoffeeDb(TestCase):
def test_db_exists(self):
+ cfg = Conf()
+ self.assertTrue(path.isfile(cfg.getCoffeeDbPath()))
db = Db()
self.assertIsNotNone(db.con)
self.assertIsNotNone(db.cur)
def test_test_db_exists(self):
- create_test_db()
+ create_test_db(TESTDB_FILENAME)
try:
db = Db(TESTDB_FILENAME)
self.assertIsNotNone(db.con)
self.assertIsNotNone(db.cur)
finally:
- delete_test_db()
+ delete_test_db(TESTDB_FILENAME)