Skip to content

Commit 7415f6a

Browse files
committed
test renaming tables via POST
1 parent 9234abe commit 7415f6a

File tree

1 file changed

+48
-38
lines changed

1 file changed

+48
-38
lines changed

tsdfileapi/test_file_api.py

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -354,26 +354,6 @@ def test_K_put_stream_file_chunked_transfer_encoding(self) -> None:
354354
# Informational
355355
# --------------
356356

357-
def test_W_create_and_insert_into_generic_table(self) -> None:
358-
# TODO: harden these tests - check return values
359-
data = [
360-
{"key1": 7, "key2": "bla", "id": random.randint(0, 1000000)},
361-
{"key1": 99, "key3": False, "id": random.randint(0, 1000000)},
362-
]
363-
headers = {"Authorization": "Bearer " + TEST_TOKENS["VALID"]}
364-
resp = requests.put(
365-
self.base_url + "/tables/generic/mytest1",
366-
data=json.dumps(data),
367-
headers=headers,
368-
)
369-
self.assertEqual(resp.status_code, 201)
370-
headers = {
371-
"Authorization": "Bearer " + TEST_TOKENS["EXPORT"],
372-
"Accept": "text/csv",
373-
}
374-
resp = requests.get(self.base_url + "/tables/generic/mytest1", headers=headers)
375-
self.assertTrue(resp.status_code in [200, 201])
376-
377357
def use_generic_table(self, app_route: str, url_tokens_method: str) -> None:
378358
methods = {"GET": requests.get, "PUT": requests.put, "DELETE": requests.delete}
379359
for url, token, method in url_tokens_method:
@@ -382,26 +362,50 @@ def use_generic_table(self, app_route: str, url_tokens_method: str) -> None:
382362
resp = methods[method](full_url, headers=headers)
383363
self.assertTrue(resp.status_code in [200, 201])
384364

385-
def test_X_use_generic_table(self) -> None:
386-
# TODO: harden these tests - check return values
387-
generic_url_tokens_method = [
388-
("", "VALID", "GET"),
389-
("/mytest1", "EXPORT", "GET"),
390-
("/mytest1?select=key1&where=key2=eq.bla&order=key1.desc", "EXPORT", "GET"),
391-
("/mytest1", "EXPORT", "GET"),
392-
("/mytest1?where=key1=eq.99", "ADMIN", "DELETE"),
393-
("/mytest1", "EXPORT", "GET"),
394-
("/mytest1?where=key1=not.is.null", "ADMIN", "DELETE"),
395-
]
396-
for app, acl in [("/tables/generic", generic_url_tokens_method)]:
397-
self.use_generic_table(app, acl)
398-
headers = {"Authorization": "Bearer " + TEST_TOKENS["VALID"]}
399-
resp = requests.patch(
400-
self.base_url + "/tables/generic/mytest1?set=key1&where=key2=eq.bla",
401-
data=json.dumps({"key1": 1000}),
365+
def test_tables(self) -> None:
366+
headers = {"Authorization": f'Bearer {TEST_TOKENS["EXPORT"]}'}
367+
368+
# if it exists
369+
resp = requests.delete(
370+
f"{self.base_url}/apps/generic/tables/table1",
402371
headers=headers,
403372
)
404-
self.assertEqual(resp.status_code, 201)
373+
resp = requests.delete(
374+
f"{self.base_url}/apps/generic/tables/table2",
375+
headers=headers,
376+
)
377+
378+
# create a table
379+
data = {"x": 10, "y": 11}
380+
resp = requests.put(
381+
f"{self.base_url}/apps/generic/tables/table1",
382+
data=json.dumps(data),
383+
headers=headers,
384+
)
385+
resp = requests.get(
386+
f"{self.base_url}/apps/generic/tables/table1",
387+
headers=headers,
388+
)
389+
self.assertEqual(json.loads(resp.text), [data])
390+
391+
# rename the table
392+
resp = requests.post(
393+
f"{self.base_url}/apps/generic/tables/table1?alter=name=eq.table2",
394+
headers=headers,
395+
)
396+
self.assertEqual(json.loads(resp.text), {"tables": ["table1"]})
397+
398+
resp = requests.get(
399+
f"{self.base_url}/apps/generic/tables/table2",
400+
headers=headers,
401+
)
402+
self.assertEqual(json.loads(resp.text), [data])
403+
404+
resp = requests.get(
405+
f"{self.base_url}/apps/generic/tables/table1",
406+
headers=headers,
407+
)
408+
self.assertEqual(resp.status_code, 404)
405409

406410
def test_XXX_query_invalid(self) -> None:
407411
headers = {"Authorization": "Bearer " + TEST_TOKENS["VALID"]}
@@ -2806,6 +2810,9 @@ def main() -> None:
28062810
"test_XXX_nettskjema_backend",
28072811
"test_survey_api_queries",
28082812
]
2813+
tables = [
2814+
"test_tables",
2815+
]
28092816
load = ["test_XXX_load"]
28102817
apps = [
28112818
"test_app_backend",
@@ -2869,6 +2876,8 @@ def main() -> None:
28692876
tests.extend(logs)
28702877
if "storage" in sys.argv:
28712878
tests.extend(storage)
2879+
if "tables" in sys.argv:
2880+
tests.extend(tables)
28722881
if "all" in sys.argv:
28732882
tests.extend(base)
28742883
tests.extend(sns)
@@ -2885,6 +2894,7 @@ def main() -> None:
28852894
tests.extend(crypt)
28862895
tests.extend(mtime)
28872896
tests.extend(logs)
2897+
tests.extend(tables)
28882898
tests.sort()
28892899
suite = unittest.TestSuite()
28902900
for test in tests:

0 commit comments

Comments
 (0)