From e08f8f72629b51473481518a637047fe80a38571 Mon Sep 17 00:00:00 2001 From: Matthew Seal Date: Fri, 10 Oct 2025 17:01:48 -0700 Subject: [PATCH 1/2] Fixed an invalid argument configuration --- .../schema_registry/_async/schema_registry_client.py | 10 ++++++++-- tests/schema_registry/_async/test_api_client.py | 11 +++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/confluent_kafka/schema_registry/_async/schema_registry_client.py b/src/confluent_kafka/schema_registry/_async/schema_registry_client.py index 368748fe6..e8458aeed 100644 --- a/src/confluent_kafka/schema_registry/_async/schema_registry_client.py +++ b/src/confluent_kafka/schema_registry/_async/schema_registry_client.py @@ -667,7 +667,13 @@ async def register_schema_full_response( if schema_id is not None: result = self._cache.get_schema_by_id(subject_name, schema_id) if result is not None: - return RegisteredSchema(schema_id, result[0], result[1], subject_name, None) + return RegisteredSchema( + schema_id=schema_id, + guid=result[0], + subject=subject_name, + version=None, + schema=result[1] + ) request = schema.to_dict() @@ -682,7 +688,7 @@ async def register_schema_full_response( guid=result.guid, subject=result.subject or subject_name, version=result.version, - schema=result.schema, + schema=result.schema ) # The registered schema may not be fully populated diff --git a/tests/schema_registry/_async/test_api_client.py b/tests/schema_registry/_async/test_api_client.py index f3e584da4..d8ec51090 100644 --- a/tests/schema_registry/_async/test_api_client.py +++ b/tests/schema_registry/_async/test_api_client.py @@ -87,6 +87,17 @@ async def test_register_schema(mock_schema_registry, load_avsc): assert result == SCHEMA_ID +async def test_register_schema_full_response_recall(mock_schema_registry, load_avsc): + conf = {'url': TEST_URL} + sr = AsyncSchemaRegistryClient(conf) + schema = Schema(load_avsc('basic_schema.avsc'), schema_type='AVRO') + + await sr.register_schema('test-key', schema) + + result = await sr.register_schema_full_response('test-key', schema) + assert result.schema_id == SCHEMA_ID + + async def test_register_schema_incompatible(mock_schema_registry, load_avsc): conf = {'url': TEST_URL} sr = AsyncSchemaRegistryClient(conf) From 0e159f9ebe775e1f71975c3657001d77bb05a97e Mon Sep 17 00:00:00 2001 From: Matthew Seal Date: Mon, 13 Oct 2025 16:18:59 -0700 Subject: [PATCH 2/2] Applied sync conversion tool for parallel code --- .../schema_registry/_sync/schema_registry_client.py | 10 ++++++++-- tests/schema_registry/_sync/test_api_client.py | 11 +++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/confluent_kafka/schema_registry/_sync/schema_registry_client.py b/src/confluent_kafka/schema_registry/_sync/schema_registry_client.py index 1f579f6a8..02c38318a 100644 --- a/src/confluent_kafka/schema_registry/_sync/schema_registry_client.py +++ b/src/confluent_kafka/schema_registry/_sync/schema_registry_client.py @@ -667,7 +667,13 @@ def register_schema_full_response( if schema_id is not None: result = self._cache.get_schema_by_id(subject_name, schema_id) if result is not None: - return RegisteredSchema(schema_id, result[0], result[1], subject_name, None) + return RegisteredSchema( + schema_id=schema_id, + guid=result[0], + subject=subject_name, + version=None, + schema=result[1] + ) request = schema.to_dict() @@ -682,7 +688,7 @@ def register_schema_full_response( guid=result.guid, subject=result.subject or subject_name, version=result.version, - schema=result.schema, + schema=result.schema ) # The registered schema may not be fully populated diff --git a/tests/schema_registry/_sync/test_api_client.py b/tests/schema_registry/_sync/test_api_client.py index 9c7c3daf2..f13a494e0 100644 --- a/tests/schema_registry/_sync/test_api_client.py +++ b/tests/schema_registry/_sync/test_api_client.py @@ -87,6 +87,17 @@ def test_register_schema(mock_schema_registry, load_avsc): assert result == SCHEMA_ID +def test_register_schema_full_response_recall(mock_schema_registry, load_avsc): + conf = {'url': TEST_URL} + sr = SchemaRegistryClient(conf) + schema = Schema(load_avsc('basic_schema.avsc'), schema_type='AVRO') + + sr.register_schema('test-key', schema) + + result = sr.register_schema_full_response('test-key', schema) + assert result.schema_id == SCHEMA_ID + + def test_register_schema_incompatible(mock_schema_registry, load_avsc): conf = {'url': TEST_URL} sr = SchemaRegistryClient(conf)