ClickHouse/tests/integration/test_freeze_table/test.py
bharatnc b75963d370 Format and optimize imports in integration test files
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.
2020-09-15 23:10:54 -07:00

64 lines
1.8 KiB
Python

import pytest
from helpers.cluster import ClickHouseCluster
from helpers.test_tools import TSV
cluster = ClickHouseCluster(__file__)
node = cluster.add_instance("node")
@pytest.fixture(scope="module")
def started_cluster():
try:
cluster.start()
yield cluster
finally:
cluster.shutdown()
def test_freeze_table(started_cluster):
node.query('''
CREATE TABLE table_for_freeze
(
key UInt64,
value String
)
ENGINE = MergeTree()
ORDER BY key
PARTITION BY key % 10;
''')
node.query('''
INSERT INTO table_for_freeze SELECT number, toString(number) from numbers(10);
''')
freeze_result = TSV.toMat(node.query('''
ALTER TABLE table_for_freeze
FREEZE WITH NAME 'test_01417'
FORMAT TSVWithNames
SETTINGS alter_partition_verbose_result = 1;
'''))
assert 11 == len(freeze_result)
path_col_ix = freeze_result[0].index('part_backup_path')
for row in freeze_result[1:]: # skip header
part_backup_path = row[path_col_ix]
node.exec_in_container(
["bash", "-c", "test -d {}".format(part_backup_path)]
)
freeze_result = TSV.toMat(node.query('''
ALTER TABLE table_for_freeze
FREEZE PARTITION '3'
WITH NAME
'test_01417_single_part'
FORMAT TSVWithNames
SETTINGS alter_partition_verbose_result = 1;
'''))
assert 2 == len(freeze_result)
path_col_ix = freeze_result[0].index('part_backup_path')
for row in freeze_result[1:]: # skip header
part_backup_path = row[path_col_ix]
assert 'test_01417_single_part' in part_backup_path
node.exec_in_container(
["bash", "-c", "test -d {}".format(part_backup_path)]
)