aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/test/unit/test_stats.py
blob: c711173973c8b2f277a260b7f2793cfc75a273fd (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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"]}'
        )