Skip to content

Commit 8888d3a

Browse files
authored
added check sqs endpoint to sdk (#50)
1 parent 4210ad2 commit 8888d3a

File tree

5 files changed

+53
-0
lines changed

5 files changed

+53
-0
lines changed

stream_chat/async_chat/client.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,20 @@ async def delete_blocklist(self, name):
346346
"""
347347
return await self.delete(f"blocklists/{name}")
348348

349+
async def check_sqs(self, sqs_key=None, sqs_secret=None, sqs_url=None):
350+
"""
351+
Check SQS Push settings
352+
353+
When no parameters are given, the current SQS app settings are used
354+
355+
:param sqs_key: AWS access key
356+
:param sqs_secret: AWS secret key
357+
:param sqs_url: URL to SQS queue
358+
:return:
359+
"""
360+
data = {"sqs_key": sqs_key, "sqs_secret": sqs_secret, "sqs_url": sqs_url}
361+
return await self.post("check_sqs", data=data)
362+
349363
async def close(self):
350364
await self.session.close()
351365

stream_chat/base/client.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,3 +316,17 @@ def delete_blocklist(self, name):
316316
:return:
317317
"""
318318
pass
319+
320+
@abc.abstractmethod
321+
async def check_sqs(self, sqs_key=None, sqs_secret=None, sqs_url=None):
322+
"""
323+
Check SQS Push settings
324+
325+
When no parameters are given, the current SQS app settings are used
326+
327+
:param sqs_key: AWS access key
328+
:param sqs_secret: AWS secret key
329+
:param sqs_url: URL to SQS queue
330+
:return:
331+
"""
332+
pass

stream_chat/client.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,3 +333,17 @@ def delete_blocklist(self, name):
333333
:return:
334334
"""
335335
return self.delete(f"blocklists/{name}")
336+
337+
def check_sqs(self, sqs_key=None, sqs_secret=None, sqs_url=None):
338+
"""
339+
Check SQS Push settings
340+
341+
When no parameters are given, the current SQS app settings are used
342+
343+
:param sqs_key: AWS access key
344+
:param sqs_secret: AWS secret key
345+
:param sqs_url: URL to SQS queue
346+
:return:
347+
"""
348+
data = {"sqs_key": sqs_key, "sqs_secret": sqs_secret, "sqs_url": sqs_url}
349+
return self.post("check_sqs", data=data)

stream_chat/tests/async_chat/test_client.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,3 +324,9 @@ async def test_update_blocklist(self, event_loop, client):
324324
@pytest.mark.asyncio
325325
async def test_delete_blocklist(self, event_loop, client):
326326
await client.delete_blocklist("Foo")
327+
328+
@pytest.mark.asyncio
329+
async def test_check_sqs(self, client):
330+
response = await client.check_sqs("key", "secret", "https://foo.com/bar")
331+
assert response["status"] == "error"
332+
assert "invalid SQS url" in response["error"]

stream_chat/tests/test_client.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,3 +265,8 @@ def test_update_blocklist(self, client):
265265

266266
def test_delete_blocklist(self, client):
267267
client.delete_blocklist("Foo")
268+
269+
def test_check_sqs(self, client):
270+
response = client.check_sqs("key", "secret", "https://foo.com/bar")
271+
assert response["status"] == "error"
272+
assert "invalid SQS url" in response["error"]

0 commit comments

Comments
 (0)