summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/18-database/output/sqlite3/scripts/data/allAuthors.sql7
-rw-r--r--examples/18-database/output/sqlite3/test.py27
-rw-r--r--examples/18-database/src/data.hob6
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