From 2892b478b066b0383cba7ebe95e47bff7727587f Mon Sep 17 00:00:00 2001 From: Jonas Keeling Date: Fri, 16 Aug 2024 16:31:11 +0200 Subject: [PATCH] minor fix --- karapace/protobuf/protopace/protopace.py | 16 ++++++++-------- karapace/schema_models.py | 4 ++-- tests/integration/conftest.py | 3 ++- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/karapace/protobuf/protopace/protopace.py b/karapace/protobuf/protopace/protopace.py index 47ca40205..a2cbc7528 100644 --- a/karapace/protobuf/protopace/protopace.py +++ b/karapace/protobuf/protopace/protopace.py @@ -6,24 +6,24 @@ from dataclasses import dataclass, field from functools import cached_property from karapace.errors import InvalidSchema -from typing import List +from typing import Dict, List import ctypes -import glob +import importlib.util import timeit -tmp = glob.glob("build/*/protopacelib*.so") -if not tmp: +spec = importlib.util.find_spec("protopacelib") +if not spec: raise FileNotFoundError("Unable to find protopace shared library") -lib_file = tmp[0] +lib_file = spec.origin lib = ctypes.CDLL(lib_file) lib.FormatSchema.argtypes = [ ctypes.c_char_p, ctypes.c_char_p, - ctypes.Array[ctypes.c_char_p], - ctypes.Array[ctypes.c_char_p], + ctypes.Array, + ctypes.Array, ctypes.c_int, ] lib.FormatSchema.restype = ctypes.c_void_p @@ -45,7 +45,7 @@ class Proto: @cached_property def all_dependencies(self) -> List["Proto"]: - dependencies = {} + dependencies: Dict[str, "Proto"] = {} for dep in self.dependencies: if dep.dependencies: dependencies.update([(d.name, d) for d in dep.all_dependencies]) diff --git a/karapace/schema_models.py b/karapace/schema_models.py index 23695d27b..139110371 100644 --- a/karapace/schema_models.py +++ b/karapace/schema_models.py @@ -26,7 +26,7 @@ from karapace.schema_type import SchemaType from karapace.typing import JsonObject, SchemaId, Subject, Version, VersionTag from karapace.utils import assert_never, json_decode, json_encode, JSONDecodeError -from typing import Any, cast, Dict, Final, final, Mapping, Sequence +from typing import Any, cast, Collection, Dict, Final, final, Mapping, Sequence import hashlib import logging @@ -59,7 +59,7 @@ def parse_jsonschema_definition(schema_definition: str) -> Draft7Validator: return Draft7Validator(schema) # type: ignore[arg-type] -def _format_protobuf(schema: str, dependencies: list[Dependency], name: str = "schema.proto") -> str: +def _format_protobuf(schema: str, dependencies: Collection[Dependency], name: str = "schema.proto") -> str: deps = [dep.to_proto() for dep in dependencies] proto = protopace.Proto(name, schema, deps) return protopace.format_proto(proto) diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index 58b545c16..a8b84ba07 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -519,7 +519,8 @@ async def fixture_registry_cluster( yield RegistryDescription(endpoint, "_schemas") return user_config = request.param.get("config", {}) if hasattr(request, "param") else {} - config = {"bootstrap_uri": kafka_servers.bootstrap_servers} | user_config + config = {"bootstrap_uri": kafka_servers.bootstrap_servers} + config.update(user_config) async with start_schema_registry_cluster( config_templates=[config], data_dir=session_logdir / _clear_test_name(request.node.name),