5
5
from typing import Any , Dict
6
6
from datetime import datetime , timezone
7
7
8
+ import pytest
9
+
10
+ from browser_use_sdk ._compat import PYDANTIC_V2
8
11
from browser_use_sdk .lib .webhooks import (
9
12
WebhookTest ,
10
13
WebhookTestPayload ,
15
18
# Signature Creation ---------------------------------------------------------
16
19
17
20
21
+ @pytest .mark .skipif (not PYDANTIC_V2 , reason = "Webhook tests only run in Pydantic V2" )
18
22
def test_create_webhook_signature () -> None :
19
23
"""Test webhook signature creation."""
20
24
secret = "test-secret-key"
@@ -38,6 +42,7 @@ def test_create_webhook_signature() -> None:
38
42
# Webhook Verification --------------------------------------------------------
39
43
40
44
45
+ @pytest .mark .skipif (not PYDANTIC_V2 , reason = "Webhook tests only run in Pydantic V2" )
41
46
def test_verify_webhook_event_signature_valid () -> None :
42
47
"""Test webhook signature verification with valid signature."""
43
48
secret = "test-secret-key"
@@ -60,6 +65,7 @@ def test_verify_webhook_event_signature_valid() -> None:
60
65
assert verified_webhook .payload .test == "ok"
61
66
62
67
68
+ @pytest .mark .skipif (not PYDANTIC_V2 , reason = "Webhook tests only run in Pydantic V2" )
63
69
def test_verify_webhook_event_signature_invalid_signature () -> None :
64
70
"""Test webhook signature verification with invalid signature."""
65
71
secret = "test-secret-key"
@@ -79,6 +85,7 @@ def test_verify_webhook_event_signature_invalid_signature() -> None:
79
85
assert verified_webhook is None
80
86
81
87
88
+ @pytest .mark .skipif (not PYDANTIC_V2 , reason = "Webhook tests only run in Pydantic V2" )
82
89
def test_verify_webhook_event_signature_wrong_secret () -> None :
83
90
"""Test webhook signature verification with wrong secret."""
84
91
@@ -106,6 +113,7 @@ def test_verify_webhook_event_signature_wrong_secret() -> None:
106
113
assert verified_webhook is None
107
114
108
115
116
+ @pytest .mark .skipif (not PYDANTIC_V2 , reason = "Webhook tests only run in Pydantic V2" )
109
117
def test_verify_webhook_event_signature_string_body () -> None :
110
118
"""Test webhook signature verification with string body."""
111
119
secret = "test-secret-key"
@@ -127,6 +135,7 @@ def test_verify_webhook_event_signature_string_body() -> None:
127
135
assert isinstance (verified_webhook , WebhookTest )
128
136
129
137
138
+ @pytest .mark .skipif (not PYDANTIC_V2 , reason = "Webhook tests only run in Pydantic V2" )
130
139
def test_verify_webhook_event_signature_invalid_body () -> None :
131
140
"""Test webhook signature verification with invalid body."""
132
141
secret = "test-secret-key"
0 commit comments