13
13
from nose .tools import eq_
14
14
from nose .tools import ok_
15
15
from nose .tools import istest
16
-
17
- headers = {
18
- 'x-ratelimit-limit' : 500 ,
19
- 'x-ratelimit-remaining' : 500 ,
20
- 'x-ratelimit-reset' : 1427932858
21
- }
16
+ from tests .unit import mock_response
22
17
23
18
24
19
class RequestTest (unittest .TestCase ):
25
20
26
21
@istest
27
22
def it_raises_resource_not_found (self ):
28
- resp = Mock ( content = '{}' , status_code = 404 )
23
+ resp = mock_response ( '{}' , status_code = 404 )
29
24
with patch ('requests.request' ) as mock_method :
30
25
mock_method .return_value = resp
31
26
with assert_raises (intercom .ResourceNotFound ):
32
27
Request .send_request_to_path ('GET' , 'notes' , ('x' , 'y' ), resp )
33
28
34
29
@istest
35
30
def it_raises_authentication_error_unauthorized (self ):
36
- resp = Mock ( content = '{}' , status_code = 401 )
31
+ resp = mock_response ( '{}' , status_code = 401 )
37
32
with patch ('requests.request' ) as mock_method :
38
33
mock_method .return_value = resp
39
34
with assert_raises (intercom .AuthenticationError ):
40
35
Request .send_request_to_path ('GET' , 'notes' , ('x' , 'y' ), resp )
41
36
42
37
@istest
43
38
def it_raises_authentication_error_forbidden (self ):
44
- resp = Mock ( content = '{}' , status_code = 403 )
39
+ resp = mock_response ( '{}' , status_code = 403 )
45
40
with patch ('requests.request' ) as mock_method :
46
41
mock_method .return_value = resp
47
42
with assert_raises (intercom .AuthenticationError ):
48
43
Request .send_request_to_path ('GET' , 'notes' , ('x' , 'y' ), resp )
49
44
50
45
@istest
51
46
def it_raises_server_error (self ):
52
- resp = Mock (content = '{}' , status_code = 500 )
47
+ resp = Mock (encoding = "utf-8" , content = '{}' , status_code = 500 )
53
48
with patch ('requests.request' ) as mock_method :
54
49
mock_method .return_value = resp
55
50
with assert_raises (intercom .ServerError ):
56
51
Request .send_request_to_path ('GET' , 'notes' , ('x' , 'y' ), resp )
57
52
58
53
@istest
59
54
def it_raises_bad_gateway_error (self ):
60
- resp = Mock ( content = '{}' , status_code = 502 )
55
+ resp = mock_response ( '{}' , status_code = 502 )
61
56
with patch ('requests.request' ) as mock_method :
62
57
mock_method .return_value = resp
63
58
with assert_raises (intercom .BadGatewayError ):
64
59
Request .send_request_to_path ('GET' , 'notes' , ('x' , 'y' ), resp )
65
60
66
61
@istest
67
62
def it_raises_service_unavailable_error (self ):
68
- resp = Mock ( content = '{}' , status_code = 503 )
63
+ resp = mock_response ( '{}' , status_code = 503 )
69
64
with patch ('requests.request' ) as mock_method :
70
65
mock_method .return_value = resp
71
66
with assert_raises (intercom .ServiceUnavailableError ):
@@ -83,7 +78,7 @@ def it_raises_an_unexpected_typed_error(self):
83
78
]
84
79
}
85
80
content = json .dumps (payload ).encode ('utf-8' )
86
- resp = Mock (content = content , status_code = 200 , headers = headers )
81
+ resp = mock_response (content )
87
82
with patch ('requests.request' ) as mock_method :
88
83
mock_method .return_value = resp
89
84
try :
@@ -105,7 +100,7 @@ def it_raises_an_unexpected_untyped_error(self):
105
100
]
106
101
}
107
102
content = json .dumps (payload ).encode ('utf-8' )
108
- resp = Mock (content = content , status_code = 200 , headers = headers )
103
+ resp = mock_response (content )
109
104
with patch ('requests.request' ) as mock_method :
110
105
mock_method .return_value = resp
111
106
try :
@@ -131,7 +126,7 @@ def it_raises_a_bad_request_error(self):
131
126
payload ['errors' ][0 ]['type' ] = code
132
127
133
128
content = json .dumps (payload ).encode ('utf-8' )
134
- resp = Mock (content = content , status_code = 200 , headers = headers )
129
+ resp = mock_response (content )
135
130
with patch ('requests.request' ) as mock_method :
136
131
mock_method .return_value = resp
137
132
with assert_raises (intercom .BadRequestError ):
@@ -152,7 +147,7 @@ def it_raises_an_authentication_error(self):
152
147
payload ['errors' ][0 ]['type' ] = code
153
148
154
149
content = json .dumps (payload ).encode ('utf-8' )
155
- resp = Mock (content = content , status_code = 200 , headers = headers )
150
+ resp = mock_response (content )
156
151
with patch ('requests.request' ) as mock_method :
157
152
mock_method .return_value = resp
158
153
with assert_raises (intercom .AuthenticationError ):
@@ -170,7 +165,7 @@ def it_raises_resource_not_found_by_type(self):
170
165
]
171
166
}
172
167
content = json .dumps (payload ).encode ('utf-8' )
173
- resp = Mock (content = content , status_code = 200 , headers = headers )
168
+ resp = mock_response (content )
174
169
with patch ('requests.request' ) as mock_method :
175
170
mock_method .return_value = resp
176
171
with assert_raises (intercom .ResourceNotFound ):
@@ -188,7 +183,7 @@ def it_raises_rate_limit_exceeded(self):
188
183
]
189
184
}
190
185
content = json .dumps (payload ).encode ('utf-8' )
191
- resp = Mock (content = content , status_code = 200 , headers = headers )
186
+ resp = mock_response (content )
192
187
with patch ('requests.request' ) as mock_method :
193
188
mock_method .return_value = resp
194
189
with assert_raises (intercom .RateLimitExceeded ):
@@ -206,7 +201,7 @@ def it_raises_a_service_unavailable_error(self):
206
201
]
207
202
}
208
203
content = json .dumps (payload ).encode ('utf-8' )
209
- resp = Mock (content = content , status_code = 200 , headers = headers )
204
+ resp = mock_response (content )
210
205
with patch ('requests.request' ) as mock_method :
211
206
mock_method .return_value = resp
212
207
with assert_raises (intercom .ServiceUnavailableError ):
@@ -224,7 +219,7 @@ def it_raises_a_multiple_matching_users_error(self):
224
219
]
225
220
}
226
221
content = json .dumps (payload ).encode ('utf-8' )
227
- resp = Mock (content = content , status_code = 200 , headers = headers )
222
+ resp = mock_response (content )
228
223
with patch ('requests.request' ) as mock_method :
229
224
mock_method .return_value = resp
230
225
with assert_raises (intercom .MultipleMatchingUsersError ):
0 commit comments