From 3aa997e453cffe74cf231b80b6b4d75b999b6317 Mon Sep 17 00:00:00 2001 From: Dan McNulty Date: Thu, 25 Jun 2026 15:39:23 -0500 Subject: [PATCH] test: add test case for deserializing an unsupported enum value --- test/test_fingerprint_api.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/test_fingerprint_api.py b/test/test_fingerprint_api.py index 16fd17db..d054c0ab 100644 --- a/test/test_fingerprint_api.py +++ b/test/test_fingerprint_api.py @@ -1,5 +1,8 @@ +import json import unittest from datetime import datetime, timezone +from pathlib import Path +from typing import Any from urllib.parse import urlencode from fingerprint_server_sdk import ( @@ -215,6 +218,18 @@ def test_get_event(self) -> None: event_response = self.api.get_event(event_id) self.assertIsInstance(event_response, Event) + def test_get_event_200_with_unknown_enum_value_deserializes_into_event(self) -> None: + """get_event_200.json deserializes into an Event without errors""" + mock_file = Path(__file__).resolve().parent / 'mocks' / 'events' / 'get_event_200.json' + json_str = mock_file.read_text(encoding='utf-8') + parsed_json: dict[str, Any] = json.loads(json_str) + parsed_json['proxy_details']['proxy_type'] = 'unknown' + json_str = json.dumps(parsed_json) + + event = Event.from_json(json_str) + self.assertIsInstance(event, Event) + self.assertIsNotNone(event) + def test_get_event_bad_request(self) -> None: """Test case for get_event with 400 Bad Request response""" mock_pool = MockPoolManager(self)