mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-27 01:51:59 +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.
49 lines
1.9 KiB
Python
49 lines
1.9 KiB
Python
import pytest
|
|
|
|
from helpers.cluster import ClickHouseCluster
|
|
|
|
cluster = ClickHouseCluster(__file__)
|
|
|
|
node_old = cluster.add_instance('node1', main_configs=['configs/remote_servers.xml'], image='yandex/clickhouse-server',
|
|
tag='19.17.8.54', stay_alive=True, with_installed_binary=True)
|
|
node_new = cluster.add_instance('node2', main_configs=['configs/remote_servers.xml'])
|
|
|
|
|
|
@pytest.fixture(scope="module")
|
|
def started_cluster():
|
|
try:
|
|
cluster.start()
|
|
|
|
for node in (node_old, node_new):
|
|
node.query("CREATE TABLE local_table(id UInt32, val String) ENGINE = MergeTree ORDER BY id")
|
|
|
|
node_old.query("INSERT INTO local_table VALUES (1, 'node1')")
|
|
node_new.query("INSERT INTO local_table VALUES (2, 'node2')")
|
|
|
|
node_old.query(
|
|
"CREATE TABLE distributed(id UInt32, val String) ENGINE = Distributed(test_cluster, default, local_table)")
|
|
node_new.query(
|
|
"CREATE TABLE distributed(id UInt32, val String) ENGINE = Distributed(test_cluster, default, local_table)")
|
|
|
|
yield cluster
|
|
|
|
finally:
|
|
cluster.shutdown()
|
|
|
|
|
|
def test_distributed_in_tuple(started_cluster):
|
|
query1 = "SELECT count() FROM distributed WHERE (id, val) IN ((1, 'node1'), (2, 'a'), (3, 'b'))"
|
|
query2 = "SELECT sum((id, val) IN ((1, 'node1'), (2, 'a'), (3, 'b'))) FROM distributed"
|
|
assert node_old.query(query1) == "1\n"
|
|
assert node_old.query(query2) == "1\n"
|
|
assert node_new.query(query1) == "1\n"
|
|
assert node_new.query(query2) == "1\n"
|
|
|
|
large_set = '(' + ','.join([str(i) for i in range(1000)]) + ')'
|
|
query3 = "SELECT count() FROM distributed WHERE id IN " + large_set
|
|
query4 = "SELECT sum(id IN {}) FROM distributed".format(large_set)
|
|
assert node_old.query(query3) == "2\n"
|
|
assert node_old.query(query4) == "2\n"
|
|
assert node_new.query(query3) == "2\n"
|
|
assert node_new.query(query4) == "2\n"
|