This is an automated email from the ASF dual-hosted git repository.
jshao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new 300452bbf [#3818][#4100] Improvement(client-python): Replace all
assert in client-python & fix: Validate methods of request in client-python are
not correct (#4346)
300452bbf is described below
commit 300452bbf2fddcda83d61540d4a6b791246440d2
Author: Jing-Jia Hung <[email protected]>
AuthorDate: Sat Aug 17 10:12:21 2024 +0800
[#3818][#4100] Improvement(client-python): Replace all assert in
client-python & fix: Validate methods of request in client-python are not
correct (#4346)
### What changes were proposed in this pull request?
- Fix `validate` errors (attributes are not allowed to be None) in
`catalog_update_request.py` .
- Unify the implementation way of `validate` : using raise.
- Replace all `assert` with defined exception.
### Why are the changes needed?
Fix: #3818
Fix: #4100
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
test with` ./gradlew client:client-python:test`
---
.../auth/default_oauth2_token_provider.py | 21 ++++++++++------
.../gravitino/catalog/base_schema_catalog.py | 20 +++++++++-------
.../gravitino/client/gravitino_version.py | 5 ++--
.../dto/requests/catalog_create_request.py | 13 +++++-----
.../dto/requests/schema_create_request.py | 3 ++-
.../gravitino/dto/responses/base_response.py | 4 +++-
.../gravitino/dto/responses/catalog_response.py | 17 ++++++-------
.../dto/responses/entity_list_response.py | 4 +++-
.../gravitino/dto/responses/error_response.py | 13 +++++-----
.../gravitino/dto/responses/fileset_response.py | 19 ++++++++-------
.../gravitino/dto/responses/metalake_response.py | 16 +++++++------
.../dto/responses/oauth2_error_response.py | 4 +++-
.../dto/responses/oauth2_token_response.py | 14 +++++++----
.../gravitino/dto/responses/schema_response.py | 14 +++++++----
.../gravitino/dto/responses/version_response.py | 28 ++++++++++++++--------
clients/client-python/gravitino/namespace.py | 7 +++---
clients/client-python/gravitino/rest/rest_utils.py | 4 +++-
.../tests/integration/hdfs_container.py | 4 +++-
.../unittests/auth/test_oauth2_token_provider.py | 14 +++++++----
.../tests/unittests/test_gravitino_version.py | 14 ++++-------
20 files changed, 141 insertions(+), 97 deletions(-)
diff --git
a/clients/client-python/gravitino/auth/default_oauth2_token_provider.py
b/clients/client-python/gravitino/auth/default_oauth2_token_provider.py
index beefc90c4..a8a98d306 100644
--- a/clients/client-python/gravitino/auth/default_oauth2_token_provider.py
+++ b/clients/client-python/gravitino/auth/default_oauth2_token_provider.py
@@ -26,7 +26,10 @@ from gravitino.dto.responses.oauth2_token_response import
OAuth2TokenResponse
from gravitino.dto.requests.oauth2_client_credential_request import (
OAuth2ClientCredentialRequest,
)
-from gravitino.exceptions.base import GravitinoRuntimeException
+from gravitino.exceptions.base import (
+ GravitinoRuntimeException,
+ IllegalArgumentException,
+)
from gravitino.exceptions.handlers.oauth_error_handler import
OAUTH_ERROR_HANDLER
CLIENT_CREDENTIALS = "client_credentials"
@@ -61,11 +64,14 @@ class DefaultOAuth2TokenProvider(OAuth2TokenProvider):
self._token = self._fetch_token()
def validate(self):
- assert (
- self._credential and self._credential.strip()
- ), "OAuth2TokenProvider must set credential"
- assert self._scope and self._scope.strip(), "OAuth2TokenProvider must
set scope"
- assert self._path and self._path.strip(), "OAuth2TokenProvider must
set path"
+ if not self._credential or not self._credential.strip():
+ raise IllegalArgumentException("OAuth2TokenProvider must set
credential")
+
+ if not self._scope or not self._scope.strip():
+ raise IllegalArgumentException("OAuth2TokenProvider must set
scope")
+
+ if not self._path or not self._path.strip():
+ raise IllegalArgumentException("OAuth2TokenProvider must set path")
def _get_access_token(self) -> Optional[str]:
@@ -81,7 +87,8 @@ class DefaultOAuth2TokenProvider(OAuth2TokenProvider):
return self._token
def _parse_credential(self):
- assert self._credential is not None, "Invalid credential: None"
+ if self._credential is None:
+ raise ValueError("Invalid credential: None")
credential_info = self._credential.split(CREDENTIAL_SPLITTER,
maxsplit=1)
client_id = None
diff --git a/clients/client-python/gravitino/catalog/base_schema_catalog.py
b/clients/client-python/gravitino/catalog/base_schema_catalog.py
index 2b146b27e..70061799d 100644
--- a/clients/client-python/gravitino/catalog/base_schema_catalog.py
+++ b/clients/client-python/gravitino/catalog/base_schema_catalog.py
@@ -36,6 +36,7 @@ from gravitino.exceptions.handlers.schema_error_handler
import SCHEMA_ERROR_HAND
from gravitino.namespace import Namespace
from gravitino.utils import HTTPClient
from gravitino.rest.rest_utils import encode_string
+from gravitino.exceptions.base import IllegalArgumentException
logger = logging.getLogger(__name__)
@@ -238,12 +239,13 @@ class BaseSchemaCatalog(CatalogDTO, SupportsSchemas):
f"Catalog namespace must be non-null and have 1 level, the input
namespace is {self._catalog_namespace}",
)
- assert self.rest_client is not None, "restClient must be set"
- assert (
- self.name() is not None and len(self.name().strip()) > 0
- ), "name must not be blank"
- assert self.type() is not None, "type must not be None"
- assert (
- self.provider() is not None and len(self.provider().strip()) > 0
- ), "provider must not be blank"
- assert self.audit_info() is not None, "audit must not be None"
+ if self.rest_client is None:
+ raise IllegalArgumentException("restClient must be set")
+ if not self.name() or not self.name().strip():
+ raise IllegalArgumentException("name must not be blank")
+ if self.type() is None:
+ raise IllegalArgumentException("type must not be None")
+ if not self.provider() or not self.provider().strip():
+ raise IllegalArgumentException("provider must not be blank")
+ if self.audit_info() is None:
+ raise IllegalArgumentException("audit must not be None")
diff --git a/clients/client-python/gravitino/client/gravitino_version.py
b/clients/client-python/gravitino/client/gravitino_version.py
index c69376f1b..ae42b990c 100644
--- a/clients/client-python/gravitino/client/gravitino_version.py
+++ b/clients/client-python/gravitino/client/gravitino_version.py
@@ -22,7 +22,7 @@ from dataclasses import dataclass
from enum import Enum
from gravitino.dto.version_dto import VersionDTO
-from gravitino.exceptions.base import GravitinoRuntimeException
+from gravitino.exceptions.base import BadRequestException,
GravitinoRuntimeException
class Version(Enum):
@@ -51,7 +51,8 @@ class GravitinoVersion(VersionDTO):
m = re.match(VERSION_PATTERN, self.version())
- assert m is not None, "Invalid version string " + self.version()
+ if m is None:
+ raise BadRequestException(f"Invalid version string:
{self.version()}")
self.major = int(m.group(Version.MAJOR.value))
self.minor = int(m.group(Version.MINOR.value))
diff --git
a/clients/client-python/gravitino/dto/requests/catalog_create_request.py
b/clients/client-python/gravitino/dto/requests/catalog_create_request.py
index c8f70dd11..853cb5cf5 100644
--- a/clients/client-python/gravitino/dto/requests/catalog_create_request.py
+++ b/clients/client-python/gravitino/dto/requests/catalog_create_request.py
@@ -58,10 +58,9 @@ class CatalogCreateRequest(RESTRequest):
Raises:
IllegalArgumentException if name or type are not set.
"""
- assert self._name is not None, '"name" field is required and cannot be
empty'
- assert (
- self._type is not None
- ), '"catalog_type" field is required and cannot be empty'
- assert (
- self._provider is not None
- ), '"provider" field is required and cannot be empty'
+ if not self._name:
+ raise ValueError('"name" field is required and cannot be empty')
+ if not self._type:
+ raise ValueError('"catalog_type" field is required and cannot be
empty')
+ if not self._provider:
+ raise ValueError('"provider" field is required and cannot be
empty')
diff --git
a/clients/client-python/gravitino/dto/requests/schema_create_request.py
b/clients/client-python/gravitino/dto/requests/schema_create_request.py
index 5e09e2f2b..e5df0a8bd 100644
--- a/clients/client-python/gravitino/dto/requests/schema_create_request.py
+++ b/clients/client-python/gravitino/dto/requests/schema_create_request.py
@@ -43,4 +43,5 @@ class SchemaCreateRequest(RESTRequest):
self._properties = properties
def validate(self):
- assert self._name is not None, '"name" field is required and cannot be
empty'
+ if not self._name:
+ raise ValueError('"name" field is required and cannot be empty')
diff --git a/clients/client-python/gravitino/dto/responses/base_response.py
b/clients/client-python/gravitino/dto/responses/base_response.py
index 8ce91bd9b..52cdfe9fb 100644
--- a/clients/client-python/gravitino/dto/responses/base_response.py
+++ b/clients/client-python/gravitino/dto/responses/base_response.py
@@ -20,6 +20,7 @@ under the License.
from dataclasses import dataclass, field
from dataclasses_json import config
+from gravitino.exceptions.base import IllegalArgumentException
from gravitino.rest.rest_message import RESTResponse
@@ -37,4 +38,5 @@ class BaseResponse(RESTResponse):
"""Validates the response code.
@throws IllegalArgumentException if code value is negative.
"""
- assert self._code >= 0, "code must be >= 0"
+ if self._code < 0:
+ raise IllegalArgumentException("code must be >= 0")
diff --git a/clients/client-python/gravitino/dto/responses/catalog_response.py
b/clients/client-python/gravitino/dto/responses/catalog_response.py
index d1cefa0ba..f1e68798e 100644
--- a/clients/client-python/gravitino/dto/responses/catalog_response.py
+++ b/clients/client-python/gravitino/dto/responses/catalog_response.py
@@ -20,6 +20,7 @@ under the License.
from dataclasses import dataclass, field
from dataclasses_json import config
+from gravitino.exceptions.base import IllegalArgumentException
from .base_response import BaseResponse
from ..catalog_dto import CatalogDTO
@@ -39,14 +40,14 @@ class CatalogResponse(BaseResponse):
"""
super().validate()
- assert self._catalog is not None, "catalog must not be null"
- assert (
- self._catalog.name() is not None
- ), "catalog 'name' must not be null and empty"
- assert self._catalog.type() is not None, "catalog 'type' must not be
null"
- assert (
- self._catalog.audit_info() is not None
- ), "catalog 'audit' must not be null"
+ if self._catalog is None:
+ raise IllegalArgumentException("catalog must not be null")
+ if self._catalog.name() is None:
+ raise IllegalArgumentException("catalog 'name' must not be null
and empty")
+ if self._catalog.type() is None:
+ raise IllegalArgumentException("catalog 'type' must not be null")
+ if self._catalog.audit_info() is None:
+ raise IllegalArgumentException("catalog 'audit' must not be null")
def catalog(self) -> CatalogDTO:
return self._catalog
diff --git
a/clients/client-python/gravitino/dto/responses/entity_list_response.py
b/clients/client-python/gravitino/dto/responses/entity_list_response.py
index 4e32ac4e4..522eb4edc 100644
--- a/clients/client-python/gravitino/dto/responses/entity_list_response.py
+++ b/clients/client-python/gravitino/dto/responses/entity_list_response.py
@@ -23,6 +23,7 @@ from typing import List
from dataclasses_json import config
from gravitino.dto.responses.base_response import BaseResponse
+from gravitino.exceptions.base import IllegalArgumentException
from gravitino.name_identifier import NameIdentifier
@@ -43,4 +44,5 @@ class EntityListResponse(BaseResponse):
"""
super().validate()
- assert self._idents is not None, "identifiers must not be null"
+ if self._idents is None:
+ raise IllegalArgumentException("identifiers must not be null")
diff --git a/clients/client-python/gravitino/dto/responses/error_response.py
b/clients/client-python/gravitino/dto/responses/error_response.py
index ad1fd273e..1c4a0703c 100644
--- a/clients/client-python/gravitino/dto/responses/error_response.py
+++ b/clients/client-python/gravitino/dto/responses/error_response.py
@@ -23,7 +23,7 @@ from dataclasses_json import config
from gravitino.dto.responses.base_response import BaseResponse
from gravitino.constants.error import ErrorConstants, EXCEPTION_MAPPING
-from gravitino.exceptions.base import UnknownError
+from gravitino.exceptions.base import BadRequestException, UnknownError
@dataclass
@@ -46,12 +46,11 @@ class ErrorResponse(BaseResponse):
def validate(self):
super().validate()
- assert (
- self._type is not None and len(self._type) != 0
- ), "type cannot be None or empty"
- assert (
- self._message is not None and len(self._message) != 0
- ), "message cannot be None or empty"
+ if self._type is None or not self._type.strip():
+ raise BadRequestException("Type cannot be None or empty")
+
+ if self._message is None or not self._message.strip():
+ raise BadRequestException("Message cannot be None or empty")
def __repr__(self) -> str:
return (
diff --git a/clients/client-python/gravitino/dto/responses/fileset_response.py
b/clients/client-python/gravitino/dto/responses/fileset_response.py
index db0a1d886..f6460f433 100644
--- a/clients/client-python/gravitino/dto/responses/fileset_response.py
+++ b/clients/client-python/gravitino/dto/responses/fileset_response.py
@@ -23,6 +23,7 @@ from dataclasses_json import config
from gravitino.dto.fileset_dto import FilesetDTO
from gravitino.dto.responses.base_response import BaseResponse
+from gravitino.exceptions.base import IllegalArgumentException
@dataclass
@@ -41,11 +42,13 @@ class FilesetResponse(BaseResponse):
IllegalArgumentException if catalog identifiers are not set.
"""
super().validate()
- assert self._fileset is not None, "fileset must not be null"
- assert self._fileset.name, "fileset 'name' must not be null and empty"
- assert (
- self._fileset.storage_location
- ), "fileset 'storageLocation' must not be null and empty"
- assert (
- self._fileset.type is not None
- ), "fileset 'type' must not be null and empty"
+ if self._fileset is None:
+ raise IllegalArgumentException("fileset must not be null")
+ if not self._fileset.name():
+ raise IllegalArgumentException("fileset 'name' must not be null
and empty")
+ if not self._fileset.storage_location():
+ raise IllegalArgumentException(
+ "fileset 'storageLocation' must not be null and empty"
+ )
+ if self._fileset.type() is None:
+ raise IllegalArgumentException("fileset 'type' must not be null
and empty")
diff --git a/clients/client-python/gravitino/dto/responses/metalake_response.py
b/clients/client-python/gravitino/dto/responses/metalake_response.py
index c3c4be103..996e98ed9 100644
--- a/clients/client-python/gravitino/dto/responses/metalake_response.py
+++ b/clients/client-python/gravitino/dto/responses/metalake_response.py
@@ -24,6 +24,7 @@ from dataclasses_json import config
from gravitino.dto.metalake_dto import MetalakeDTO
from gravitino.dto.responses.base_response import BaseResponse
+from gravitino.exceptions.base import IllegalArgumentException
@dataclass
@@ -41,10 +42,11 @@ class MetalakeResponse(BaseResponse):
"""
super().validate()
- assert self._metalake is not None, "metalake must not be null"
- assert (
- self._metalake.name() is not None
- ), "metalake 'name' must not be null and empty"
- assert (
- self._metalake.audit_info() is not None
- ), "metalake 'audit' must not be null"
+ if self._metalake is None:
+ raise IllegalArgumentException("Metalake must not be null")
+
+ if self._metalake.name() is None:
+ raise IllegalArgumentException("Metalake 'name' must not be null
and empty")
+
+ if self._metalake.audit_info() is None:
+ raise IllegalArgumentException("Metalake 'audit' must not be null")
diff --git
a/clients/client-python/gravitino/dto/responses/oauth2_error_response.py
b/clients/client-python/gravitino/dto/responses/oauth2_error_response.py
index f7e472c13..20edf171d 100644
--- a/clients/client-python/gravitino/dto/responses/oauth2_error_response.py
+++ b/clients/client-python/gravitino/dto/responses/oauth2_error_response.py
@@ -21,6 +21,7 @@ from dataclasses import dataclass, field
from dataclasses_json import config
from gravitino.dto.responses.error_response import ErrorResponse
+from gravitino.exceptions.base import IllegalArgumentException
@dataclass
@@ -37,4 +38,5 @@ class OAuth2ErrorResponse(ErrorResponse):
return self._message
def validate(self):
- assert self._type is not None, "OAuthErrorResponse should contain type"
+ if self._type is None:
+ raise IllegalArgumentException("OAuthErrorResponse should contain
type")
diff --git
a/clients/client-python/gravitino/dto/responses/oauth2_token_response.py
b/clients/client-python/gravitino/dto/responses/oauth2_token_response.py
index 07869ec03..37071b723 100644
--- a/clients/client-python/gravitino/dto/responses/oauth2_token_response.py
+++ b/clients/client-python/gravitino/dto/responses/oauth2_token_response.py
@@ -23,6 +23,7 @@ from dataclasses_json import config
from gravitino.dto.responses.base_response import BaseResponse
from gravitino.auth.auth_constants import AuthConstants
+from gravitino.exceptions.base import IllegalArgumentException
@dataclass
@@ -45,11 +46,16 @@ class OAuth2TokenResponse(BaseResponse):
"""
super().validate()
- assert self._access_token is not None, "Invalid access token: None"
- assert (
+ if self._access_token is None:
+ raise IllegalArgumentException("Invalid access token: None")
+
+ if (
AuthConstants.AUTHORIZATION_BEARER_HEADER.strip().lower()
- == self._token_type.lower()
- ), f'Unsupported token type: {self._token_type} (must be "bearer")'
+ != self._token_type.lower()
+ ):
+ raise IllegalArgumentException(
+ f'Unsupported token type: {self._token_type} (must be
"bearer")'
+ )
def access_token(self) -> str:
return self._access_token
diff --git a/clients/client-python/gravitino/dto/responses/schema_response.py
b/clients/client-python/gravitino/dto/responses/schema_response.py
index 836b5376e..ed6f04caf 100644
--- a/clients/client-python/gravitino/dto/responses/schema_response.py
+++ b/clients/client-python/gravitino/dto/responses/schema_response.py
@@ -23,6 +23,7 @@ from dataclasses_json import DataClassJsonMixin, config
from gravitino.dto.responses.base_response import BaseResponse
from gravitino.dto.schema_dto import SchemaDTO
+from gravitino.exceptions.base import IllegalArgumentException
@dataclass
@@ -44,8 +45,11 @@ class SchemaResponse(BaseResponse, DataClassJsonMixin):
"""
super().validate()
- assert self._schema is not None, "schema must be non-null"
- assert (
- self._schema.name() is not None
- ), "schema 'name' must not be null and empty"
- assert self._schema.audit_info() is not None, "schema 'audit' must not
be null"
+ if self._schema is None:
+ raise IllegalArgumentException("Schema must be non-null")
+
+ if self._schema.name() is None:
+ raise IllegalArgumentException("Schema 'name' must not be null and
empty")
+
+ if self._schema.audit_info() is None:
+ raise IllegalArgumentException("Schema 'audit' must not be null")
diff --git a/clients/client-python/gravitino/dto/responses/version_response.py
b/clients/client-python/gravitino/dto/responses/version_response.py
index abeebcabf..acb6ca808 100644
--- a/clients/client-python/gravitino/dto/responses/version_response.py
+++ b/clients/client-python/gravitino/dto/responses/version_response.py
@@ -22,6 +22,7 @@ from dataclasses_json import config
from gravitino.dto.responses.base_response import BaseResponse
from gravitino.dto.version_dto import VersionDTO
+from gravitino.exceptions.base import IllegalArgumentException
@dataclass
@@ -41,13 +42,20 @@ class VersionResponse(BaseResponse):
"""
super().validate()
- assert self._version is not None, "version must be non-null"
- assert (
- self._version.version() is not None
- ), "version 'version' must not be null and empty"
- assert (
- self._version.compile_date() is not None
- ), "version 'compile_date' must not be null and empty"
- assert (
- self._version.git_commit() is not None
- ), "version 'git_commit' must not be null and empty"
+ if self._version is None:
+ raise IllegalArgumentException("Version must be non-null")
+
+ if self._version.version() is None:
+ raise IllegalArgumentException(
+ "Version 'version' must not be null or empty"
+ )
+
+ if self._version.compile_date() is None:
+ raise IllegalArgumentException(
+ "Version 'compile_date' must not be null or empty"
+ )
+
+ if self._version.git_commit() is None:
+ raise IllegalArgumentException(
+ "Version 'git_commit' must not be null or empty"
+ )
diff --git a/clients/client-python/gravitino/namespace.py
b/clients/client-python/gravitino/namespace.py
index 221fd3ea8..0fa23922e 100644
--- a/clients/client-python/gravitino/namespace.py
+++ b/clients/client-python/gravitino/namespace.py
@@ -40,9 +40,10 @@ class Namespace:
@classmethod
def from_json(cls, levels):
- assert levels is not None and isinstance(
- levels, list
- ), f"Cannot parse name identifier from invalid JSON: {levels}"
+ if levels is None or not isinstance(levels, list):
+ raise IllegalNamespaceException(
+ f"Cannot parse name identifier from invalid JSON: {levels}"
+ )
return cls(levels)
@staticmethod
diff --git a/clients/client-python/gravitino/rest/rest_utils.py
b/clients/client-python/gravitino/rest/rest_utils.py
index 077511a2f..7e31633ec 100644
--- a/clients/client-python/gravitino/rest/rest_utils.py
+++ b/clients/client-python/gravitino/rest/rest_utils.py
@@ -18,10 +18,12 @@ under the License.
"""
import urllib.parse
+from gravitino.exceptions.base import IllegalArgumentException
def encode_string(to_encode: str):
- assert to_encode is not None, "Invalid string to encode: None"
+ if to_encode is None:
+ raise IllegalArgumentException("Invalid string to encode: None")
return urllib.parse.quote(to_encode)
diff --git a/clients/client-python/tests/integration/hdfs_container.py
b/clients/client-python/tests/integration/hdfs_container.py
index b9e1887fc..176fb052c 100644
--- a/clients/client-python/tests/integration/hdfs_container.py
+++ b/clients/client-python/tests/integration/hdfs_container.py
@@ -27,6 +27,7 @@ from docker import types as tp
from docker.errors import NotFound
from gravitino.exceptions.base import GravitinoRuntimeException
+from gravitino.exceptions.base import InternalError
logger = logging.getLogger(__name__)
@@ -63,7 +64,8 @@ async def check_hdfs_container_status(hdfs_container):
result = await asyncio.wait_for(
check_hdfs_status(hdfs_container), timeout=timeout_sec
)
- assert result is True, "HDFS container startup failed!"
+ if not result:
+ raise InternalError("HDFS container startup failed!")
except asyncio.TimeoutError as e:
raise GravitinoRuntimeException(
"Timeout occurred while waiting for checking HDFS container
status."
diff --git
a/clients/client-python/tests/unittests/auth/test_oauth2_token_provider.py
b/clients/client-python/tests/unittests/auth/test_oauth2_token_provider.py
index 7d9ef9e25..447d16570 100644
--- a/clients/client-python/tests/unittests/auth/test_oauth2_token_provider.py
+++ b/clients/client-python/tests/unittests/auth/test_oauth2_token_provider.py
@@ -22,7 +22,11 @@ from unittest.mock import patch
from gravitino.auth.auth_constants import AuthConstants
from gravitino.auth.default_oauth2_token_provider import
DefaultOAuth2TokenProvider
-from gravitino.exceptions.base import BadRequestException,
UnauthorizedException
+from gravitino.exceptions.base import (
+ BadRequestException,
+ IllegalArgumentException,
+ UnauthorizedException,
+)
from tests.unittests.auth import mock_base
OAUTH_PORT = 1082
@@ -32,13 +36,13 @@ class TestOAuth2TokenProvider(unittest.TestCase):
def test_provider_init_exception(self):
- with self.assertRaises(AssertionError):
+ with self.assertRaises(IllegalArgumentException):
_ = DefaultOAuth2TokenProvider(uri="test")
- with self.assertRaises(AssertionError):
+ with self.assertRaises(IllegalArgumentException):
_ = DefaultOAuth2TokenProvider(uri="test", credential="xx")
- with self.assertRaises(AssertionError):
+ with self.assertRaises(IllegalArgumentException):
_ = DefaultOAuth2TokenProvider(uri="test", credential="xx",
scope="test")
@patch(
@@ -75,7 +79,7 @@ class TestOAuth2TokenProvider(unittest.TestCase):
)
def test_authentication_with_error_authentication_type(self,
*mock_methods):
- with self.assertRaises(AssertionError):
+ with self.assertRaises(IllegalArgumentException):
_ = DefaultOAuth2TokenProvider(
uri=f"http://127.0.0.1:{OAUTH_PORT}",
credential="yy:xx",
diff --git a/clients/client-python/tests/unittests/test_gravitino_version.py
b/clients/client-python/tests/unittests/test_gravitino_version.py
index 6f18bcfd1..37a4a7b68 100644
--- a/clients/client-python/tests/unittests/test_gravitino_version.py
+++ b/clients/client-python/tests/unittests/test_gravitino_version.py
@@ -21,7 +21,7 @@ import unittest
from gravitino.client.gravitino_version import GravitinoVersion
from gravitino.dto.version_dto import VersionDTO
-from gravitino.exceptions.base import GravitinoRuntimeException
+from gravitino.exceptions.base import BadRequestException,
GravitinoRuntimeException
class TestGravitinoVersion(unittest.TestCase):
@@ -57,16 +57,12 @@ class TestGravitinoVersion(unittest.TestCase):
self.assertEqual(version.patch, 0)
# Test an invalid the version string with 2 part
- self.assertRaises(
- AssertionError, GravitinoVersion, VersionDTO("0.6", "2023-01-01",
"1234567")
- )
+ with self.assertRaises(BadRequestException):
+ GravitinoVersion(VersionDTO("0.6", "2023-01-01", "1234567"))
# Test an invalid the version string with not number
- self.assertRaises(
- AssertionError,
- GravitinoVersion,
- VersionDTO("a.b.c", "2023-01-01", "1234567"),
- )
+ with self.assertRaises(BadRequestException):
+ GravitinoVersion(VersionDTO("a.b.c", "2023-01-01", "1234567"))
def test_version_compare(self):
# test equal