]> rtime.felk.cvut.cz Git - hubacji1/coffee-getter.git/commitdiff
Merge branch 'feature/refactor'
authorJiri Vlasak <hubacji1@fel.cvut.cz>
Wed, 20 Mar 2019 12:16:41 +0000 (13:16 +0100)
committerJiri Vlasak <hubacji1@fel.cvut.cz>
Wed, 20 Mar 2019 12:16:41 +0000 (13:16 +0100)
README.md
ut/test_db.py

index 12e4c57a10111bd84e806143f3c75b66c1929252..cefdf92433c642cb56cdfc40d5010b56218760c2 100644 (file)
--- a/README.md
+++ b/README.md
@@ -22,31 +22,13 @@ python3 -m unittest discover ut/
 See [unittest][5] for start.
 
 ## Database
-By default, sqlite3 `coffee.db` file is needed. Please, see [coffee_db.sql][6]
-for the database format. You may create testing copy of database by:
+By default, sqlite3 `coffee.db` file is needed. You may create testing copy of
+database by:
 ```
-wget http://rtime.felk.cvut.cz/gitweb/coffee/coffee-flask.git/blob_plain/refs/heads/master:/coffee_db.sql
-sqlite3 coffee.db < coffee_db.sql
-```
-
-Then add some testing data by:
-```
-sqlite3 coffee.db "INSERT INTO "users" VALUES('1111','tester')"
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'espresso lungo')"
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'Club-Mate 0,5 l')"
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'Club-Mate 0,33 l')"
-sleep 1
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'espresso lungo')"
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'Club-Mate 0,5 l')"
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'Club-Mate 0,33 l')"
-sleep 1
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'espresso lungo')"
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'Club-Mate 0,5 l')"
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'Club-Mate 0,33 l')"
-sleep 1
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'espresso lungo')"
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'Club-Mate 0,5 l')"
-sqlite3 coffee.db "insert into coffees (id, flavor) values ('1111', 'Club-Mate 0,33 l')"
+python3 -c '
+from ut.test_db import create_test_db
+create_test_db("coffee.db")
+'
 ```
 
 Database is needed to pass the tests.
@@ -59,4 +41,3 @@ This project is developed under [GNU GPLv3 license][4].
 [3]: http://endoflineblog.com/oneflow-a-git-branching-model-and-workflow
 [4]: ./LICENSE
 [5]: https://docs.python.org/3.5/library/unittest.html
-[6]: http://rtime.felk.cvut.cz/gitweb/coffee/coffee-flask.git/blob/refs/heads/master:/coffee_db.sql
index 913af2a84951bd8a0769bff8ffc7a5c5ac132465..c49396c433e679e6c1f7507a019e4cb1cb059c6e 100644 (file)
@@ -1,14 +1,15 @@
 # -*- 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;
@@ -50,36 +51,38 @@ insert or ignore into days values
 ;
     """)
     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 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');
     """)
     con.close()
 
-def delete_test_db():
-    remove(TESTDB_FILENAME)
+def delete_test_db(fn):
+    remove(fn)
 
 class CoffeesTable(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)