ClickHouse/dbms/tests/integration/test_inherit_multiple_profiles/test.py

75 lines
1.9 KiB
Python

import pytest
from helpers.client import QueryRuntimeException
from helpers.cluster import ClickHouseCluster
from helpers.test_tools import TSV
cluster = ClickHouseCluster(__file__)
instance = cluster.add_instance('instance',
user_configs=['configs/combined_profile.xml'])
q = instance.query
@pytest.fixture(scope="module")
def started_cluster():
try:
cluster.start()
yield cluster
finally:
cluster.shutdown()
def test_combined_profile(started_cluster):
settings = q('''
SELECT name, value FROM system.settings
WHERE name IN
('max_insert_block_size', 'max_network_bytes', 'max_query_size',
'max_parallel_replicas', 'readonly')
AND changed
ORDER BY name
''', user='test_combined_profile')
expected1 = '''\
max_insert_block_size 654321
max_network_bytes 1234567890
max_parallel_replicas 2
max_query_size 400000000
readonly 2'''
assert TSV(settings) == TSV(expected1)
with pytest.raises(QueryRuntimeException) as exc:
q('''
SET max_insert_block_size = 1000;
''', user='test_combined_profile')
assert ("max_insert_block_size shouldn't be less than 654320." in
str(exc.value))
with pytest.raises(QueryRuntimeException) as exc:
q('''
SET max_network_bytes = 2000000000;
''', user='test_combined_profile')
assert ("max_network_bytes shouldn't be greater than 1234567891." in
str(exc.value))
with pytest.raises(QueryRuntimeException) as exc:
q('''
SET max_parallel_replicas = 1000;
''', user='test_combined_profile')
assert ('max_parallel_replicas should not be changed.' in
str(exc.value))
with pytest.raises(QueryRuntimeException) as exc:
q('''
SET max_memory_usage = 1000;
''', user='test_combined_profile')
assert ("max_memory_usage shouldn't be less than 300000000." in
str(exc.value))