mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-14 01:40:08 +00:00
MINOR - Fix clean_uri and add before pagination (#18826)
* print * MINOR - Fix clean_uri and add before pagination * MINOR - Fix clean_uri and add before pagination
This commit is contained in:
parent
b614594252
commit
460d20a856
@ -30,3 +30,4 @@ class EntityList(BaseModel, Generic[T]):
|
|||||||
entities: List[T]
|
entities: List[T]
|
||||||
total: int
|
total: int
|
||||||
after: Optional[str] = None
|
after: Optional[str] = None
|
||||||
|
before: Optional[str] = None
|
||||||
|
|||||||
@ -378,12 +378,13 @@ class OpenMetadata(
|
|||||||
logger.debug("Cannot find the Entity %s", fqn)
|
logger.debug("Cannot find the Entity %s", fqn)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# pylint: disable=too-many-locals
|
# pylint: disable=too-many-locals, too-many-arguments
|
||||||
def list_entities(
|
def list_entities(
|
||||||
self,
|
self,
|
||||||
entity: Type[T],
|
entity: Type[T],
|
||||||
fields: Optional[List[str]] = None,
|
fields: Optional[List[str]] = None,
|
||||||
after: Optional[str] = None,
|
after: Optional[str] = None,
|
||||||
|
before: Optional[str] = None,
|
||||||
limit: int = 100,
|
limit: int = 100,
|
||||||
params: Optional[Dict[str, str]] = None,
|
params: Optional[Dict[str, str]] = None,
|
||||||
skip_on_failure: bool = False,
|
skip_on_failure: bool = False,
|
||||||
@ -395,9 +396,10 @@ class OpenMetadata(
|
|||||||
suffix = self.get_suffix(entity)
|
suffix = self.get_suffix(entity)
|
||||||
url_limit = f"?limit={limit}"
|
url_limit = f"?limit={limit}"
|
||||||
url_after = f"&after={after}" if after else ""
|
url_after = f"&after={after}" if after else ""
|
||||||
|
url_before = f"&before={before}" if before else ""
|
||||||
url_fields = f"&fields={','.join(fields)}" if fields else ""
|
url_fields = f"&fields={','.join(fields)}" if fields else ""
|
||||||
resp = self.client.get(
|
resp = self.client.get(
|
||||||
path=f"{suffix}{url_limit}{url_after}{url_fields}", data=params
|
path=f"{suffix}{url_limit}{url_after}{url_before}{url_fields}", data=params
|
||||||
)
|
)
|
||||||
|
|
||||||
if self._use_raw_data:
|
if self._use_raw_data:
|
||||||
@ -421,7 +423,8 @@ class OpenMetadata(
|
|||||||
|
|
||||||
total = resp["paging"]["total"]
|
total = resp["paging"]["total"]
|
||||||
after = resp["paging"]["after"] if "after" in resp["paging"] else None
|
after = resp["paging"]["after"] if "after" in resp["paging"] else None
|
||||||
return EntityList(entities=entities, total=total, after=after)
|
before = resp["paging"]["before"] if "before" in resp["paging"] else None
|
||||||
|
return EntityList(entities=entities, total=total, after=after, before=before)
|
||||||
|
|
||||||
def list_all_entities(
|
def list_all_entities(
|
||||||
self,
|
self,
|
||||||
|
|||||||
@ -360,7 +360,6 @@ def clean_uri(uri: Union[str, Url]) -> str:
|
|||||||
make it http://localhost:9000
|
make it http://localhost:9000
|
||||||
"""
|
"""
|
||||||
# force a string of the given Uri if needed
|
# force a string of the given Uri if needed
|
||||||
if isinstance(uri, Url):
|
|
||||||
uri = str(uri)
|
uri = str(uri)
|
||||||
return uri[:-1] if uri.endswith("/") else uri
|
return uri[:-1] if uri.endswith("/") else uri
|
||||||
|
|
||||||
|
|||||||
@ -299,7 +299,7 @@ class OMetaTableTest(TestCase):
|
|||||||
)
|
)
|
||||||
assert data
|
assert data
|
||||||
|
|
||||||
def test_list_all(self):
|
def test_list_all_and_paginate(self):
|
||||||
"""
|
"""
|
||||||
Validate generator utility to fetch all tables
|
Validate generator utility to fetch all tables
|
||||||
"""
|
"""
|
||||||
@ -315,6 +315,17 @@ class OMetaTableTest(TestCase):
|
|||||||
len(list(all_entities)) >= 10
|
len(list(all_entities)) >= 10
|
||||||
) # In case the default testing entity is not present
|
) # In case the default testing entity is not present
|
||||||
|
|
||||||
|
entity_list = self.metadata.list_entities(entity=Table, limit=2)
|
||||||
|
assert len(entity_list.entities) == 2
|
||||||
|
after_entity_list = self.metadata.list_entities(
|
||||||
|
entity=Table, limit=2, after=entity_list.after
|
||||||
|
)
|
||||||
|
assert len(after_entity_list.entities) == 2
|
||||||
|
before_entity_list = self.metadata.list_entities(
|
||||||
|
entity=Table, limit=2, before=after_entity_list.before
|
||||||
|
)
|
||||||
|
assert before_entity_list.entities == entity_list.entities
|
||||||
|
|
||||||
def test_delete(self):
|
def test_delete(self):
|
||||||
"""
|
"""
|
||||||
We can delete a Table by ID
|
We can delete a Table by ID
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user