ClickHouse/tests/integration/test_enabling_access_management/test.py

45 lines
1.2 KiB
Python
Raw Normal View History

import pytest
2024-09-27 10:19:39 +00:00
from helpers.cluster import ClickHouseCluster
cluster = ClickHouseCluster(__file__)
instance = cluster.add_instance(
"instance", user_configs=["configs/users.d/extra_users.xml"]
)
@pytest.fixture(scope="module", autouse=True)
def started_cluster():
try:
cluster.start()
yield cluster
finally:
cluster.shutdown()
def test_enabling_access_management():
instance.query("DROP USER IF EXISTS Alex")
instance.query("CREATE USER Alex", user="default")
assert (
2024-06-27 11:52:20 +00:00
instance.query("SHOW CREATE USER Alex", user="default")
== "CREATE USER Alex IDENTIFIED WITH no_password\n"
)
assert (
2024-06-27 11:52:20 +00:00
instance.query("SHOW CREATE USER Alex", user="readonly")
== "CREATE USER Alex IDENTIFIED WITH no_password\n"
)
assert "Not enough privileges" in instance.query_and_get_error(
"SHOW CREATE USER Alex", user="xyz"
)
assert "Cannot execute query in readonly mode" in instance.query_and_get_error(
"CREATE USER Robin", user="readonly"
)
assert "Not enough privileges" in instance.query_and_get_error(
"CREATE USER Robin", user="xyz"
)
instance.query("DROP USER IF EXISTS Alex")