ClickHouse/tests/integration/test_undrop_query/test.py

60 lines
1.7 KiB
Python
Raw Normal View History

2023-03-21 12:14:26 +00:00
import pytest
import uuid
import random
import logging
import time
from helpers.cluster import ClickHouseCluster
cluster = ClickHouseCluster(__file__)
node = cluster.add_instance("node", main_configs=["configs/with_delay_config.xml"])
@pytest.fixture(scope="module")
def started_cluster():
try:
cluster.start()
yield cluster
finally:
cluster.shutdown()
def test_undrop_drop_and_undrop_loop(started_cluster):
count = 0
node.query("set allow_experimental_undrop_table_query = 1;")
while count < 10:
random_sec = random.randint(0, 10)
table_uuid = uuid.uuid1().__str__()
logging.info(
"random_sec: " + random_sec.__str__() + ", table_uuid: " + table_uuid
)
node.query(
"create table test_undrop_loop"
+ count.__str__()
+ " UUID '"
+ table_uuid
+ "' (id Int32) Engine=MergeTree() order by id;"
)
node.query("drop table test_undrop_loop" + count.__str__() + ";")
time.sleep(random_sec)
if random_sec >= 5:
error = node.query_and_get_error(
"undrop table test_undrop_loop"
+ count.__str__()
+ " uuid '"
+ table_uuid
+ "' settings allow_experimental_undrop_table_query = 1;"
)
assert "UNKNOWN_TABLE" in error
else:
node.query(
"undrop table test_undrop_loop"
+ count.__str__()
+ " uuid '"
+ table_uuid
+ "' settings allow_experimental_undrop_table_query = 1;"
)
count = count + 1