This repository was archived by the owner on Aug 26, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathbase_test.py
More file actions
93 lines (86 loc) · 3.45 KB
/
base_test.py
File metadata and controls
93 lines (86 loc) · 3.45 KB
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
87
88
89
90
91
92
93
"""Base test class."""
import re
import responses
from requests.status_codes import codes
base_url = 'https://onesignal.com/api/v1'
class BaseTest():
default_uri = re.compile('%s/(\w+)' % (base_url))
requests_mock = {
'test_view_apps': {
'uri': '%s/apps' % (base_url),
'body': '[{"id": "92911750-242d-4260-9e00-9d9034f139ce"}]'
},
'test_view_apps_bad_request': {
'uri': '%s/apps' % (base_url),
'status': codes.bad_request
},
'test_view_app': {
'uri': re.compile('%s/apps/(\w|\-)+' % (base_url)),
'body': '{"id": "92911750-242d-4260-9e00-9d9034f139ce"}'
},
'test_view_app_not_found': {
'uri': re.compile('%s/apps/(\w|\-)+' % (base_url)),
'status': codes.not_found
},
'test_view_device': {
'uri': re.compile('%s/players/(\w|\-)+' % (base_url)),
'body': '{"identifier": "ce777617da7f548fe7a9ab6febb56cf39fba6d2"}'
},
'test_view_device_not_found': {
'uri': re.compile('%s/players/(\w|\-)+' % (base_url)),
'status': codes.not_found
},
'test_create_notification': {
'method': responses.POST,
'uri': '%s/notifications' % (base_url),
'body': '{"id": "458dcec4-cf53-11e3-000c940e62c", "recipients": 3}'
},
'test_cancel_notification': {
'method': responses.DELETE,
'uri': re.compile(
'%s/notifications/(\w|\-)+\?app_id=(\w|\-)+' % (base_url)),
'body': '{"success": "true"}'
},
'test_failed_cancel_notification': {
'method': responses.DELETE,
'status': codes.bad_request,
'uri': re.compile(
'%s/notifications/(\w|\-)+\?app_id=(\w|\-)+' % (base_url)),
'body': '{"errors": ["..."]}'
},
'test_csv_export': {
'method': responses.POST,
'uri': re.compile(
'%s/players/csv_export\?app_id=(\w|\-)+' % (base_url)),
'body': '{"csv_file_url": "https://onesignal.com/csv_exports/b2f7f'
'966-d8cc-11e4-bed1-df8f05be55ba/users_184948440ec0e334728'
'e87228011ff41_2015-11-10.csv.gz"}'
},
'test_csv_export_with_extra_fields': {
'method': responses.POST,
'uri': re.compile(
'%s/players/csv_export\?app_id=(\w|\-)+' % (base_url)),
'body': '{"csv_file_url": "https://onesignal.com/csv_exports/b2f7f'
'966-d8cc-11e4-bed1-df8f05be55ba/users_184948440ec0e334728'
'e87228011ff41_2015-11-10.csv.gz"}'
},
'test_csv_export_not_found': {
'method': responses.POST,
'status': codes.not_found,
'uri': re.compile(
'%s/players/csv_export\?app_id=(\w|\-)+' % (base_url))
},
}
def setup_method(self, method):
responses.start()
request_data = self.requests_mock.get(method.__name__, {})
responses.add(
method=request_data.get('method', responses.GET),
url=request_data.get('uri', self.default_uri),
body=request_data.get('body', '{}'),
status=request_data.get('status', codes.ok),
content_type=request_data.get('content_type', 'application/json')
)
def teardown_method(self, method):
responses.reset()
responses.stop()