about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/test/unit/test_stats.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/test/unit/test_stats.py')
-rw-r--r--.venv/lib/python3.12/site-packages/test/unit/test_stats.py86
1 files changed, 86 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/test/unit/test_stats.py b/.venv/lib/python3.12/site-packages/test/unit/test_stats.py
new file mode 100644
index 00000000..c7111739
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/test/unit/test_stats.py
@@ -0,0 +1,86 @@
+# -*- coding: utf-8 -*-
+import json
+from sendgrid.helpers.stats import *
+
+try:
+    import unittest2 as unittest
+except ImportError:
+    import unittest
+
+
+class UnitTests(unittest.TestCase):
+
+    def test_basicStats(self):
+
+        """Minimum required for stats"""
+        global_stats = Stats(start_date='12-09-2017')
+
+        self.assertEqual(
+            json.dumps(
+                global_stats.get(),
+                sort_keys=True),
+            '{"start_date": "12-09-2017"}'
+        )
+
+        self.assertTrue(isinstance(str(global_stats), str))
+
+    def test_Stats(self):
+
+        all_stats = Stats(start_date='12-09-2017')
+        all_stats.end_date = '12-10-2017'
+        all_stats.aggregated_by = 'day'
+        all_stats._sort_by_direction = 'asc'
+        all_stats.sort_by_metric = 'clicks'
+        all_stats._limit = 100
+        all_stats._offset = 2
+
+        self.assertEqual(
+            json.dumps(
+                all_stats.get(),
+                sort_keys=True),
+            '{"aggregated_by": "day", "end_date": "12-10-2017", '
+            '"limit": 100, "offset": 2, "sort_by_direction": "asc", '
+            '"sort_by_metric": "clicks", "start_date": "12-09-2017"}'
+        )
+
+    def test_categoryStats(self):
+
+        category_stats = CategoryStats(start_date='12-09-2017', categories=['foo', 'bar'])
+        category_stats.add_category(Category('woo'))
+        category_stats.end_date = '12-10-2017'
+        category_stats.aggregated_by = 'day'
+        category_stats._sort_by_direction = 'asc'
+        category_stats.sort_by_metric = 'clicks'
+        category_stats._limit = 100
+        category_stats._offset = 2
+
+        self.assertEqual(
+            json.dumps(
+                category_stats.get(),
+                sort_keys=True),
+            '{"aggregated_by": "day", "categories": ["foo", "bar", "woo"], '
+            '"end_date": "12-10-2017", "limit": 100, "offset": 2, '
+            '"sort_by_direction": "asc", "sort_by_metric": "clicks", '
+            '"start_date": "12-09-2017"}'
+        )
+
+    def test_subuserStats(self):
+
+        subuser_stats = SubuserStats(start_date = '12-09-2017', subusers=['foo', 'bar'])
+        subuser_stats.add_subuser(Subuser('blah'))
+        subuser_stats.end_date = '12-10-2017'
+        subuser_stats.aggregated_by = 'day'
+        subuser_stats._sort_by_direction = 'asc'
+        subuser_stats.sort_by_metric = 'clicks'
+        subuser_stats._limit = 100
+        subuser_stats._offset = 2
+
+        self.assertEqual(
+            json.dumps(
+                subuser_stats.get(),
+                sort_keys=True),
+            '{"aggregated_by": "day", "end_date": "12-10-2017", '
+            '"limit": 100, "offset": 2, "sort_by_direction": "asc", '
+            '"sort_by_metric": "clicks", "start_date": "12-09-2017", '
+            '"subusers": ["foo", "bar", "blah"]}'
+        )