mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-29 19:12:03 +00:00
b75963d370
This PR formats all the `*.py` files found under the `tests/integration` folder. It also reorders the imports and cleans up a bunch of unused imports. The formatting also takes care of other things like wrapping lines and fixing spaces and indents such that the tests look more readable.
77 lines
2.8 KiB
Python
77 lines
2.8 KiB
Python
import pytest
|
|
from helpers.cluster import ClickHouseCluster
|
|
from helpers.test_tools import TSV
|
|
|
|
cluster = ClickHouseCluster(__file__)
|
|
instance = cluster.add_instance('instance')
|
|
|
|
|
|
@pytest.fixture(scope="module", autouse=True)
|
|
def started_cluster():
|
|
try:
|
|
cluster.start()
|
|
|
|
instance.query("CREATE USER john")
|
|
instance.query("CREATE ROLE rx")
|
|
instance.query("CREATE ROLE ry")
|
|
|
|
yield cluster
|
|
|
|
finally:
|
|
cluster.shutdown()
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def reset_users_and_roles():
|
|
instance.query("CREATE USER OR REPLACE john")
|
|
yield
|
|
|
|
|
|
def test_set_default_roles():
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == ""
|
|
|
|
instance.query("GRANT rx, ry TO john")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == TSV([['rx', 0, 1], ['ry', 0, 1]])
|
|
|
|
instance.query("SET DEFAULT ROLE NONE TO john")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == ""
|
|
|
|
instance.query("SET DEFAULT ROLE rx TO john")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == TSV([['rx', 0, 1]])
|
|
|
|
instance.query("SET DEFAULT ROLE ry TO john")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == TSV([['ry', 0, 1]])
|
|
|
|
instance.query("SET DEFAULT ROLE ALL TO john")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == TSV([['rx', 0, 1], ['ry', 0, 1]])
|
|
|
|
instance.query("SET DEFAULT ROLE ALL EXCEPT rx TO john")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == TSV([['ry', 0, 1]])
|
|
|
|
|
|
def test_alter_user():
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == ""
|
|
|
|
instance.query("GRANT rx, ry TO john")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == TSV([['rx', 0, 1], ['ry', 0, 1]])
|
|
|
|
instance.query("ALTER USER john DEFAULT ROLE NONE")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == ""
|
|
|
|
instance.query("ALTER USER john DEFAULT ROLE rx")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == TSV([['rx', 0, 1]])
|
|
|
|
instance.query("ALTER USER john DEFAULT ROLE ALL")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == TSV([['rx', 0, 1], ['ry', 0, 1]])
|
|
|
|
instance.query("ALTER USER john DEFAULT ROLE ALL EXCEPT rx")
|
|
assert instance.query("SHOW CURRENT ROLES", user="john") == TSV([['ry', 0, 1]])
|
|
|
|
|
|
def test_wrong_set_default_role():
|
|
assert "There is no user `rx`" in instance.query_and_get_error("SET DEFAULT ROLE NONE TO rx")
|
|
assert "There is no user `ry`" in instance.query_and_get_error("SET DEFAULT ROLE rx TO ry")
|
|
assert "There is no role `john`" in instance.query_and_get_error("SET DEFAULT ROLE john TO john")
|
|
assert "There is no role `john`" in instance.query_and_get_error("ALTER USER john DEFAULT ROLE john")
|
|
assert "There is no role `john`" in instance.query_and_get_error("ALTER USER john DEFAULT ROLE ALL EXCEPT john")
|