Skip to content

Commit ca44330

Browse files
committed
Update test_client_init.py
1 parent e89b28c commit ca44330

File tree

1 file changed

+71
-61
lines changed

1 file changed

+71
-61
lines changed

tests/test_client_init.py

Lines changed: 71 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -127,127 +127,137 @@ def setup_method(self):
127127
"""Set up test fixtures"""
128128
self.client = JupiterOneClient(account="test-account", token="test-token")
129129

130-
@patch.object(JupiterOneClient, 'session')
131-
def test_execute_query_401_error(self, mock_session):
130+
def test_execute_query_401_error(self):
132131
"""Test _execute_query method with 401 error"""
133132
mock_response = Mock()
134133
mock_response.status_code = 401
135-
mock_session.post.return_value = mock_response
134+
135+
with patch.object(self.client, 'session') as mock_session:
136+
mock_session.post.return_value = mock_response
136137

137-
with pytest.raises(JupiterOneApiError, match="401: Unauthorized"):
138-
self.client._execute_query("test query")
138+
with pytest.raises(JupiterOneApiError, match="401: Unauthorized"):
139+
self.client._execute_query("test query")
139140

140-
@patch.object(JupiterOneClient, 'session')
141-
def test_execute_query_429_error(self, mock_session):
141+
def test_execute_query_429_error(self):
142142
"""Test _execute_query method with 429 error"""
143143
mock_response = Mock()
144144
mock_response.status_code = 429
145-
mock_session.post.return_value = mock_response
145+
146+
with patch.object(self.client, 'session') as mock_session:
147+
mock_session.post.return_value = mock_response
146148

147-
with pytest.raises(JupiterOneApiRetryError, match="rate limit exceeded"):
148-
self.client._execute_query("test query")
149+
with pytest.raises(JupiterOneApiRetryError, match="rate limit exceeded"):
150+
self.client._execute_query("test query")
149151

150-
@patch.object(JupiterOneClient, 'session')
151-
def test_execute_query_503_error(self, mock_session):
152+
def test_execute_query_503_error(self):
152153
"""Test _execute_query method with 503 error"""
153154
mock_response = Mock()
154155
mock_response.status_code = 503
155-
mock_session.post.return_value = mock_response
156+
157+
with patch.object(self.client, 'session') as mock_session:
158+
mock_session.post.return_value = mock_response
156159

157-
with pytest.raises(JupiterOneApiRetryError, match="rate limit exceeded"):
158-
self.client._execute_query("test query")
160+
with pytest.raises(JupiterOneApiRetryError, match="rate limit exceeded"):
161+
self.client._execute_query("test query")
159162

160-
@patch.object(JupiterOneClient, 'session')
161-
def test_execute_query_504_error(self, mock_session):
163+
def test_execute_query_504_error(self):
162164
"""Test _execute_query method with 504 error"""
163165
mock_response = Mock()
164166
mock_response.status_code = 504
165-
mock_session.post.return_value = mock_response
167+
168+
with patch.object(self.client, 'session') as mock_session:
169+
mock_session.post.return_value = mock_response
166170

167-
with pytest.raises(JupiterOneApiRetryError, match="Gateway Timeout"):
168-
self.client._execute_query("test query")
171+
with pytest.raises(JupiterOneApiRetryError, match="Gateway Timeout"):
172+
self.client._execute_query("test query")
169173

170-
@patch.object(JupiterOneClient, 'session')
171-
def test_execute_query_500_error(self, mock_session):
174+
def test_execute_query_500_error(self):
172175
"""Test _execute_query method with 500 error"""
173176
mock_response = Mock()
174177
mock_response.status_code = 500
175-
mock_session.post.return_value = mock_response
178+
179+
with patch.object(self.client, 'session') as mock_session:
180+
mock_session.post.return_value = mock_response
176181

177-
with pytest.raises(JupiterOneApiError, match="internal server error"):
178-
self.client._execute_query("test query")
182+
with pytest.raises(JupiterOneApiError, match="internal server error"):
183+
self.client._execute_query("test query")
179184

180-
@patch.object(JupiterOneClient, 'session')
181-
def test_execute_query_200_with_errors(self, mock_session):
185+
def test_execute_query_200_with_errors(self):
182186
"""Test _execute_query method with 200 status but GraphQL errors"""
183187
mock_response = Mock()
184188
mock_response.status_code = 200
185189
mock_response.json.return_value = {
186190
"errors": [{"message": "GraphQL error"}]
187191
}
188-
mock_session.post.return_value = mock_response
192+
193+
with patch.object(self.client, 'session') as mock_session:
194+
mock_session.post.return_value = mock_response
189195

190-
with pytest.raises(JupiterOneApiError):
191-
self.client._execute_query("test query")
196+
with pytest.raises(JupiterOneApiError):
197+
self.client._execute_query("test query")
192198

193-
@patch.object(JupiterOneClient, 'session')
194-
def test_execute_query_200_with_429_in_errors(self, mock_session):
199+
def test_execute_query_200_with_429_in_errors(self):
195200
"""Test _execute_query method with 200 status but 429 in GraphQL errors"""
196201
mock_response = Mock()
197202
mock_response.status_code = 200
198203
mock_response.json.return_value = {
199204
"errors": [{"message": "429 rate limit exceeded"}]
200205
}
201-
mock_session.post.return_value = mock_response
206+
207+
with patch.object(self.client, 'session') as mock_session:
208+
mock_session.post.return_value = mock_response
202209

203-
with pytest.raises(JupiterOneApiRetryError, match="rate limit exceeded"):
204-
self.client._execute_query("test query")
210+
with pytest.raises(JupiterOneApiRetryError, match="rate limit exceeded"):
211+
self.client._execute_query("test query")
205212

206-
@patch.object(JupiterOneClient, 'session')
207-
def test_execute_query_200_success(self, mock_session):
213+
def test_execute_query_200_success(self):
208214
"""Test _execute_query method with successful 200 response"""
209215
mock_response = Mock()
210216
mock_response.status_code = 200
211217
mock_response.json.return_value = {
212218
"data": {"result": "success"}
213219
}
214-
mock_session.post.return_value = mock_response
215-
216-
result = self.client._execute_query("test query")
217220

218-
assert result == {"data": {"result": "success"}}
221+
with patch.object(self.client, 'session') as mock_session:
222+
mock_session.post.return_value = mock_response
223+
224+
result = self.client._execute_query("test query")
225+
226+
assert result == {"data": {"result": "success"}}
219227

220-
@patch.object(JupiterOneClient, 'session')
221-
def test_execute_query_with_variables(self, mock_session):
228+
def test_execute_query_with_variables(self):
222229
"""Test _execute_query method with variables"""
223230
mock_response = Mock()
224231
mock_response.status_code = 200
225232
mock_response.json.return_value = {
226233
"data": {"result": "success"}
227234
}
228-
mock_session.post.return_value = mock_response
229-
230-
variables = {"key": "value"}
231-
self.client._execute_query("test query", variables=variables)
232235

233-
# Verify that variables were included in the request
234-
call_args = mock_session.post.call_args
235-
assert "variables" in call_args[1]["json"]
236-
assert call_args[1]["json"]["variables"] == variables
237-
238-
@patch.object(JupiterOneClient, 'session')
239-
def test_execute_query_with_flags(self, mock_session):
236+
with patch.object(self.client, 'session') as mock_session:
237+
mock_session.post.return_value = mock_response
238+
239+
variables = {"key": "value"}
240+
self.client._execute_query("test query", variables=variables)
241+
242+
# Verify that variables were included in the request
243+
call_args = mock_session.post.call_args
244+
assert "variables" in call_args[1]["json"]
245+
assert call_args[1]["json"]["variables"] == variables
246+
247+
def test_execute_query_with_flags(self):
240248
"""Test _execute_query method includes flags"""
241249
mock_response = Mock()
242250
mock_response.status_code = 200
243251
mock_response.json.return_value = {
244252
"data": {"result": "success"}
245253
}
246-
mock_session.post.return_value = mock_response
247-
248-
self.client._execute_query("test query")
249254

250-
# Verify that flags were included in the request
251-
call_args = mock_session.post.call_args
252-
assert "flags" in call_args[1]["json"]
253-
assert call_args[1]["json"]["flags"] == {"variableResultSize": True}
255+
with patch.object(self.client, 'session') as mock_session:
256+
mock_session.post.return_value = mock_response
257+
258+
self.client._execute_query("test query")
259+
260+
# Verify that flags were included in the request
261+
call_args = mock_session.post.call_args
262+
assert "flags" in call_args[1]["json"]
263+
assert call_args[1]["json"]["flags"] == {"variableResultSize": True}

0 commit comments

Comments
 (0)