From 9dc70545c0c7032546fff1c184bb05e490585abb Mon Sep 17 00:00:00 2001 From: tai Date: Tue, 5 Nov 2019 17:46:17 +0800 Subject: [PATCH] Add TestCase for feature/ISSUE-5436 --- .../integration/test_custom_http/__init__.py | 0 .../test_custom_http/configs/custom_http.xml | 11 +++++++ .../integration/test_custom_http/test.py | 31 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 dbms/tests/integration/test_custom_http/__init__.py create mode 100644 dbms/tests/integration/test_custom_http/configs/custom_http.xml create mode 100644 dbms/tests/integration/test_custom_http/test.py diff --git a/dbms/tests/integration/test_custom_http/__init__.py b/dbms/tests/integration/test_custom_http/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/dbms/tests/integration/test_custom_http/configs/custom_http.xml b/dbms/tests/integration/test_custom_http/configs/custom_http.xml new file mode 100644 index 00000000000..22d570b7bca --- /dev/null +++ b/dbms/tests/integration/test_custom_http/configs/custom_http.xml @@ -0,0 +1,11 @@ + + 8123 + + + /${database}/a/${id}/${table} + INSERT INTO ${database:ASTIdentifier}.${table:ASTIdentifier}(id) VALUES + SELECT * FROM ${database:ASTIdenfier}.t + SELECT * FROM a.${table:ASTIdenfier} WHERE id={id:UInt8} + + + diff --git a/dbms/tests/integration/test_custom_http/test.py b/dbms/tests/integration/test_custom_http/test.py new file mode 100644 index 00000000000..d8f79e64e3d --- /dev/null +++ b/dbms/tests/integration/test_custom_http/test.py @@ -0,0 +1,31 @@ +import pytest +import requests + +from helpers.cluster import ClickHouseCluster +from helpers.test_tools import assert_eq_with_retry + +cluster = ClickHouseCluster(__file__) +node = cluster.add_instance('node', main_configs=['configs/custom_http.xml']) + +@pytest.fixture(scope="module") +def start_cluster(): + try: + cluster.start() + node.query(''' +CREATE DATABASE `test`; + +CREATE TABLE `test`.`test_custom_http` (`id` UInt8) Engine=Memory; + ''') + + yield cluster + finally: + cluster.shutdown() + +def test(started_cluster): + node_ip = cluster.get_instance_ip(node) + url = 'http://%s:8123/test/a/1/test_custom_http' % node_ip + data="(1)" + params = {'id':1} + response = requests.post(url, params = params, data = data) + + assert response.text == '\n1\n1\n'