aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/api/tests
diff options
context:
space:
mode:
authorGravatar Johannes Christ <[email protected]>2019-08-14 21:22:22 +0200
committerGravatar GitHub <[email protected]>2019-08-14 21:22:22 +0200
commit3c32dd00904ea2ed568c134404165309c8b0d4af (patch)
treed65be76a5f5eea4882e11b85c81dc63318f54eac /pydis_site/apps/api/tests
parentMerge pull request #229 from python-discord/low-hanging-merge-fruit (diff)
parentUse different field values. (diff)
Merge pull request #235 from python-discord/ouroboros-logging-handler
log everything into the database in addition to stdout
Diffstat (limited to 'pydis_site/apps/api/tests')
-rw-r--r--pydis_site/apps/api/tests/test_dblogger.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/pydis_site/apps/api/tests/test_dblogger.py b/pydis_site/apps/api/tests/test_dblogger.py
new file mode 100644
index 00000000..bb19f297
--- /dev/null
+++ b/pydis_site/apps/api/tests/test_dblogger.py
@@ -0,0 +1,27 @@
+import logging
+from datetime import datetime
+
+from django.test import TestCase
+
+from ..dblogger import DatabaseLogHandler
+from ..models import LogEntry
+
+
+class DatabaseLogHandlerTests(TestCase):
+ def test_logs_to_database(self):
+ module_basename = __name__.split('.')[-1]
+ logger = logging.getLogger(__name__)
+ logger.handlers = [DatabaseLogHandler()]
+ logger.warning("I am a test case!")
+
+ # Ensure we only have a single record in the database
+ # after the logging call above.
+ [entry] = LogEntry.objects.all()
+
+ self.assertEqual(entry.application, 'site')
+ self.assertEqual(entry.logger_name, __name__)
+ self.assertIsInstance(entry.timestamp, datetime)
+ self.assertEqual(entry.level, 'warning')
+ self.assertEqual(entry.module, module_basename)
+ self.assertIsInstance(entry.line, int)
+ self.assertEqual(entry.message, "I am a test case!")