This is an automated email from the ASF dual-hosted git repository.

gopidesu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new a92319ac832 Fix Pagerduty tests for latest version 6.0.0 (#57216)
a92319ac832 is described below

commit a92319ac83258acd5e9ed5598bb7f06f22d78d0e
Author: GPK <[email protected]>
AuthorDate: Sat Oct 25 03:12:16 2025 +0100

    Fix Pagerduty tests for latest version 6.0.0 (#57216)
    
    * Fix Pagerduty tests for latest version 6.0.0
    
    * Fix tests
---
 .../tests/unit/pagerduty/hooks/test_pagerduty.py   |  8 +++-
 .../unit/pagerduty/hooks/test_pagerduty_events.py  | 43 +++++++++++++++++++---
 2 files changed, 44 insertions(+), 7 deletions(-)

diff --git a/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty.py 
b/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty.py
index e7ca5451810..630a761a18c 100644
--- a/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty.py
+++ b/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty.py
@@ -17,6 +17,9 @@
 # under the License.
 from __future__ import annotations
 
+from unittest.mock import patch
+
+import pagerduty
 import pytest
 
 from airflow.models import Connection
@@ -57,7 +60,8 @@ class TestPagerdutyHook:
         hook = PagerdutyHook(token="pagerduty_param_token", 
pagerduty_conn_id=DEFAULT_CONN_ID)
         assert hook.token == "pagerduty_param_token", "token initialised."
 
-    def test_get_service(self, requests_mock):
+    @patch.object(pagerduty.RestApiV2Client, "rget")
+    def test_get_service(self, rget):
         hook = PagerdutyHook(pagerduty_conn_id=DEFAULT_CONN_ID)
         mock_response_body = {
             "id": "PZYX321",
@@ -67,7 +71,7 @@ class TestPagerdutyHook:
             "summary": "Apache Airflow",
             "self": "https://api.pagerduty.com/services/PZYX321";,
         }
-        requests_mock.get("https://api.pagerduty.com/services/PZYX321";, 
json={"service": mock_response_body})
+        rget.return_value = mock_response_body
         client = hook.client()
         resp = client.rget("/services/PZYX321")
         assert resp == mock_response_body
diff --git 
a/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty_events.py 
b/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty_events.py
index dea0cc5f620..f2665bf5151 100644
--- a/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty_events.py
+++ b/providers/pagerduty/tests/unit/pagerduty/hooks/test_pagerduty_events.py
@@ -18,9 +18,13 @@
 from __future__ import annotations
 
 from unittest import mock
+from unittest.mock import patch
 
+import httpx
+import pagerduty
 import pytest
 from aioresponses import aioresponses
+from pagerduty import EventsApiV2Client
 
 from airflow.models import Connection
 from airflow.providers.pagerduty.hooks.pagerduty_events import (
@@ -82,26 +86,55 @@ class TestPagerdutyEventsHook:
         hook = PagerdutyEventsHook(integration_key="override_key", 
pagerduty_events_conn_id=DEFAULT_CONN_ID)
         assert hook.integration_key == "override_key", "token initialised."
 
-    def test_create_change_event(self, requests_mock, events_connections):
+    @patch.object(pagerduty.EventsApiV2Client, "request")
+    def test_create_change_event(self, mock_request, events_connections):
+        """Test that create_change_event sends a valid change event and 
returns None"""
+
         hook = PagerdutyEventsHook(pagerduty_events_conn_id=DEFAULT_CONN_ID)
+
         mock_response_body = {
             "message": "Change event processed",
             "status": "success",
         }
-        requests_mock.post("https://events.pagerduty.com/v2/change/enqueue";, 
json=mock_response_body)
+        mock_response = httpx.Response(
+            status_code=202,
+            json=mock_response_body,
+            request=httpx.Request("POST", 
"https://events.pagerduty.com/v2/change/enqueue";),
+        )
+
+        mock_response.ok = True
+        mock_request.return_value = mock_response
         resp = hook.create_change_event(summary="test", source="airflow")
+        mock_request.assert_called_once()
         assert resp is None, "No response expected for change event"
 
-    def test_send_event(self, requests_mock, events_connections):
+    @patch.object(EventsApiV2Client, "request")
+    def test_send_event_success(self, mock_request, events_connections):
+        """Test that send_event returns dedup_key on success"""
         hook = PagerdutyEventsHook(pagerduty_events_conn_id=DEFAULT_CONN_ID)
         dedup_key = "samplekeyhere"
+
         mock_response_body = {
             "status": "success",
             "message": "Event processed",
             "dedup_key": dedup_key,
         }
-        requests_mock.post("https://events.pagerduty.com/v2/enqueue";, 
json=mock_response_body)
-        resp = hook.send_event(summary="test", source="airflow_test", 
severity="error", dedup_key=dedup_key)
+        mock_response = httpx.Response(
+            status_code=202,
+            json=mock_response_body,
+            request=httpx.Request("POST", 
"https://events.pagerduty.com/v2/enqueue";),
+        )
+        mock_response.ok = True
+        mock_request.return_value = mock_response
+
+        resp = hook.send_event(
+            summary="test",
+            source="airflow_test",
+            severity="error",
+            dedup_key=dedup_key,
+        )
+
+        mock_request.assert_called_once()
         assert resp == dedup_key
 
 

Reply via email to