@@ -400,6 +400,52 @@ def test_list_tables_404(rest_mock: Mocker) -> None:
400400 assert "Namespace does not exist" in str (e .value )
401401
402402
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+
403449def test_list_namespaces_200 (rest_mock : Mocker ) -> None :
404450 rest_mock .get (
405451 f"{ TEST_URI } v1/namespaces" ,
0 commit comments