Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
68c14bb6
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
68c14bb6
编写于
12月 15, 2021
作者:
P
plum-lihui
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop' of
https://github.com/taosdata/TDengine
into develop
上级
d69cfa45
25da4240
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
443 addition
and
68 deletion
+443
-68
src/connector/jdbc/src/test/java/com/taosdata/jdbc/JsonTagTest.java
...tor/jdbc/src/test/java/com/taosdata/jdbc/JsonTagTest.java
+119
-68
src/connector/jdbc/src/test/java/com/taosdata/jdbc/SchemalessInsertTest.java
...src/test/java/com/taosdata/jdbc/SchemalessInsertTest.java
+9
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/CatalogClass.java
.../test/java/com/taosdata/jdbc/annotation/CatalogClass.java
+86
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/CatalogListener.java
...st/java/com/taosdata/jdbc/annotation/CatalogListener.java
+104
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/CatalogMethod.java
...test/java/com/taosdata/jdbc/annotation/CatalogMethod.java
+52
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/CatalogRunner.java
...test/java/com/taosdata/jdbc/annotation/CatalogRunner.java
+36
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/Description.java
...c/test/java/com/taosdata/jdbc/annotation/Description.java
+19
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/TestTarget.java
...rc/test/java/com/taosdata/jdbc/annotation/TestTarget.java
+18
-0
未找到文件。
src/connector/jdbc/src/test/java/com/taosdata/jdbc/JsonTagTest.java
浏览文件 @
68c14bb6
package
com.taosdata.jdbc
;
import
com.google.common.collect.Lists
;
import
org.checkerframework.checker.units.qual.A
;
import
com.taosdata.jdbc.annotation.CatalogRunner
;
import
com.taosdata.jdbc.annotation.Description
;
import
com.taosdata.jdbc.annotation.TestTarget
;
import
org.junit.*
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.MethodSorters
;
import
java.sql.*
;
import
java.util.List
;
/**
* test json tag
*/
@FixMethodOrder
(
MethodSorters
.
NAME_ASCENDING
)
@RunWith
(
CatalogRunner
.
class
)
@TestTarget
(
alias
=
"JsonTag"
,
author
=
"huolibo"
,
version
=
"2.0.36"
)
public
class
JsonTagTest
{
private
static
String
dbn
ame
=
"json_tag_test"
;
private
static
final
String
dbN
ame
=
"json_tag_test"
;
private
static
Connection
connection
;
private
static
Statement
statement
;
private
static
final
String
superSql
=
"create table if not exists jsons1(ts timestamp, dataInt int, dataBool bool, dataStr nchar(50), dataStrBin binary(150)) tags(jtag json)"
;
...
...
@@ -74,6 +74,7 @@ public class JsonTagTest {
};
@Test
@Description
(
"insert json tag"
)
public
void
case01_InsertTest
()
throws
SQLException
{
for
(
String
sql
:
sql
)
{
statement
.
execute
(
sql
);
...
...
@@ -87,7 +88,8 @@ public class JsonTagTest {
}
@Test
public
void
case02_InvalidJsonInsertTest
()
{
@Description
(
"error json tag insert"
)
public
void
case02_ErrorJsonInsertTest
()
{
int
count
=
0
;
for
(
String
sql
:
errorJsonInsertSql
)
{
try
{
...
...
@@ -99,59 +101,62 @@ public class JsonTagTest {
Assert
.
assertEquals
(
errorJsonInsertSql
.
length
,
count
);
}
// test invalidate json key, key must can be printed assic char
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when json value is array"
)
public
void
case02_ArrayErrorTest
()
throws
SQLException
{
statement
.
execute
(
"CREATE TABLE if not exists jsons1_14 using jsons1 tags('{\"tag1\":[1,true]}')"
);
}
@Test
(
expected
=
SQLException
.
class
)
public
void
case02_EmptyKeyErrorTest
()
throws
SQLException
{
statement
.
execute
(
"CREATE TABLE if not exists jsons1_14 using jsons1 tags('{\"\":\"fff\"}')"
);
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when json value is empty"
)
public
void
case02_EmptyValueErrorTest
()
throws
SQLException
{
statement
.
execute
(
"CREATE TABLE if not exists jsons1_14 using jsons1 tags('{\"tag1\":{}}')"
);
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when json key is not ASCII"
)
public
void
case02_AbnormalKeyErrorTest1
()
throws
SQLException
{
statement
.
execute
(
"CREATE TABLE if not exists jsons1_14 using jsons1 tags('{\"。loc\":\"fff\"}')"
);
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when json key is '\\t'"
)
public
void
case02_AbnormalKeyErrorTest2
()
throws
SQLException
{
statement
.
execute
(
"CREATE TABLE if not exists jsons1_14 using jsons1 tags('{\"\t\":\"fff\"}')"
);
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when json key is chinese"
)
public
void
case02_AbnormalKeyErrorTest3
()
throws
SQLException
{
statement
.
execute
(
"CREATE TABLE if not exists jsons1_14 using jsons1 tags('{\"试试\":\"fff\"}')"
);
}
@Test
@Description
(
"alter json tag"
)
public
void
case03_AlterTag
()
throws
SQLException
{
statement
.
execute
(
"ALTER TABLE jsons1_1 SET TAG jtag='{\"tag1\":\"femail\",\"tag2\":35,\"tag3\":true}'"
);
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when add json tag"
)
public
void
case03_AddTagErrorTest
()
throws
SQLException
{
statement
.
execute
(
"ALTER STABLE jsons1 add tag tag2 nchar(20)"
);
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when delete json tag"
)
public
void
case03_dropTagErrorTest
()
throws
SQLException
{
statement
.
execute
(
"ALTER STABLE jsons1 drop tag jtag"
);
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when set some json tag value"
)
public
void
case03_AlterTagErrorTest
()
throws
SQLException
{
statement
.
execute
(
"ALTER TABLE jsons1_1 SET TAG jtag=4"
);
}
// test error syntax
@Test
@Description
(
"exception will throw when select syntax error"
)
public
void
case04_SelectErrorTest
()
{
int
count
=
0
;
for
(
String
sql
:
errorSelectSql
)
{
...
...
@@ -164,8 +169,8 @@ public class JsonTagTest {
Assert
.
assertEquals
(
errorSelectSql
.
length
,
count
);
}
// test select normal column
@Test
@Description
(
"normal select stable"
)
public
void
case04_select01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select dataint from jsons1"
);
int
count
=
0
;
...
...
@@ -176,8 +181,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test select json tag
@Test
@Description
(
"select all column from stable"
)
public
void
case04_select02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1"
);
int
count
=
0
;
...
...
@@ -189,6 +194,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"select json tag from stable"
)
public
void
case04_select03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag from jsons1"
);
int
count
=
0
;
...
...
@@ -200,6 +206,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition tag is null"
)
public
void
case04_select04
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag from jsons1 where jtag is null"
);
int
count
=
0
;
...
...
@@ -211,6 +218,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition tag is not null"
)
public
void
case04_select05
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag from jsons1 where jtag is not null"
);
int
count
=
0
;
...
...
@@ -222,6 +230,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"select json tag"
)
public
void
case04_select06
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag from jsons1_8"
);
resultSet
.
next
();
...
...
@@ -231,6 +240,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"select json tag"
)
public
void
case04_select07
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag from jsons1_1"
);
resultSet
.
next
();
...
...
@@ -239,8 +249,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test jtag is NULL
@Test
@Description
(
"select not exist json tag"
)
public
void
case04_select08
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag from jsons1_9"
);
resultSet
.
next
();
...
...
@@ -249,8 +259,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test select json tag->'key', value is string
@Test
@Description
(
"select a json tag"
)
public
void
case04_select09
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag1' from jsons1_1"
);
resultSet
.
next
();
...
...
@@ -260,6 +270,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"select a json tag, the value is empty"
)
public
void
case04_select10
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag2' from jsons1_6"
);
resultSet
.
next
();
...
...
@@ -268,8 +279,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test select json tag->'key', value is int
@Test
@Description
(
"select a json tag, the value is int"
)
public
void
case04_select11
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag2' from jsons1_1"
);
resultSet
.
next
();
...
...
@@ -278,8 +289,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test select json tag->'key', value is bool
@Test
@Description
(
"select a json tag, the value is boolean"
)
public
void
case04_select12
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag3' from jsons1_1"
);
resultSet
.
next
();
...
...
@@ -288,8 +299,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test select json tag->'key', value is null
@Test
@Description
(
"select a json tag, the value is null"
)
public
void
case04_select13
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag1' from jsons1_4"
);
resultSet
.
next
();
...
...
@@ -298,8 +309,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test select json tag->'key', value is double
@Test
@Description
(
"select a json tag, the value is double"
)
public
void
case04_select14
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag1' from jsons1_5"
);
resultSet
.
next
();
...
...
@@ -308,8 +319,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test select json tag->'key', key is not exist
@Test
@Description
(
"select a json tag, the key is not exist"
)
public
void
case04_select15
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag10' from jsons1_4"
);
resultSet
.
next
();
...
...
@@ -319,6 +330,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"select a json tag, the result number equals tables number"
)
public
void
case04_select16
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag1' from jsons1"
);
int
count
=
0
;
...
...
@@ -330,18 +342,7 @@ public class JsonTagTest {
}
@Test
public
void
case04_select17
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag1' from jsons1"
);
int
count
=
0
;
while
(
resultSet
.
next
())
{
count
++;
}
Assert
.
assertEquals
(
sql
.
length
+
invalidJsonCreateSql
.
length
+
invalidJsonInsertSql
.
length
,
count
);
close
(
resultSet
);
}
// where json value is string
@Test
@Description
(
"where condition '=' for string"
)
public
void
case04_select19
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag2'='beijing'"
);
int
count
=
0
;
...
...
@@ -353,6 +354,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"select and where conditon '=' for string"
)
public
void
case04_select20
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select dataint,tbname,jtag->'tag1',jtag from jsons1 where jtag->'tag2'='beijing'"
);
int
count
=
0
;
...
...
@@ -364,6 +366,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition result is null"
)
public
void
case04_select21
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'='beijing'"
);
int
count
=
0
;
...
...
@@ -375,6 +378,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition equation has chinese"
)
public
void
case04_select23
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'='收到货'"
);
int
count
=
0
;
...
...
@@ -386,6 +390,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '>' for character"
)
public
void
case05_symbolOperation01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag2'>'beijing'"
);
int
count
=
0
;
...
...
@@ -397,6 +402,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '>=' for character"
)
public
void
case05_symbolOperation02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag2'>='beijing'"
);
int
count
=
0
;
...
...
@@ -408,6 +414,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '<' for character"
)
public
void
case05_symbolOperation03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag2'<'beijing'"
);
int
count
=
0
;
...
...
@@ -419,6 +426,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '<=' in character"
)
public
void
case05_symbolOperation04
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag2'<='beijing'"
);
int
count
=
0
;
...
...
@@ -430,6 +438,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '!=' in character"
)
public
void
case05_symbolOperation05
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag2'!='beijing'"
);
int
count
=
0
;
...
...
@@ -441,6 +450,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '=' empty"
)
public
void
case05_symbolOperation06
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag2'=''"
);
int
count
=
0
;
...
...
@@ -453,11 +463,11 @@ public class JsonTagTest {
// where json value is int
@Test
@Description
(
"where condition support '=' for int"
)
public
void
case06_selectValue01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=5"
);
int
count
=
0
;
while
(
resultSet
.
next
())
{
System
.
out
.
println
(
resultSet
.
getString
(
1
));
count
++;
}
Assert
.
assertEquals
(
1
,
count
);
...
...
@@ -465,6 +475,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where conditional support '<' for int"
)
public
void
case06_selectValue02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'<54"
);
int
count
=
0
;
...
...
@@ -476,6 +487,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '<=' for int"
)
public
void
case06_selectValue03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'<=11"
);
int
count
=
0
;
...
...
@@ -487,6 +499,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where conditional support '>' for int"
)
public
void
case06_selectValue04
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'>4"
);
int
count
=
0
;
...
...
@@ -498,6 +511,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '>=' for int"
)
public
void
case06_selectValue05
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'>=5"
);
int
count
=
0
;
...
...
@@ -509,6 +523,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where conditional support '!=' for int"
)
public
void
case06_selectValue06
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'!=5"
);
int
count
=
0
;
...
...
@@ -520,6 +535,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where conditional support '!=' for int"
)
public
void
case06_selectValue07
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'!=55"
);
int
count
=
0
;
...
...
@@ -531,6 +547,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where conditional support '!=' for int and result is nothing"
)
public
void
case06_selectValue08
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=10"
);
int
count
=
0
;
...
...
@@ -541,8 +558,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// where json value is double
@Test
@Description
(
"where condition support '=' for double"
)
public
void
case07_selectValue01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=1.232"
);
int
count
=
0
;
...
...
@@ -554,6 +571,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '<' for double"
)
public
void
case07_doubleOperation01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'<1.232"
);
int
count
=
0
;
...
...
@@ -565,6 +583,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '<=' for double"
)
public
void
case07_doubleOperation02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'<=1.232"
);
int
count
=
0
;
...
...
@@ -576,6 +595,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '>' for double"
)
public
void
case07_doubleOperation03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'>1.23"
);
int
count
=
0
;
...
...
@@ -587,6 +607,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '>=' for double"
)
public
void
case07_doubleOperation04
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'>=1.232"
);
int
count
=
0
;
...
...
@@ -598,6 +619,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '!=' for double"
)
public
void
case07_doubleOperation05
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'!=1.232"
);
int
count
=
0
;
...
...
@@ -609,6 +631,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '!=' for double"
)
public
void
case07_doubleOperation06
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'!=3.232"
);
int
count
=
0
;
...
...
@@ -620,16 +643,19 @@ public class JsonTagTest {
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when denominator is zero"
)
public
void
case07_doubleOperation07
()
throws
SQLException
{
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'/0=3"
);
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when invalid operation"
)
public
void
case07_doubleOperation08
()
throws
SQLException
{
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'/5=1"
);
}
@Test
@Description
(
"where condition support '=' for boolean"
)
public
void
case08_boolOperation01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=true"
);
int
count
=
0
;
...
...
@@ -641,6 +667,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '=' for boolean"
)
public
void
case08_boolOperation02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=false"
);
int
count
=
0
;
...
...
@@ -652,6 +679,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support '!=' for boolean"
)
public
void
case08_boolOperation03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'!=false"
);
int
count
=
0
;
...
...
@@ -663,12 +691,13 @@ public class JsonTagTest {
}
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"exception will throw when '>' operation for boolean"
)
public
void
case08_boolOperation04
()
throws
SQLException
{
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'>false"
);
}
// where json value is null
@Test
@Description
(
"where conditional support '=null'"
)
public
void
case09_select01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=null"
);
int
count
=
0
;
...
...
@@ -680,6 +709,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where conditional support 'is null'"
)
public
void
case09_select02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag is null"
);
int
count
=
0
;
...
...
@@ -691,6 +721,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support 'is not null'"
)
public
void
case09_select03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag is not null"
);
int
count
=
0
;
...
...
@@ -702,6 +733,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support one tag '='"
)
public
void
case09_select04
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag_no_exist'=3"
);
int
count
=
0
;
...
...
@@ -713,6 +745,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support one tag 'is null'"
)
public
void
case09_select05
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1' is null"
);
int
count
=
0
;
...
...
@@ -724,6 +757,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support one tag 'is null'"
)
public
void
case09_select06
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag4' is null"
);
int
count
=
0
;
...
...
@@ -735,6 +769,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition support one tag 'is not null'"
)
public
void
case09_select07
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag3' is not null"
);
int
count
=
0
;
...
...
@@ -745,8 +780,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test ?
@Test
@Description
(
"contains"
)
public
void
case09_select10
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag contains 'tag1'"
);
int
count
=
0
;
...
...
@@ -758,6 +793,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"contains"
)
public
void
case09_select11
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag contains 'tag3'"
);
int
count
=
0
;
...
...
@@ -769,6 +805,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"contains with no exist tag"
)
public
void
case09_select12
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag contains 'tag_no_exist'"
);
int
count
=
0
;
...
...
@@ -779,8 +816,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test json tag in where condition with and/or
@Test
@Description
(
"where condition with and"
)
public
void
case10_selectAndOr01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=false and jtag->'tag2'='beijing'"
);
int
count
=
0
;
...
...
@@ -792,6 +829,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition with 'or'"
)
public
void
case10_selectAndOr02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=false or jtag->'tag2'='beijing'"
);
int
count
=
0
;
...
...
@@ -803,6 +841,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition with 'and'"
)
public
void
case10_selectAndOr03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=false and jtag->'tag2'='shanghai'"
);
int
count
=
0
;
...
...
@@ -814,6 +853,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition with 'or'"
)
public
void
case10_selectAndOr04
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'=13 or jtag->'tag2'>35"
);
int
count
=
0
;
...
...
@@ -825,6 +865,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition with 'or' and contains"
)
public
void
case10_selectAndOr05
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1' is not null and jtag contains 'tag3'"
);
int
count
=
0
;
...
...
@@ -836,6 +877,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition with 'and' and contains"
)
public
void
case10_selectAndOr06
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1'='femail' and jtag contains 'tag3'"
);
int
count
=
0
;
...
...
@@ -846,8 +888,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test with tbname/normal column
@Test
@Description
(
"test with tbname/normal column"
)
public
void
case11_selectTbName01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where tbname = 'jsons1_1'"
);
int
count
=
0
;
...
...
@@ -859,6 +901,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"test with tbname/normal column"
)
public
void
case11_selectTbName02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where tbname = 'jsons1_1' and jtag contains 'tag3'"
);
int
count
=
0
;
...
...
@@ -870,6 +913,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"test with tbname/normal column"
)
public
void
case11_selectTbName03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where tbname = 'jsons1_1' and jtag contains 'tag3' and dataint=3"
);
int
count
=
0
;
...
...
@@ -881,6 +925,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"test with tbname/normal column"
)
public
void
case11_selectTbName04
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where tbname = 'jsons1_1' and jtag contains 'tag3' and dataint=23"
);
int
count
=
0
;
...
...
@@ -891,8 +936,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test where condition like
@Test
@Description
(
"where condition like"
)
public
void
case12_selectWhere01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select *,tbname from jsons1 where jtag->'tag2' like 'bei%'"
);
int
count
=
0
;
...
...
@@ -904,6 +949,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition like"
)
public
void
case12_selectWhere02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select *,tbname from jsons1 where jtag->'tag1' like 'fe%' and jtag->'tag2' is not null"
);
int
count
=
0
;
...
...
@@ -914,14 +960,14 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test where condition in no support in
@Test
(
expected
=
SQLException
.
class
)
@Description
(
"where condition in no support in"
)
public
void
case12_selectWhere03
()
throws
SQLException
{
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1' in ('beijing')"
);
}
// test where condition match
@Test
@Description
(
"where condition match"
)
public
void
case12_selectWhere04
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1' match 'ma'"
);
int
count
=
0
;
...
...
@@ -933,6 +979,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition match"
)
public
void
case12_selectWhere05
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1' match 'ma$'"
);
int
count
=
0
;
...
...
@@ -944,6 +991,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition match"
)
public
void
case12_selectWhere06
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag2' match 'jing$'"
);
int
count
=
0
;
...
...
@@ -955,6 +1003,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"where condition match"
)
public
void
case12_selectWhere07
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from jsons1 where jtag->'tag1' match '收到'"
);
int
count
=
0
;
...
...
@@ -965,13 +1014,14 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test distinct
@Test
@Description
(
"insert distinct"
)
public
void
case13_selectDistinct01
()
throws
SQLException
{
statement
.
execute
(
"insert into jsons1_14 using jsons1 tags('{\"tag1\":\"收到货\",\"tag2\":\"\",\"tag3\":null}') values(1591062628000, 2, NULL, '你就会', 'dws')"
);
}
@Test
@Description
(
"distinct json tag"
)
public
void
case13_selectDistinct02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select distinct jtag->'tag1' from jsons1"
);
int
count
=
0
;
...
...
@@ -983,6 +1033,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"distinct json tag"
)
public
void
case13_selectDistinct03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select distinct jtag from jsons1"
);
int
count
=
0
;
...
...
@@ -993,13 +1044,14 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test dumplicate key with normal colomn
@Test
@Description
(
"insert json tag"
)
public
void
case14_selectDump01
()
throws
SQLException
{
statement
.
execute
(
"INSERT INTO jsons1_15 using jsons1 tags('{\"tbname\":\"tt\",\"databool\":true,\"datastr\":\"是是是\"}') values(1591060828000, 4, false, 'jjsf', \"你就会\")"
);
}
@Test
@Description
(
"test duplicate key with normal column"
)
public
void
case14_selectDump02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select *,tbname,jtag from jsons1 where jtag->'datastr' match '是' and datastr match 'js'"
);
int
count
=
0
;
...
...
@@ -1011,6 +1063,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"test duplicate key with normal column"
)
public
void
case14_selectDump03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select tbname,jtag->'tbname' from jsons1 where jtag->'tbname'='tt' and tbname='jsons1_14'"
);
int
count
=
0
;
...
...
@@ -1021,8 +1074,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test join
@Test
@Description
(
"insert json tag for join test"
)
public
void
case15_selectJoin01
()
throws
SQLException
{
statement
.
execute
(
"create table if not exists jsons2(ts timestamp, dataInt int, dataBool bool, dataStr nchar(50), dataStrBin binary(150)) tags(jtag json)"
);
statement
.
execute
(
"insert into jsons2_1 using jsons2 tags('{\"tag1\":\"fff\",\"tag2\":5, \"tag3\":true}') values(1591060618000, 2, false, 'json2', '你是2')"
);
...
...
@@ -1033,17 +1086,17 @@ public class JsonTagTest {
statement
.
execute
(
"insert into jsons3_2 using jsons3 tags('{\"tag1\":5,\"tag2\":\"beijing\"}') values (1591060638000, 2, true, 'json3', 'sss')"
);
}
// TODO check result
@Test
@Description
(
"select json tag from join"
)
public
void
case15_selectJoin02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select 'sss',33,a.jtag->'tag3' from jsons2 a,jsons3 b where a.ts=b.ts and a.jtag->'tag1'=b.jtag->'tag1'"
);
resultSet
.
next
();
Assert
.
assertEquals
(
"sss"
,
resultSet
.
getString
(
1
));
close
(
resultSet
);
}
// test group by & order by json tag
// TODO check other result
@Test
@Description
(
"group by and order by json tag desc"
)
public
void
case16_selectGroupOrder01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select count(*) from jsons1 group by jtag->'tag1' order by jtag->'tag1' desc"
);
int
count
=
0
;
...
...
@@ -1055,6 +1108,7 @@ public class JsonTagTest {
}
@Test
@Description
(
"group by and order by json tag asc"
)
public
void
case16_selectGroupOrder02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select count(*) from jsons1 group by jtag->'tag1' order by jtag->'tag1' asc"
);
int
count
=
0
;
...
...
@@ -1065,9 +1119,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// test stddev with group by json tag
// TODO check result
@Test
@Description
(
"stddev with group by json tag"
)
public
void
case17_selectStddev01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select stddev(dataint) from jsons1 group by jtag->'tag1'"
);
String
s
=
""
;
...
...
@@ -1082,8 +1135,8 @@ public class JsonTagTest {
close
(
resultSet
);
}
// subquery with json tag
@Test
@Description
(
"subquery json tag"
)
public
void
case18_selectSubquery01
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select * from (select jtag, dataint from jsons1)"
);
int
count
=
0
;
...
...
@@ -1095,8 +1148,14 @@ public class JsonTagTest {
}
@Test
@Description
(
"subquery some json tags"
)
public
void
case18_selectSubquery02
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag1' from (select jtag->'tag1', dataint from jsons1)"
);
ResultSetMetaData
metaData
=
resultSet
.
getMetaData
();
String
columnName
=
metaData
.
getColumnName
(
1
);
Assert
.
assertEquals
(
"jtag->'tag1'"
,
columnName
);
int
count
=
0
;
while
(
resultSet
.
next
())
{
count
++;
...
...
@@ -1106,15 +1165,7 @@ public class JsonTagTest {
}
@Test
public
void
case18_selectSubquery03
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select jtag->'tag1' from (select jtag->'tag1', dataint from jsons1)"
);
ResultSetMetaData
metaData
=
resultSet
.
getMetaData
();
String
columnName
=
metaData
.
getColumnName
(
1
);
Assert
.
assertEquals
(
"jtag->'tag1'"
,
columnName
);
close
(
resultSet
);
}
@Test
@Description
(
"query some json tags from subquery"
)
public
void
case18_selectSubquery04
()
throws
SQLException
{
ResultSet
resultSet
=
statement
.
executeQuery
(
"select ts,tbname,jtag->'tag1' from (select jtag->'tag1',tbname,ts from jsons1 order by ts)"
);
int
count
=
0
;
...
...
@@ -1142,9 +1193,9 @@ public class JsonTagTest {
try
{
connection
=
DriverManager
.
getConnection
(
url
);
statement
=
connection
.
createStatement
();
statement
.
execute
(
"drop database if exists "
+
db
n
ame
);
statement
.
execute
(
"create database if not exists "
+
db
n
ame
);
statement
.
execute
(
"use "
+
db
n
ame
);
statement
.
execute
(
"drop database if exists "
+
db
N
ame
);
statement
.
execute
(
"create database if not exists "
+
db
N
ame
);
statement
.
execute
(
"use "
+
db
N
ame
);
statement
.
execute
(
superSql
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
...
...
@@ -1155,7 +1206,7 @@ public class JsonTagTest {
public
static
void
afterClass
()
{
try
{
if
(
null
!=
statement
)
{
statement
.
execute
(
"drop database "
+
db
n
ame
);
statement
.
execute
(
"drop database "
+
db
N
ame
);
statement
.
close
();
}
if
(
null
!=
connection
)
{
...
...
src/connector/jdbc/src/test/java/com/taosdata/jdbc/SchemalessInsertTest.java
浏览文件 @
68c14bb6
...
...
@@ -2,17 +2,23 @@ package com.taosdata.jdbc;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.taosdata.jdbc.annotation.CatalogRunner
;
import
com.taosdata.jdbc.annotation.Description
;
import
com.taosdata.jdbc.annotation.TestTarget
;
import
com.taosdata.jdbc.enums.SchemalessProtocolType
;
import
com.taosdata.jdbc.enums.SchemalessTimestampType
;
import
org.junit.After
;
import
org.junit.Assert
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
java.sql.*
;
import
java.util.ArrayList
;
import
java.util.List
;
@RunWith
(
CatalogRunner
.
class
)
@TestTarget
(
alias
=
"Schemaless"
,
author
=
"huolibo"
,
version
=
"2.0.36"
)
public
class
SchemalessInsertTest
{
private
final
String
dbname
=
"test_schemaless_insert"
;
private
Connection
conn
;
...
...
@@ -23,6 +29,7 @@ public class SchemalessInsertTest {
* @throws SQLException execute error
*/
@Test
@Description
(
"line insert"
)
public
void
schemalessInsert
()
throws
SQLException
{
// given
String
[]
lines
=
new
String
[]{
...
...
@@ -53,6 +60,7 @@ public class SchemalessInsertTest {
* @throws SQLException execute error
*/
@Test
@Description
(
"telnet insert"
)
public
void
telnetInsert
()
throws
SQLException
{
// given
String
[]
lines
=
new
String
[]{
...
...
@@ -87,6 +95,7 @@ public class SchemalessInsertTest {
* @throws SQLException execute error
*/
@Test
@Description
(
"json insert"
)
public
void
jsonInsert
()
throws
SQLException
{
// given
String
json
=
"[\n"
+
...
...
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/CatalogClass.java
0 → 100644
浏览文件 @
68c14bb6
package
com.taosdata.jdbc.annotation
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Test class
*/
public
class
CatalogClass
{
private
String
name
;
private
String
alias
;
private
String
author
;
private
String
version
;
private
List
<
CatalogMethod
>
methods
=
new
ArrayList
<>();
private
int
total
;
private
int
failure
;
public
void
setTotal
(
int
total
)
{
this
.
total
=
total
;
}
public
void
setFailure
(
int
failure
)
{
this
.
failure
=
failure
;
}
public
void
setAuthor
(
String
author
)
{
this
.
author
=
author
;
}
public
void
setVersion
(
String
version
)
{
this
.
version
=
version
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
void
setAlias
(
String
alias
)
{
this
.
alias
=
alias
;
}
public
void
setMethods
(
List
<
CatalogMethod
>
methods
)
{
this
.
methods
=
methods
;
}
@Override
public
String
toString
()
{
if
(
methods
.
size
()
<
1
)
return
null
;
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"ClassName: "
).
append
(
name
);
String
msg
=
trim
(
alias
);
if
(
null
!=
msg
)
sb
.
append
(
"\tAlias:"
).
append
(
alias
);
sb
.
append
(
"\tTotal:"
).
append
(
total
)
.
append
(
"\tFailure:"
).
append
(
failure
).
append
(
"\n"
);
for
(
CatalogMethod
method
:
methods
)
{
sb
.
append
(
"\t"
).
append
(
method
.
getName
());
sb
.
append
(
"\t"
).
append
(
method
.
isSuccess
());
sb
.
append
(
"\t"
).
append
(
method
.
getMessage
());
String
mAuthor
=
trim
(
method
.
getAuthor
());
if
(
null
==
mAuthor
)
{
sb
.
append
(
"\t"
).
append
(
author
);
}
else
{
sb
.
append
(
"\t"
).
append
(
method
.
getAuthor
());
}
String
mVersion
=
trim
(
method
.
getVersion
());
if
(
null
==
mVersion
)
{
sb
.
append
(
"\t"
).
append
(
version
);
}
else
{
sb
.
append
(
"\t"
).
append
(
mVersion
);
}
sb
.
append
(
"\n"
);
}
return
sb
.
toString
();
}
private
String
trim
(
String
s
)
{
if
(
null
==
s
||
s
.
trim
().
equals
(
""
))
{
return
null
;
}
else
{
return
s
.
trim
();
}
}
}
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/CatalogListener.java
0 → 100644
浏览文件 @
68c14bb6
package
com.taosdata.jdbc.annotation
;
import
org.junit.runner.Description
;
import
org.junit.runner.Result
;
import
org.junit.runner.notification.Failure
;
import
org.junit.runner.notification.RunListener
;
import
java.io.File
;
import
java.io.FileWriter
;
import
java.util.LinkedList
;
public
class
CatalogListener
extends
RunListener
{
public
static
final
String
CATALOG_FILE
=
"target/TestCaseCatalog.txt"
;
CatalogClass
catalogClass
=
null
;
private
final
LinkedList
<
CatalogMethod
>
methods
=
new
LinkedList
<>();
@Override
public
void
testRunStarted
(
Description
description
)
throws
Exception
{
catalogClass
=
new
CatalogClass
();
TestTarget
target
=
description
.
getAnnotation
(
TestTarget
.
class
);
if
(
target
!=
null
)
{
catalogClass
.
setAlias
(
target
.
alias
());
catalogClass
.
setAuthor
(
target
.
author
());
catalogClass
.
setVersion
(
target
.
version
());
}
catalogClass
.
setName
(
getClassName
(
description
.
getClassName
()));
}
private
String
getClassName
(
String
name
)
{
if
(
null
==
name
||
name
.
trim
().
equals
(
""
))
{
return
null
;
}
name
=
name
.
trim
();
int
pos
=
name
.
lastIndexOf
(
"."
);
if
(-
1
==
pos
)
{
return
name
;
}
return
name
.
substring
(
pos
+
1
);
}
@Override
public
void
testRunFinished
(
Result
result
)
throws
Exception
{
catalogClass
.
setMethods
(
methods
);
catalogClass
.
setTotal
(
result
.
getRunCount
());
catalogClass
.
setFailure
(
result
.
getFailureCount
());
File
file
=
new
File
(
CATALOG_FILE
);
if
(!
file
.
exists
())
{
synchronized
(
CatalogListener
.
class
)
{
if
(!
file
.
exists
())
{
file
.
createNewFile
();
try
(
FileWriter
writer
=
new
FileWriter
(
file
,
true
))
{
writer
.
write
(
"\tName\tPass\tMessage\tAuthor\tVersion\n"
);
writer
.
write
(
catalogClass
.
toString
());
}
}
}
}
else
{
try
(
FileWriter
writer
=
new
FileWriter
(
file
,
true
))
{
writer
.
write
(
catalogClass
.
toString
());
}
}
}
@Override
public
void
testStarted
(
Description
description
)
throws
Exception
{
}
@Override
public
void
testFinished
(
Description
description
)
throws
Exception
{
com
.
taosdata
.
jdbc
.
annotation
.
Description
annotation
=
description
.
getAnnotation
(
com
.
taosdata
.
jdbc
.
annotation
.
Description
.
class
);
if
(
annotation
!=
null
)
{
CatalogMethod
method
=
new
CatalogMethod
();
method
.
setMessage
(
annotation
.
value
());
method
.
setAuthor
(
annotation
.
author
());
method
.
setVersion
(
annotation
.
version
());
method
.
setSuccess
(
true
);
method
.
setName
(
description
.
getMethodName
());
methods
.
addLast
(
method
);
}
}
@Override
public
void
testFailure
(
Failure
failure
)
throws
Exception
{
com
.
taosdata
.
jdbc
.
annotation
.
Description
annotation
=
failure
.
getDescription
().
getAnnotation
(
com
.
taosdata
.
jdbc
.
annotation
.
Description
.
class
);
CatalogMethod
method
=
new
CatalogMethod
();
method
.
setMessage
(
annotation
.
value
());
method
.
setAuthor
(
annotation
.
author
());
method
.
setVersion
(
annotation
.
version
());
method
.
setSuccess
(
false
);
method
.
setName
(
failure
.
getDescription
().
getMethodName
());
methods
.
addFirst
(
method
);
}
@Override
public
void
testAssumptionFailure
(
Failure
failure
)
{
}
@Override
public
void
testIgnored
(
Description
description
)
throws
Exception
{
super
.
testIgnored
(
description
);
}
}
\ No newline at end of file
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/CatalogMethod.java
0 → 100644
浏览文件 @
68c14bb6
package
com.taosdata.jdbc.annotation
;
/**
* Test method
*/
public
class
CatalogMethod
{
private
String
name
;
private
boolean
success
;
private
String
message
;
private
String
author
;
private
String
version
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
boolean
isSuccess
()
{
return
success
;
}
public
void
setSuccess
(
boolean
success
)
{
this
.
success
=
success
;
}
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
public
String
getAuthor
()
{
return
author
;
}
public
void
setAuthor
(
String
author
)
{
this
.
author
=
author
;
}
public
String
getVersion
()
{
return
version
;
}
public
void
setVersion
(
String
version
)
{
this
.
version
=
version
;
}
}
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/CatalogRunner.java
0 → 100644
浏览文件 @
68c14bb6
package
com.taosdata.jdbc.annotation
;
import
org.junit.internal.AssumptionViolatedException
;
import
org.junit.internal.runners.model.EachTestNotifier
;
import
org.junit.runner.notification.RunNotifier
;
import
org.junit.runner.notification.StoppedByUserException
;
import
org.junit.runners.BlockJUnit4ClassRunner
;
import
org.junit.runners.model.InitializationError
;
import
org.junit.runners.model.Statement
;
public
class
CatalogRunner
extends
BlockJUnit4ClassRunner
{
public
CatalogRunner
(
Class
<?>
testClass
)
throws
InitializationError
{
super
(
testClass
);
}
@Override
public
void
run
(
RunNotifier
notifier
)
{
//add user-defined listener
notifier
.
addListener
(
new
CatalogListener
());
EachTestNotifier
testNotifier
=
new
EachTestNotifier
(
notifier
,
getDescription
());
notifier
.
fireTestRunStarted
(
getDescription
());
try
{
Statement
statement
=
classBlock
(
notifier
);
statement
.
evaluate
();
}
catch
(
AssumptionViolatedException
av
)
{
testNotifier
.
addFailedAssumption
(
av
);
}
catch
(
StoppedByUserException
exception
)
{
throw
exception
;
}
catch
(
Throwable
e
)
{
testNotifier
.
addFailure
(
e
);
}
}
}
\ No newline at end of file
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/Description.java
0 → 100644
浏览文件 @
68c14bb6
package
com.taosdata.jdbc.annotation
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Target
({
ElementType
.
METHOD
})
public
@interface
Description
{
String
value
();
// git blame author
String
author
()
default
""
;
// since which version;
String
version
()
default
""
;
}
src/connector/jdbc/src/test/java/com/taosdata/jdbc/annotation/TestTarget.java
0 → 100644
浏览文件 @
68c14bb6
package
com.taosdata.jdbc.annotation
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Target
({
ElementType
.
TYPE
})
public
@interface
TestTarget
{
String
alias
()
default
""
;
String
author
();
String
version
()
default
""
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录