Skip to content

Commit 7ff79d3

Browse files
authored
initial commit (#282)
1 parent fda5a41 commit 7ff79d3

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

arango/database.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2132,9 +2132,9 @@ def response_handler(resp: Response) -> Jsons:
21322132
return self._execute(request, response_handler)
21332133

21342134
def view(self, name: str) -> Result[Json]:
2135-
"""Return view details.
2135+
"""Return the properties of a View.
21362136
2137-
:return: View details.
2137+
:return: The View properties.
21382138
:rtype: dict
21392139
:raise arango.exceptions.ViewGetError: If retrieval fails.
21402140
"""
@@ -2147,6 +2147,22 @@ def response_handler(resp: Response) -> Json:
21472147

21482148
return self._execute(request, response_handler)
21492149

2150+
def view_info(self, name: str) -> Result[Json]:
2151+
"""Return the id, name and type of a View.
2152+
2153+
:return: Some View information.
2154+
:rtype: dict
2155+
:raise arango.exceptions.ViewGetError: If retrieval fails.
2156+
"""
2157+
request = Request(method="get", endpoint=f"/_api/view/{name}")
2158+
2159+
def response_handler(resp: Response) -> Json:
2160+
if resp.is_success:
2161+
return format_view(resp.body)
2162+
raise ViewGetError(resp, request)
2163+
2164+
return self._execute(request, response_handler)
2165+
21502166
def create_view(
21512167
self, name: str, view_type: str, properties: Optional[Json] = None
21522168
) -> Result[Json]:

tests/test_view.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,28 @@ def test_view_management(db, bad_db, col, cluster):
4949
bad_db.views()
5050
assert err.value.error_code in {11, 1228}
5151

52-
# Test get view
52+
# Test get view (properties)
5353
view = db.view(view_name)
5454
assert view["id"] == view_id
5555
assert view["name"] == view_name
5656
assert view["type"] == view_type
5757
assert view["consolidation_interval_msec"] == 50000
5858

59+
# Test get view (info)
60+
view_info = db.view_info(view_name)
61+
assert view_info["id"] == view_id
62+
assert view_info["name"] == view_name
63+
assert view_info["type"] == view_type
64+
5965
# Test get missing view
6066
with assert_raises(ViewGetError) as err:
6167
db.view(bad_view_name)
6268
assert err.value.error_code == 1203
6369

70+
with assert_raises(ViewGetError) as err:
71+
db.view_info(bad_view_name)
72+
assert err.value.error_code == 1203
73+
6474
# Test update view
6575
view = db.update_view(view_name, {"consolidationIntervalMsec": 70000})
6676
assert view["id"] == view_id

0 commit comments

Comments
 (0)