Skip to content

Commit 1335852

Browse files
committed
KAB-46 table metadata list
1 parent 1a1962f commit 1335852

2 files changed

Lines changed: 27 additions & 1 deletion

File tree

kbcstorage/tables_metadata.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,24 @@ def __init__(self, root_url, token):
2828
"""
2929
super().__init__(root_url, 'tables', token)
3030

31+
def list(self, table_id):
32+
"""
33+
List all metadata for table
34+
35+
Returns:
36+
response_body: The parsed json from the HTTP response.
37+
38+
Raises:
39+
requests.HTTPError: If the API request fails.
40+
ValueError: If the table_id is not a string or is empty.
41+
"""
42+
if not isinstance(table_id, str) or table_id == '':
43+
raise ValueError("Invalid table_id '{}'.".format(table_id))
44+
45+
url = '{}/{}/metadata'.format(self.base_url, table_id)
46+
47+
return self._get(url)
48+
3149
def create(self, table_id, provider, metadata, columns_metadata):
3250
"""
3351
Post metadata to a table.

tests/functional/test_tables.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,4 +374,12 @@ def test_table_with_metadata(self):
374374
self.assertEqual('test_column_with_metadata', table_info['columnMetadata']['col1'][0]['key'])
375375
self.assertEqual('test', table_info['columnMetadata']['col1'][0]['provider'])
376376
self.assertIn('timestamp', table_info['columnMetadata']['col1'][0])
377-
self.assertEqual('success', table_info['columnMetadata']['col1'][0]['value'])
377+
self.assertEqual('success', table_info['columnMetadata']['col1'][0]['value'])
378+
379+
listedMetadata = self.tables.metadata.list(table_id=table_id);
380+
381+
with self.subTest("Test metadata key in list response"):
382+
self.assertEqual(1, len(listedMetadata))
383+
self.assertEqual('test_table_with_metadata', listedMetadata[0]['key'])
384+
self.assertEqual('test', listedMetadata[0]['provider'])
385+
self.assertEqual('success', listedMetadata[0]['value'])

0 commit comments

Comments
 (0)