From 58fd3dadc5920e3887539265cc50aeb10033c405 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alperen=20K=C3=B6m=C3=BCrc=C3=BC?= Date: Fri, 11 Sep 2026 11:52:33 +0200 Subject: [PATCH 1/2] fix(core): fix secrets tests --- .../docker_registry_secrets_client.py | 3 ++- .../ai_core_sdk/resource_clients/secrets_client.py | 2 +- .../core/integration_tests/test_e2e_secrets.py | 14 +++++++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/core/ai_core_sdk/resource_clients/docker_registry_secrets_client.py b/packages/core/ai_core_sdk/resource_clients/docker_registry_secrets_client.py index bdf5ba14..a2fe0590 100644 --- a/packages/core/ai_core_sdk/resource_clients/docker_registry_secrets_client.py +++ b/packages/core/ai_core_sdk/resource_clients/docker_registry_secrets_client.py @@ -92,7 +92,8 @@ def modify(self, name: str, data: dict) -> BasicResponse: :rtype: class:`ai_api_client_sdk.models.base_models.BasicResponse` """ body = {'data': data} - response_dict = self.rest_client.patch(path=f'{self.__PATH}/{name}', body=body) + headers = {'Content-Type': 'application/merge-patch+json'} + response_dict = self.rest_client.patch(path=f'{self.__PATH}/{name}', body=body, headers=headers) return BasicResponse.from_dict(response_dict) def query(self, top: int = None, skip: int = None) -> DockerRegistrySecretQueryResponse: diff --git a/packages/core/ai_core_sdk/resource_clients/secrets_client.py b/packages/core/ai_core_sdk/resource_clients/secrets_client.py index 086b35a0..48404d83 100644 --- a/packages/core/ai_core_sdk/resource_clients/secrets_client.py +++ b/packages/core/ai_core_sdk/resource_clients/secrets_client.py @@ -76,7 +76,7 @@ def delete(self, name: str, resource_group: str = None, ai_tenant_scope=True) -> response_dict = self.rest_client.delete(path=f'{self.__PATH}/{name}', resource_group=resource_group, headers=headers) - if response_dict == 200: + if response_dict == 200 or response_dict == '': response_dict = { "message": "Secret has been deleted" } return Message.from_dict(response_dict) diff --git a/packages/core/integration_tests/test_e2e_secrets.py b/packages/core/integration_tests/test_e2e_secrets.py index 7b870ec4..dd5150ad 100644 --- a/packages/core/integration_tests/test_e2e_secrets.py +++ b/packages/core/integration_tests/test_e2e_secrets.py @@ -1,3 +1,4 @@ +import base64 from typing import List from . import get_random_string @@ -7,13 +8,17 @@ class TestE2ESecrets(AICoreV2ClientE2ETestBase): + @staticmethod + def _get_random_b64_encoded_string(): + return base64.b64encode(get_random_string().encode()).decode() + @staticmethod def _get_secret_data(): return { 'name': f'test-{get_random_string()}', 'data': { - "prop1": get_random_string(), - "prop2": get_random_string() + "prop1": TestE2ESecrets._get_random_b64_encoded_string(), + "prop2": TestE2ESecrets._get_random_b64_encoded_string() } } @@ -43,7 +48,10 @@ def test_secrets(self): secrets_skip = self.ai_core_v2_client.secrets.query(skip=1, ai_tenant_scope=False) self.assertEqual(n-1, len(secrets_skip.resources)) - patch_data = {"prop1": get_random_string(), "prop2": get_random_string()} + patch_data = { + "prop1": self._get_random_b64_encoded_string(), + "prop2": self._get_random_b64_encoded_string() + } response = self.ai_core_v2_client.secrets.modify(name=secret_dict['name'], data=patch_data, ai_tenant_scope=False) From 7cc72da06c2c4bca1b20a9cad9f1a531061cb2fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alperen=20K=C3=B6m=C3=BCrc=C3=BC?= Date: Fri, 11 Sep 2026 13:25:27 +0200 Subject: [PATCH 2/2] fix(core): fix docker secrets test --- .../resource_clients/test_docker_registry_secrets_client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/core/tests/resource_clients/test_docker_registry_secrets_client.py b/packages/core/tests/resource_clients/test_docker_registry_secrets_client.py index 0a17a581..dd0d6f4e 100644 --- a/packages/core/tests/resource_clients/test_docker_registry_secrets_client.py +++ b/packages/core/tests/resource_clients/test_docker_registry_secrets_client.py @@ -63,7 +63,8 @@ def test_modify_deployment(self): body = {'data': drs_dict['data']} self.rest_client_mock.patch.return_value = response_dict br = self.client.modify(name=drs_dict['name'], **body) - self.rest_client_mock.patch.assert_called_with(path=f'{self.drs_path}/{drs_dict["name"]}', body=body) + headers = { 'Content-Type': 'application/merge-patch+json' } + self.rest_client_mock.patch.assert_called_with(path=f'{self.drs_path}/{drs_dict["name"]}', body=body, headers=headers) self.assertEqual(response_dict['id'], br.id) self.assertEqual(response_dict['message'], br.message)