From c45ba3c5d54462262a1a1ec62fc04070300571c3 Mon Sep 17 00:00:00 2001 From: Brian Bjarke Jensen Date: Mon, 15 Sep 2025 00:53:26 +0200 Subject: [PATCH] mypy fixes --- pyproject.toml | 4 ++ python_repositories/adapters/minio_adapter.py | 8 ++-- tests/integration/minio_adapter_test.py | 40 +++++++++---------- tests/integration/redis_adapter_test.py | 12 +++--- 4 files changed, 34 insertions(+), 30 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b67dae3..bf86a63 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,6 +60,10 @@ namespace_packages = true # enable namespace packages module = "testcontainers.*" ignore_missing_imports = true +[[tool.mypy.overrides]] +module = "minio.*" +ignore_missing_imports = true + [dependency-groups] dev = [ "mypy>=1.17.1", diff --git a/python_repositories/adapters/minio_adapter.py b/python_repositories/adapters/minio_adapter.py index 51ea42b..f78f535 100644 --- a/python_repositories/adapters/minio_adapter.py +++ b/python_repositories/adapters/minio_adapter.py @@ -127,7 +127,7 @@ class MinioAdapter( # Send data to bucket # N.B. bucket name is set when connecting self._client.put_object( - bucket_name=self._bucket_name, # type: ignore + bucket_name=self._bucket_name, object_name=object_name, data=data, length=num_bytes, @@ -147,7 +147,7 @@ class MinioAdapter( # N.B. bucket name is set when connecting try: response = self._client.get_object( - bucket_name=self._bucket_name, # type: ignore + bucket_name=self._bucket_name, object_name=object_name, ) # Get buffered data @@ -177,7 +177,7 @@ class MinioAdapter( # Delete object from bucket # N.B. bucket name is set when connecting self._client.remove_object( - bucket_name=self._bucket_name, # type: ignore + bucket_name=self._bucket_name, object_name=object_name, ) self.logger.debug(f"Deleted object '{object_name}' from bucket '{self._bucket_name}'") @@ -193,7 +193,7 @@ class MinioAdapter( raise ConnectionError("Not connected to Minio") # List objects in bucket objects = self._client.list_objects( - bucket_name=self._bucket_name, # type: ignore + bucket_name=self._bucket_name, prefix=prefix, recursive=True, ) diff --git a/tests/integration/minio_adapter_test.py b/tests/integration/minio_adapter_test.py index 47e3ca1..a9a4752 100644 --- a/tests/integration/minio_adapter_test.py +++ b/tests/integration/minio_adapter_test.py @@ -187,7 +187,7 @@ def test_should_get_data( # Arrange object_name, expected_data = data_in_minio # Act - received_data = minio_adapter._get(object_name) # type: ignore + received_data = minio_adapter._get(object_name) # Assert assert received_data is not None assert same_data(expected_data, received_data) @@ -200,7 +200,7 @@ def test_should_get_none_for_nonexistent_object( # Arrange object_name = "nonexistent_object" # Act - received_data = minio_adapter._get(object_name) # type: ignore + received_data = minio_adapter._get(object_name) # Assert assert received_data is None @@ -225,7 +225,7 @@ def test_should_raise_connection_error_on_get_when_not_connected( adapter = MinioAdapter() # not connected # Act & Assert with pytest.raises(ConnectionError): - adapter._get("some_object") # type: ignore + adapter._get("some_object") def test_should_log_warning_when_getting_nonexistent_object( @@ -291,17 +291,17 @@ def test_should_put_data( """Test that the MinioAdapter can put data into a bucket.""" # Arrange object_name = "new_test_object" - received_data = minio_adapter._get(object_name) # type: ignore + received_data = minio_adapter._get(object_name) assert received_data is None # ensure object does not exist yet # Act - minio_adapter._put(object_name, data) # type: ignore + minio_adapter._put(object_name, data) # Assert - received_data = minio_adapter._get(object_name) # type: ignore + received_data = minio_adapter._get(object_name) assert received_data is not None assert same_data(data, received_data) # Cleanup bucket_name = str(os.getenv("MINIO_BUCKET")) - minio_adapter._client.remove_object(bucket_name, object_name) + minio_adapter._client.remove_object(bucket_name, object_name) # type: ignore def test_should_update_data( @@ -312,13 +312,13 @@ def test_should_update_data( # Arrange object_name, _ = data_in_minio new_data = BytesIO(random.randbytes(2**21)) # 2 MiB - received_data = minio_adapter._get(object_name) # type: ignore + received_data = minio_adapter._get(object_name) assert received_data is not None assert not same_data(received_data, new_data) # Act - minio_adapter._put(object_name, new_data) # type: ignore + minio_adapter._put(object_name, new_data) # Assert - received_data = minio_adapter._get(object_name) # type: ignore + received_data = minio_adapter._get(object_name) assert received_data is not None assert same_data(new_data, received_data) @@ -358,7 +358,7 @@ def test_should_raise_connection_error_on_put_when_not_connected( adapter = MinioAdapter() # not connected # Act & Assert with pytest.raises(ConnectionError): - adapter._put("some_object", data) # type: ignore + adapter._put("some_object", data) def test_should_delete_object( @@ -368,12 +368,12 @@ def test_should_delete_object( """Test that the MinioAdapter can delete an object from a bucket.""" # Arrange object_name, _ = data_in_minio - received_data = minio_adapter._get(object_name) # type: ignore + received_data = minio_adapter._get(object_name) assert received_data is not None # ensure object exists # Act - minio_adapter._delete(object_name) # type: ignore + minio_adapter._delete(object_name) # Assert - received_data = minio_adapter._get(object_name) # type: ignore + received_data = minio_adapter._get(object_name) assert received_data is None @@ -397,7 +397,7 @@ def test_should_raise_connection_error_on_delete_when_not_connected( adapter = MinioAdapter() # not connected # Act & Assert with pytest.raises(ConnectionError): - adapter._delete("some_object") # type: ignore + adapter._delete("some_object") def test_should_list_objects( @@ -409,9 +409,9 @@ def test_should_list_objects( object_name, _ = data_in_minio new_data = BytesIO(random.randbytes(2**21)) # 2 MiB new_data_name = "another_test_object" - minio_adapter._put(new_data_name, new_data) # type: ignore + minio_adapter._put(new_data_name, new_data) # Act - objects = minio_adapter._list_objects() # type: ignore + objects = minio_adapter._list_objects() # Assert assert isinstance(objects, list) assert len(objects) == 2 @@ -428,10 +428,10 @@ def test_should_list_objects_with_prefix( object_name, _ = data_in_minio new_data = BytesIO(random.randbytes(2**21)) # 2 MiB new_data_name = "prefix_test_object" - minio_adapter._put(new_data_name, new_data) # type: ignore + minio_adapter._put(new_data_name, new_data) prefix = "prefix_" # Act - objects = minio_adapter._list_objects(prefix) # type: ignore + objects = minio_adapter._list_objects(prefix) # Assert assert isinstance(objects, list) assert len(objects) == 1 @@ -459,7 +459,7 @@ def test_should_raise_connection_error_on_list_objects_when_not_connected( adapter = MinioAdapter() # not connected # Act & Assert with pytest.raises(ConnectionError): - adapter._list_objects() # type: ignore + adapter._list_objects() # allows local debugging by running file as script diff --git a/tests/integration/redis_adapter_test.py b/tests/integration/redis_adapter_test.py index bb57f24..293ae9a 100644 --- a/tests/integration/redis_adapter_test.py +++ b/tests/integration/redis_adapter_test.py @@ -134,7 +134,7 @@ def test_should_get_value( # Arrange key, data = data_in_redis # Act - value = redis_adapter._get(key) # type: ignore + value = redis_adapter._get(key) # Assert assert value is not None assert value == data @@ -145,7 +145,7 @@ def test_should_get_none_for_missing_key( ) -> None: """Test that getting a non-existent key returns None.""" # Act - value = redis_adapter._get("nonexistent_key") # type: ignore + value = redis_adapter._get("nonexistent_key") # Assert assert value is None @@ -180,12 +180,12 @@ def test_should_set_value( """Test that the RedisAdapter can set a value.""" # Arrange key = "test_key" - received_data = redis_adapter._get(key) # type: ignore + received_data = redis_adapter._get(key) assert received_data is None # Ensure key does not exist # Act redis_adapter._set(key, data) # Assert - received_data = redis_adapter._get(key) # type: ignore + received_data = redis_adapter._get(key) assert received_data is not None assert received_data == data @@ -198,7 +198,7 @@ def test_should_update_value( # Arrange key, _ = data_in_redis new_data = {"new_key": "new_value"} - received_data = redis_adapter._get(key) # type: ignore + received_data = redis_adapter._get(key) assert received_data is not None assert received_data != new_data # Act @@ -253,7 +253,7 @@ def test_should_delete_key( """Test that deleting a key removes it from Redis.""" # Arrange key, _ = data_in_redis - received_data = redis_adapter._get(key) # type: ignore + received_data = redis_adapter._get(key) assert received_data is not None # Ensure key exists # Act redis_adapter._delete(key)