@@ -400,6 +400,52 @@ def test_list_tables_404(rest_mock: Mocker) -> None:
400
400
assert "Namespace does not exist" in str (e .value )
401
401
402
402
403
+ def test_list_views_200 (rest_mock : Mocker ) -> None :
404
+ namespace = "examples"
405
+ rest_mock .get (
406
+ f"{ TEST_URI } v1/namespaces/{ namespace } /views" ,
407
+ json = {"identifiers" : [{"namespace" : ["examples" ], "name" : "fooshare" }]},
408
+ status_code = 200 ,
409
+ request_headers = TEST_HEADERS ,
410
+ )
411
+
412
+ assert RestCatalog ("rest" , uri = TEST_URI , token = TEST_TOKEN ).list_views (namespace ) == [("examples" , "fooshare" )]
413
+
414
+
415
+ def test_list_views_200_sigv4 (rest_mock : Mocker ) -> None :
416
+ namespace = "examples"
417
+ rest_mock .get (
418
+ f"{ TEST_URI } v1/namespaces/{ namespace } /views" ,
419
+ json = {"identifiers" : [{"namespace" : ["examples" ], "name" : "fooshare" }]},
420
+ status_code = 200 ,
421
+ request_headers = TEST_HEADERS ,
422
+ )
423
+
424
+ assert RestCatalog ("rest" , ** {"uri" : TEST_URI , "token" : TEST_TOKEN , "rest.sigv4-enabled" : "true" }).list_views (namespace ) == [
425
+ ("examples" , "fooshare" )
426
+ ]
427
+ assert rest_mock .called
428
+
429
+
430
+ def test_list_views_404 (rest_mock : Mocker ) -> None :
431
+ namespace = "examples"
432
+ rest_mock .get (
433
+ f"{ TEST_URI } v1/namespaces/{ namespace } /views" ,
434
+ json = {
435
+ "error" : {
436
+ "message" : "Namespace does not exist: personal in warehouse 8bcb0838-50fc-472d-9ddb-8feb89ef5f1e" ,
437
+ "type" : "NoSuchNamespaceException" ,
438
+ "code" : 404 ,
439
+ }
440
+ },
441
+ status_code = 404 ,
442
+ request_headers = TEST_HEADERS ,
443
+ )
444
+ with pytest .raises (NoSuchNamespaceError ) as e :
445
+ RestCatalog ("rest" , uri = TEST_URI , token = TEST_TOKEN ).list_views (namespace )
446
+ assert "Namespace does not exist" in str (e .value )
447
+
448
+
403
449
def test_list_namespaces_200 (rest_mock : Mocker ) -> None :
404
450
rest_mock .get (
405
451
f"{ TEST_URI } v1/namespaces" ,
0 commit comments