Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
07ed4ba4
C
ClickHouse
项目概览
2dot5
/
ClickHouse
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
ClickHouse
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
07ed4ba4
编写于
11月 07, 2019
作者:
Z
zhang2014
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ISSUES-5436 add integration test for custom http
上级
6b716e51
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
60 addition
and
27 deletion
+60
-27
dbms/tests/integration/test_custom_http/configs/custom_http.xml
...ests/integration/test_custom_http/configs/custom_http.xml
+0
-11
dbms/tests/integration/test_custom_http/configs/custom_http_config.xml
...tegration/test_custom_http/configs/custom_http_config.xml
+54
-0
dbms/tests/integration/test_custom_http/test.py
dbms/tests/integration/test_custom_http/test.py
+6
-16
未找到文件。
dbms/tests/integration/test_custom_http/configs/custom_http.xml
已删除
100644 → 0
浏览文件 @
6b716e51
<yandex>
<http_port>
8123
</http_port>
<CustomHTTP>
<HTTPMatch>
<URL>
/${database}/a/${id}/${table}
</URL>
<QUERY>
INSERT INTO ${database:ASTIdentifier}.${table:ASTIdentifier}(id) VALUES
</QUERY>
<QUERY>
SELECT * FROM ${database:ASTIdenfier}.t
</QUERY>
<QUERY>
SELECT * FROM a.${table:ASTIdenfier} WHERE id={id:UInt8}
</QUERY>
</HTTPMatch>
</CustomHTTP>
</yandex>
dbms/tests/integration/test_custom_http/configs/custom_http_config.xml
0 → 100644
浏览文件 @
07ed4ba4
<yandex>
<http_port>
8123
</http_port>
<custom_http>
<test_for_single_insert>
<URL>
/test_for_single_insert
</URL>
<query>
INSERT INTO test.test VALUES
</query>
</test_for_single_insert>
<test_for_single_select>
<URL>
/test_for_single_select
</URL>
<query>
SELECT * FROM test.test ORDER BY id
</query>
</test_for_single_select>
<test_for_multiple_select>
<URL>
/test_for_multiple_select
</URL>
<query>
SELECT * FROM test.test ORDER BY id
</query>
<query>
SELECT * FROM test.test ORDER BY id
</query>
</test_for_multiple_select>
<test_for_hybrid_insert_and_select_with_one_insert>
<URL>
/test_for_multiple_select
</URL>
<query>
INSERT INTO test.test VALUES
</query>
<query>
SELECT 'test_for_hybrid_insert_and_select_with_one_insert first'
</query>
<query>
SELECT 'test_for_hybrid_insert_and_select_with_one_insert second'
</query>
</test_for_hybrid_insert_and_select_with_one_insert>
<!-- ErrorCode test
<test_for_hybrid_insert_and_select_with_multiple_insert>
</test_for_hybrid_insert_and_select_with_multiple_insert>
<test_for_multiple_insert>
<URL>/test_for_multiple_insert</URL>
<query>SELECT * FROM test.test ORDER BY id</query>
</test_for_multiple_insert>
-->
<test_for_url_match>
<URL>
/test_for_url_match
</URL>
<query>
SELECT 'Matched test_for_url_match'
</query>
</test_for_url_match>
<test_for_method_match>
<URL>
PUT
</URL>
<query>
SELECT 'Matched test_for_method_match'
</query>
</test_for_method_match>
<test_for_multiple_match>
<URL>
/test_for_multiple_match
</URL>
<method>
GET
</method>
<query>
SELECT 'Matched test_for_multiple_match'
</query>
</test_for_multiple_match>
</custom_http>
</yandex>
dbms/tests/integration/test_custom_http/test.py
浏览文件 @
07ed4ba4
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'
])
test_instance
=
cluster
.
add_instance
(
'node'
,
main_configs
=
[
'configs/custom_http_config.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;
'''
)
test_instance
.
query
(
'CREATE DATABASE `test`'
)
test_instance
.
query
(
'CREATE TABLE `test`.`test` (`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
==
'
\n
1
\n
1
\n
'
def
test_for_single_insert
(
started_cluster
):
assert
test_instance
.
http_query
(
'/test_for_single_insert'
,
data
=
'(1)(2)(3)'
)
==
'
\n
'
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录