2020-04-08 01:35:15 +00:00
|
|
|
import pytest
|
2024-09-27 10:19:39 +00:00
|
|
|
|
2020-04-08 01:35:15 +00:00
|
|
|
from helpers.cluster import ClickHouseCluster
|
|
|
|
|
|
|
|
cluster = ClickHouseCluster(__file__)
|
2022-03-22 16:39:58 +00:00
|
|
|
instance = cluster.add_instance(
|
|
|
|
"instance", user_configs=["configs/users.d/extra_users.xml"]
|
|
|
|
)
|
2020-04-08 01:35:15 +00:00
|
|
|
|
2020-09-16 04:26:10 +00:00
|
|
|
|
2020-04-08 01:35:15 +00:00
|
|
|
@pytest.fixture(scope="module", autouse=True)
|
|
|
|
def started_cluster():
|
|
|
|
try:
|
|
|
|
cluster.start()
|
|
|
|
yield cluster
|
|
|
|
|
|
|
|
finally:
|
|
|
|
cluster.shutdown()
|
|
|
|
|
|
|
|
|
|
|
|
def test_enabling_access_management():
|
2024-09-02 12:59:28 +00:00
|
|
|
instance.query("DROP USER IF EXISTS Alex")
|
|
|
|
|
2022-03-22 16:39:58 +00:00
|
|
|
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"
|
2022-03-22 16:39:58 +00:00
|
|
|
)
|
|
|
|
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"
|
2022-03-22 16:39:58 +00:00
|
|
|
)
|
|
|
|
assert "Not enough privileges" in instance.query_and_get_error(
|
|
|
|
"SHOW CREATE USER Alex", user="xyz"
|
|
|
|
)
|
2020-04-08 01:35:15 +00:00
|
|
|
|
2022-03-22 16:39:58 +00:00
|
|
|
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"
|
|
|
|
)
|
2024-09-02 12:59:28 +00:00
|
|
|
|
|
|
|
instance.query("DROP USER IF EXISTS Alex")
|