[tor-commits] [gettor/master] Add tests for database functions
cohosh at torproject.org
cohosh at torproject.org
Thu Feb 13 20:01:09 UTC 2020
commit 3d6fb34e712f97d646b7502e62f6b6aba8a5382c
Author: Cecylia Bocovich <cohosh at torproject.org>
Date: Mon Feb 10 09:52:48 2020 -0500
Add tests for database functions
---
tests/test_db.py | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
diff --git a/tests/test_db.py b/tests/test_db.py
new file mode 100644
index 0000000..d663d89
--- /dev/null
+++ b/tests/test_db.py
@@ -0,0 +1,67 @@
+#!/usr/bin/env python3
+import pytest
+from datetime import datetime
+from twisted.trial import unittest
+
+from . import conftests
+
+class DatabaseTests(unittest.TestCase):
+
+ # Fail any tests which take longer than 15 seconds.
+ timeout = 15
+ def setUp(self):
+ self.settings = conftests.options.parse_settings("en","tests/test.conf.json")
+ print(self.settings.get("dbname"))
+ self.db = conftests.SQLite3(self.settings.get("dbname"))
+
+ def tearDown(self):
+ print("tearDown()")
+
+ def add_dummy_requests(self, num):
+ now_str = datetime.now().strftime("%Y%m%d")
+ for i in (0, num):
+ self.db.new_request(
+ id='testid',
+ command='links',
+ platform='linux',
+ language='en',
+ service='email',
+ date=now_str,
+ status="ONHOLD",
+ )
+
+ def test_stored_locales(self):
+ locales = self.db.get_locales()
+ self.assertIn('en-US', locales)
+
+ def test_requests(self):
+ now_str = datetime.now().strftime("%Y%m%d")
+ self.add_dummy_requests(2)
+ num = self.db.get_num_requests("testid", "email")
+ self.assertEqual(num, 2)
+
+ requests = self.db.get_requests("ONHOLD", "links", "email")
+ for request in requests:
+ print(request)
+ self.assertEqual(request[1], "links")
+ self.assertEqual(request[4], "email")
+ self.assertEqual(request[5], now_str)
+ self.assertEqual(request[6], "ONHOLD")
+ self.assertEqual(len(requests), 2)
+
+ self.db.remove_request("testid", "email", now_str)
+ num = self.db.get_num_requests("testid", "email")
+ self.assertEqual(num, 0)
+
+ def test_links(self):
+ links = self.db.get_links("linux", "en-US", "ACTIVE")
+ self.assertEqual(len(links), 2) # Right now we have github and gitlab
+
+ for link in links:
+ self.assertEqual(link[1], "linux")
+ self.assertEqual(link[2], "en-US")
+ self.assertEqual(link[6], "ACTIVE")
+ self.assertIn(link[5], ["github", "gitlab"])
+
+if __name__ == "__main__":
+ unittest.main()
More information about the tor-commits
mailing list