Skip to content

Commit bc4edbe

Browse files
committed
KAB-46 table metadata delete
1 parent 1335852 commit bc4edbe

2 files changed

Lines changed: 27 additions & 1 deletion

File tree

kbcstorage/tables_metadata.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,26 @@ def list(self, table_id):
4646

4747
return self._get(url)
4848

49+
def delete(self, table_id, metadata_id):
50+
"""
51+
Delete a table referenced by ``table_id``.
52+
53+
Args:
54+
table_id (str): The id of the table to be deleted.
55+
56+
Raises:
57+
requests.HTTPError: If the API request fails.
58+
ValueError: If the table_id is not a string or is empty.
59+
"""
60+
if not isinstance(table_id, str) or table_id == '':
61+
raise ValueError("Invalid table_id '{}'.".format(table_id))
62+
if not isinstance(metadata_id, str) or metadata_id == '':
63+
raise ValueError("Invalid metadata_id '{}'.".format(metadata_id))
64+
65+
url = '{}/{}/metadata/{}'.format(self.base_url, table_id, metadata_id)
66+
67+
self._delete(url)
68+
4969
def create(self, table_id, provider, metadata, columns_metadata):
5070
"""
5171
Post metadata to a table.

tests/functional/test_tables.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,4 +382,10 @@ def test_table_with_metadata(self):
382382
self.assertEqual(1, len(listedMetadata))
383383
self.assertEqual('test_table_with_metadata', listedMetadata[0]['key'])
384384
self.assertEqual('test', listedMetadata[0]['provider'])
385-
self.assertEqual('success', listedMetadata[0]['value'])
385+
self.assertEqual('success', listedMetadata[0]['value'])
386+
387+
self.tables.metadata.delete(table_id=table_id, metadata_id=listedMetadata[0]['id'])
388+
389+
listedMetadata = self.tables.metadata.list(table_id=table_id);
390+
with self.subTest('Test metadata can was deleted'):
391+
self.assertEqual(0, len(listedMetadata))

0 commit comments

Comments
 (0)