diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/18-database/output/sqlite3/scripts/data/allAuthors.sql | 7 | ||||
| -rw-r--r-- | examples/18-database/output/sqlite3/test.py | 27 | ||||
| -rw-r--r-- | examples/18-database/src/data.hob | 6 |
3 files changed, 34 insertions, 6 deletions
diff --git a/examples/18-database/output/sqlite3/scripts/data/allAuthors.sql b/examples/18-database/output/sqlite3/scripts/data/allAuthors.sql new file mode 100644 index 0000000..07aed9a --- /dev/null +++ b/examples/18-database/output/sqlite3/scripts/data/allAuthors.sql @@ -0,0 +1,7 @@ +-- Generated by hobgoblin. + +SELECT + id AS id, + name AS name +FROM authors +ORDER BY id; diff --git a/examples/18-database/output/sqlite3/test.py b/examples/18-database/output/sqlite3/test.py index 885212b..b3c76c3 100644 --- a/examples/18-database/output/sqlite3/test.py +++ b/examples/18-database/output/sqlite3/test.py @@ -5,9 +5,7 @@ import unittest class DataTestCase(unittest.TestCase): def test_create(self): - sql_script_path = os.path.join(os.path.dirname(__file__), "scripts/data/Data.sql") - with open(sql_script_path, "rt", encoding="utf-8") as sql_script_file: - sql_script = sql_script_file.read() + sql_script = self._read_script("Data") connection = sqlite3.connect(":memory:", autocommit=False) cursor = connection.cursor() @@ -22,3 +20,26 @@ class DataTestCase(unittest.TestCase): rows = cursor.fetchall() self.assertEqual(rows, [(2, "Bob"), (3, "Carol")]) + + def test_query_all_authors(self): + create_script = self._read_script("Data") + + connection = sqlite3.connect(":memory:", autocommit=False) + cursor = connection.cursor() + cursor.executescript(create_script) + connection.commit() + + cursor.execute("INSERT INTO authors VALUES (1, 'Alice')") + cursor.execute("INSERT INTO authors VALUES (2, 'Bob')") + cursor.execute("INSERT INTO authors VALUES (3, 'Carol')") + + select_query = self._read_script("allAuthors") + cursor.execute(select_query) + rows = cursor.fetchall() + + self.assertEqual(rows, [(1, "Alice"), (2, "Bob"), (3, "Carol")]) + + def _read_script(self, name): + sql_script_path = os.path.join(os.path.dirname(__file__), "scripts/data", name + ".sql") + with open(sql_script_path, "rt", encoding="utf-8") as sql_script_file: + return sql_script_file.read() diff --git a/examples/18-database/src/data.hob b/examples/18-database/src/data.hob index c6a16a7..1ef2ece 100644 --- a/examples/18-database/src/data.hob +++ b/examples/18-database/src/data.hob @@ -10,9 +10,9 @@ databaseSchema Data { } } -//query allAuthors() on Data { -// return Data.authors; -//} +query allAuthors() { + return Data.authors; +} //query authorsByName(name: String) on Data { // return Data.authors |
