chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
# ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
|
||||
# ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
|
||||
# ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
|
||||
# ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
|
||||
# ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
|
||||
# ┃ Copyright (c) 2017, the Perspective Authors. ┃
|
||||
# ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
|
||||
# ┃ This file is part of the Perspective library, distributed under the terms ┃
|
||||
# ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
|
||||
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
|
||||
from pytest import raises
|
||||
from perspective import PerspectiveError
|
||||
|
||||
import perspective as psp
|
||||
|
||||
client = psp.Server().new_local_client()
|
||||
Table = client.table
|
||||
|
||||
|
||||
class TestException(object):
|
||||
def test_instantiation_exception_table(self):
|
||||
from perspective import Table
|
||||
with raises(TypeError) as ex:
|
||||
Table()
|
||||
assert "Do not call Table's constructor directly" in str(ex.value)
|
||||
|
||||
def test_instantiation_exception_view(self):
|
||||
from perspective import View
|
||||
with raises(TypeError) as ex:
|
||||
View()
|
||||
assert "Do not call View's constructor directly" in str(ex.value)
|
||||
|
||||
def test_exception_from_core(self):
|
||||
tbl = Table({"a": [1, 2, 3]})
|
||||
|
||||
with raises(PerspectiveError) as ex:
|
||||
# creating view with unknown column should throw
|
||||
tbl.view(group_by=["b"])
|
||||
|
||||
assert str(ex.value) == "Abort(): Invalid column 'b' found in View group_by.\n"
|
||||
|
||||
def test_exception_from_core_catch_generic(self):
|
||||
tbl = Table({"a": [1, 2, 3]})
|
||||
# `PerspectiveCppError` should inherit from `Exception`
|
||||
with raises(Exception) as ex:
|
||||
tbl.view(group_by=["b"])
|
||||
|
||||
assert str(ex.value) == "Abort(): Invalid column 'b' found in View group_by.\n"
|
||||
|
||||
def test_exception_from_core_correct_types(self):
|
||||
tbl = Table({"a": [1, 2, 3]})
|
||||
|
||||
# `PerspectiveError` should be raised from the Python layer
|
||||
with raises(PerspectiveError) as ex:
|
||||
tbl.view()
|
||||
tbl.delete()
|
||||
|
||||
assert str(ex.value) == "Abort(): Cannot delete table with views"
|
||||
|
||||
with raises(PerspectiveError) as ex:
|
||||
tbl.view(group_by=["b"])
|
||||
|
||||
assert str(ex.value) == "Abort(): Invalid column 'b' found in View group_by.\n"
|
||||
Reference in New Issue
Block a user