Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions services/supabase/check_suites/insert_check_suite.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
from postgrest.exceptions import APIError

from services.supabase.client import supabase
from utils.error.handle_exceptions import handle_exceptions


@handle_exceptions(default_return_value=False, raise_on_error=False)
def insert_check_suite(check_suite_id: int):
result = (
supabase.table("check_suites")
.insert({"check_suite_id": check_suite_id})
.execute()
)
try:
result = (
supabase.table("check_suites")
.insert({"check_suite_id": check_suite_id})
.execute()
)

if result.data and len(result.data) > 0:
return True
if result.data and len(result.data) > 0:
return True

return False
return False
except APIError as e:
if e.code == "23505":
return False
raise
14 changes: 14 additions & 0 deletions services/supabase/check_suites/test_insert_check_suite.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
from unittest.mock import MagicMock, patch

import pytest
from postgrest.exceptions import APIError

from services.supabase.check_suites.insert_check_suite import insert_check_suite


Expand Down Expand Up @@ -39,6 +41,18 @@ def test_insert_check_suite_duplicate(mock_supabase_client):
assert result is False


def test_insert_check_suite_duplicate_key_error_returns_false(mock_supabase_client):
mock, _ = mock_supabase_client
api_error = APIError(
{"code": "23505", "message": "duplicate key value violates unique constraint"}
)
mock.table.return_value.insert.return_value.execute.side_effect = api_error

result = insert_check_suite(check_suite_id=12345)

assert result is False


def test_insert_check_suite_exception_returns_false(mock_supabase_client):
mock, _ = mock_supabase_client
mock.table.return_value.insert.return_value.execute.side_effect = Exception(
Expand Down
23 changes: 15 additions & 8 deletions services/supabase/webhook_deliveries/insert_webhook_delivery.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
from postgrest.exceptions import APIError

from services.supabase.client import supabase
from utils.error.handle_exceptions import handle_exceptions


@handle_exceptions(default_return_value=False, raise_on_error=False)
def insert_webhook_delivery(delivery_id: str, event_name: str):
result = (
supabase.table("webhook_deliveries")
.insert({"delivery_id": delivery_id, "event_name": event_name})
.execute()
)
try:
result = (
supabase.table("webhook_deliveries")
.insert({"delivery_id": delivery_id, "event_name": event_name})
.execute()
)

if result.data and len(result.data) > 0:
return True
if result.data and len(result.data) > 0:
return True

return False
return False
except APIError as e:
if e.code == "23505":
return False
raise
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
from unittest.mock import MagicMock, patch

import pytest
from postgrest.exceptions import APIError

from services.supabase.webhook_deliveries.insert_webhook_delivery import (
insert_webhook_delivery,
)
Expand Down Expand Up @@ -52,6 +54,20 @@ def test_insert_webhook_delivery_duplicate(mock_supabase_client):
assert result is False


def test_insert_webhook_delivery_duplicate_key_error_returns_false(
mock_supabase_client,
):
mock, _ = mock_supabase_client
api_error = APIError(
{"code": "23505", "message": "duplicate key value violates unique constraint"}
)
mock.table.return_value.insert.return_value.execute.side_effect = api_error

result = insert_webhook_delivery(delivery_id="abc-123", event_name="check_suite")

assert result is False


def test_insert_webhook_delivery_exception_returns_false(mock_supabase_client):
mock, _ = mock_supabase_client
mock.table.return_value.insert.return_value.execute.side_effect = Exception(
Expand Down