Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
e37f61a4
Shardingsphere
项目概览
apache
/
Shardingsphere
通知
56
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Shardingsphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e37f61a4
编写于
8月 17, 2017
作者:
H
haocao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor parser and integrate test cases from to do xml 9th.
上级
9cd84867
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
93 addition
and
89 deletion
+93
-89
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/common/base/AbstractSQLAssertTest.java
...ngdang/ddframe/rdb/common/base/AbstractSQLAssertTest.java
+18
-9
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/common/base/AbstractSQLTest.java
...com/dangdang/ddframe/rdb/common/base/AbstractSQLTest.java
+16
-12
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/common/base/AbstractShardingJDBCDatabaseAndTableTest.java
...common/base/AbstractShardingJDBCDatabaseAndTableTest.java
+5
-0
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/jaxb/helper/SQLAssertJAXBHelper.java
...dframe/rdb/integrate/jaxb/helper/SQLAssertJAXBHelper.java
+10
-6
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/NullableShardingTableOnlyTest.java
...ame/rdb/integrate/type/NullableShardingTableOnlyTest.java
+4
-7
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingDatabaseAndTableDynamicTest.java
...b/integrate/type/ShardingDatabaseAndTableDynamicTest.java
+3
-7
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingDatabaseAndTableTest.java
...rame/rdb/integrate/type/ShardingDatabaseAndTableTest.java
+3
-7
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingDatabaseOnlyTest.java
.../ddframe/rdb/integrate/type/ShardingDatabaseOnlyTest.java
+3
-7
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingMasterSlaveTest.java
...g/ddframe/rdb/integrate/type/ShardingMasterSlaveTest.java
+3
-7
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingTableOnlyTest.java
...ang/ddframe/rdb/integrate/type/ShardingTableOnlyTest.java
+3
-7
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/hint/base/AbstractHintTest.java
...dframe/rdb/integrate/type/hint/base/AbstractHintTest.java
+5
-0
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parsing/UnsupportedSQLParsingEngineTest.java
...rdb/sharding/parsing/UnsupportedSQLParsingEngineTest.java
+20
-20
未找到文件。
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/common/base/AbstractSQLAssertTest.java
浏览文件 @
e37f61a4
...
...
@@ -17,12 +17,12 @@
package
com.dangdang.ddframe.rdb.common.base
;
import
com.dangdang.ddframe.rdb.common.env.DataBaseEnvironment
;
import
com.dangdang.ddframe.rdb.common.env.ShardingTestStrategy
;
import
com.dangdang.ddframe.rdb.common.util.DBUnitUtil
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLAssertData
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.helper.SQLAssertJAXBHelper
;
import
com.dangdang.ddframe.rdb.common.env.ShardingTestStrategy
;
import
com.dangdang.ddframe.rdb.common.util.DBUnitUtil
;
import
com.dangdang.ddframe.rdb.common.env.DataBaseEnvironment
;
import
com.dangdang.ddframe.rdb.sharding.constant.DatabaseType
;
import
com.dangdang.ddframe.rdb.sharding.constant.SQLType
;
import
com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.ShardingDataSource
;
...
...
@@ -34,6 +34,7 @@ import org.dbunit.dataset.ITableIterator;
import
org.dbunit.dataset.ReplacementDataSet
;
import
org.dbunit.dataset.xml.FlatXmlDataSetBuilder
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Parameterized
;
import
java.io.File
;
...
...
@@ -47,31 +48,39 @@ import java.util.Collection;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
static
com
.
dangdang
.
ddframe
.
rdb
.
common
.
util
.
SqlPlaceholderUtil
.
replacePreparedStatement
;
import
static
com
.
dangdang
.
ddframe
.
rdb
.
common
.
util
.
SqlPlaceholderUtil
.
replaceStatement
;
import
static
org
.
dbunit
.
Assertion
.
assertEquals
;
@RunWith
(
Parameterized
.
class
)
public
abstract
class
AbstractSQLAssertTest
extends
AbstractSQLTest
{
private
final
String
testCaseName
;
private
final
String
sql
;
private
final
Set
<
DatabaseType
>
types
;
private
final
DatabaseType
type
;
private
final
List
<
SQLShardingRule
>
shardingRules
;
protected
AbstractSQLAssertTest
(
final
String
testCaseName
,
final
String
sql
,
final
Set
<
DatabaseType
>
types
,
final
List
<
SQLShardingRule
>
shardingRules
)
{
protected
AbstractSQLAssertTest
(
final
String
testCaseName
,
final
String
sql
,
final
DatabaseType
type
,
final
List
<
SQLShardingRule
>
shardingRules
)
{
this
.
testCaseName
=
testCaseName
;
this
.
sql
=
sql
;
this
.
type
s
=
types
;
this
.
type
=
type
;
this
.
shardingRules
=
shardingRules
;
}
@Parameterized
.
Parameters
(
name
=
"{0}"
)
@Parameterized
.
Parameters
(
name
=
"{0}
In{2}
"
)
public
static
Collection
<
Object
[]>
dataParameters
()
{
return
SQLAssertJAXBHelper
.
getDataParameters
(
"integrate/assert"
);
}
@Override
public
DatabaseType
getCurrentDatabaseType
()
{
return
type
;
}
protected
abstract
ShardingTestStrategy
getShardingStrategy
();
protected
abstract
Map
<
DatabaseType
,
ShardingDataSource
>
getShardingDataSources
();
...
...
@@ -88,7 +97,7 @@ public abstract class AbstractSQLAssertTest extends AbstractSQLTest {
private
void
execute
(
final
boolean
isPreparedStatement
)
{
for
(
Map
.
Entry
<
DatabaseType
,
ShardingDataSource
>
each
:
getShardingDataSources
().
entrySet
())
{
if
(
types
.
isEmpty
()
||
types
.
contains
(
each
.
getKey
()
))
{
if
(
getCurrentDatabaseType
()
==
each
.
getKey
(
))
{
try
{
executeAndAssertSQL
(
isPreparedStatement
,
each
.
getValue
());
//CHECKSTYLE:OFF
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/common/base/AbstractSQLTest.java
浏览文件 @
e37f61a4
...
...
@@ -17,8 +17,8 @@
package
com.dangdang.ddframe.rdb.common.base
;
import
com.dangdang.ddframe.rdb.common.env.DatabaseTestMode
;
import
com.dangdang.ddframe.rdb.common.env.DataBaseEnvironment
;
import
com.dangdang.ddframe.rdb.common.env.DatabaseTestMode
;
import
com.dangdang.ddframe.rdb.common.env.ShardingJdbcDatabaseTester
;
import
com.dangdang.ddframe.rdb.sharding.constant.DatabaseType
;
import
org.apache.commons.dbcp.BasicDataSource
;
...
...
@@ -43,10 +43,10 @@ import java.util.Map;
public
abstract
class
AbstractSQLTest
{
private
static
final
DatabaseTestMode
CURRENT_TEST_MODE
=
DatabaseTestMode
.
TEST
;
private
static
boolean
initialized
;
private
static
final
DatabaseTestMode
CURRENT_TEST_MODE
=
DatabaseTestMode
.
TEST
;
private
final
Map
<
DatabaseType
,
Map
<
String
,
DataSource
>>
databaseTypeMap
=
new
HashMap
<>();
static
{
...
...
@@ -93,21 +93,25 @@ public abstract class AbstractSQLTest {
@Before
public
final
void
importDataSet
()
throws
Exception
{
for
(
DatabaseType
databaseType
:
CURRENT_TEST_MODE
.
databaseTypes
())
{
DataBaseEnvironment
dbEnv
=
new
DataBaseEnvironment
(
databaseType
);
for
(
String
each
:
getDataSetFiles
())
{
InputStream
is
=
AbstractSQLTest
.
class
.
getClassLoader
().
getResourceAsStream
(
each
);
IDataSet
dataSet
=
new
FlatXmlDataSetBuilder
().
build
(
new
InputStreamReader
(
is
));
IDatabaseTester
databaseTester
=
new
ShardingJdbcDatabaseTester
(
dbEnv
.
getDriverClassName
(),
dbEnv
.
getURL
(
getDatabaseName
(
each
)),
dbEnv
.
getUsername
(),
dbEnv
.
getPassword
(),
dbEnv
.
getSchema
(
getDatabaseName
(
each
)));
databaseTester
.
setSetUpOperation
(
DatabaseOperation
.
CLEAN_INSERT
);
databaseTester
.
setDataSet
(
dataSet
);
databaseTester
.
onSetup
();
if
(
databaseType
==
getCurrentDatabaseType
()
||
null
==
getCurrentDatabaseType
())
{
DataBaseEnvironment
dbEnv
=
new
DataBaseEnvironment
(
databaseType
);
for
(
String
each
:
getDataSetFiles
())
{
InputStream
is
=
AbstractSQLTest
.
class
.
getClassLoader
().
getResourceAsStream
(
each
);
IDataSet
dataSet
=
new
FlatXmlDataSetBuilder
().
build
(
new
InputStreamReader
(
is
));
IDatabaseTester
databaseTester
=
new
ShardingJdbcDatabaseTester
(
dbEnv
.
getDriverClassName
(),
dbEnv
.
getURL
(
getDatabaseName
(
each
)),
dbEnv
.
getUsername
(),
dbEnv
.
getPassword
(),
dbEnv
.
getSchema
(
getDatabaseName
(
each
)));
databaseTester
.
setSetUpOperation
(
DatabaseOperation
.
CLEAN_INSERT
);
databaseTester
.
setDataSet
(
dataSet
);
databaseTester
.
onSetup
();
}
}
}
}
protected
abstract
List
<
String
>
getDataSetFiles
();
protected
abstract
DatabaseType
getCurrentDatabaseType
();
protected
final
Map
<
DatabaseType
,
Map
<
String
,
DataSource
>>
createDataSourceMap
()
{
for
(
String
each
:
getDataSetFiles
())
{
String
dbName
=
getDatabaseName
(
each
);
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/common/base/AbstractShardingJDBCDatabaseAndTableTest.java
浏览文件 @
e37f61a4
...
...
@@ -49,6 +49,11 @@ public abstract class AbstractShardingJDBCDatabaseAndTableTest extends AbstractS
"integrate/dataset/jdbc/jdbc_1.xml"
);
}
@Override
protected
DatabaseType
getCurrentDatabaseType
()
{
return
null
;
}
protected
final
Map
<
DatabaseType
,
ShardingDataSource
>
getShardingDataSources
()
{
if
(!
shardingDataSources
.
isEmpty
()
&&
!
isShutdown
)
{
return
shardingDataSources
;
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/jaxb/helper/SQLAssertJAXBHelper.java
浏览文件 @
e37f61a4
...
...
@@ -3,15 +3,16 @@ package com.dangdang.ddframe.rdb.integrate.jaxb.helper;
import
com.dangdang.ddframe.rdb.common.jaxb.helper.SQLStatementHelper
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLAssert
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLAsserts
;
import
com.dangdang.ddframe.rdb.sharding.constant.DatabaseType
;
import
javax.xml.bind.JAXBContext
;
import
javax.xml.bind.JAXBException
;
import
java.io.File
;
import
java.net.URL
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.List
;
public
class
SQLAssertJAXBHelper
{
...
...
@@ -46,11 +47,14 @@ public class SQLAssertJAXBHelper {
private
static
Collection
<
Object
[]>
dataParameters
(
final
File
file
)
{
SQLAsserts
asserts
=
loadSqlAsserts
(
file
);
Object
[][]
result
=
new
Object
[
asserts
.
getSqlAsserts
().
size
()][
1
]
;
List
<
Object
[]>
result
=
new
ArrayList
<>()
;
for
(
int
i
=
0
;
i
<
asserts
.
getSqlAsserts
().
size
();
i
++)
{
result
[
i
]
=
getDataParameter
(
asserts
.
getSqlAsserts
().
get
(
i
));
SQLAssert
assertObj
=
asserts
.
getSqlAsserts
().
get
(
i
);
for
(
DatabaseType
each
:
SQLStatementHelper
.
getTypes
(
assertObj
.
getId
()))
{
result
.
add
(
getDataParameter
(
assertObj
,
each
));
}
}
return
Arrays
.
asList
(
result
)
;
return
result
;
}
private
static
SQLAsserts
loadSqlAsserts
(
final
File
file
)
{
...
...
@@ -61,11 +65,11 @@ public class SQLAssertJAXBHelper {
}
}
private
static
Object
[]
getDataParameter
(
final
SQLAssert
sqlAssert
)
{
private
static
Object
[]
getDataParameter
(
final
SQLAssert
sqlAssert
,
final
DatabaseType
dbType
)
{
final
Object
[]
result
=
new
Object
[
4
];
result
[
0
]
=
sqlAssert
.
getId
();
result
[
1
]
=
SQLStatementHelper
.
getSql
(
sqlAssert
.
getId
());
result
[
2
]
=
SQLStatementHelper
.
getTypes
(
sqlAssert
.
getId
())
;
result
[
2
]
=
dbType
;
result
[
3
]
=
sqlAssert
.
getSqlShardingRules
();
return
result
;
}
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/NullableShardingTableOnlyTest.java
浏览文件 @
e37f61a4
...
...
@@ -17,11 +17,11 @@
package
com.dangdang.ddframe.rdb.integrate.type
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.common.base.AbstractSQLAssertTest
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.helper.SQLAssertJAXBHelper
;
import
com.dangdang.ddframe.rdb.common.env.ShardingTestStrategy
;
import
com.dangdang.ddframe.rdb.integrate.fixture.MultipleKeysModuloDatabaseShardingAlgorithm
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.helper.SQLAssertJAXBHelper
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.BindingTableRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.DataSourceRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.ShardingRule
;
...
...
@@ -32,7 +32,6 @@ import com.dangdang.ddframe.rdb.sharding.api.strategy.table.TableShardingStrateg
import
com.dangdang.ddframe.rdb.sharding.constant.DatabaseType
;
import
com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.ShardingDataSource
;
import
org.junit.AfterClass
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Parameterized
;
import
javax.sql.DataSource
;
...
...
@@ -42,17 +41,15 @@ import java.util.Collections;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
@RunWith
(
Parameterized
.
class
)
public
class
NullableShardingTableOnlyTest
extends
AbstractSQLAssertTest
{
private
static
boolean
isShutdown
;
private
static
Map
<
DatabaseType
,
ShardingDataSource
>
shardingDataSources
=
new
HashMap
<>();
public
NullableShardingTableOnlyTest
(
final
String
testCaseName
,
final
String
sql
,
final
Set
<
DatabaseType
>
types
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
s
,
sqlShardingRules
);
public
NullableShardingTableOnlyTest
(
final
String
testCaseName
,
final
String
sql
,
final
DatabaseType
type
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
,
sqlShardingRules
);
}
@Parameterized
.
Parameters
(
name
=
"{0}"
)
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingDatabaseAndTableDynamicTest.java
浏览文件 @
e37f61a4
...
...
@@ -17,11 +17,11 @@
package
com.dangdang.ddframe.rdb.integrate.type
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.common.base.AbstractSQLAssertTest
;
import
com.dangdang.ddframe.rdb.common.env.ShardingTestStrategy
;
import
com.dangdang.ddframe.rdb.integrate.fixture.SingleKeyDynamicModuloTableShardingAlgorithm
;
import
com.dangdang.ddframe.rdb.integrate.fixture.SingleKeyModuloDatabaseShardingAlgorithm
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.BindingTableRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.DataSourceRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.ShardingRule
;
...
...
@@ -31,8 +31,6 @@ import com.dangdang.ddframe.rdb.sharding.api.strategy.table.TableShardingStrateg
import
com.dangdang.ddframe.rdb.sharding.constant.DatabaseType
;
import
com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.ShardingDataSource
;
import
org.junit.AfterClass
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Parameterized
;
import
javax.sql.DataSource
;
import
java.util.Arrays
;
...
...
@@ -40,17 +38,15 @@ import java.util.Collections;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
@RunWith
(
Parameterized
.
class
)
public
class
ShardingDatabaseAndTableDynamicTest
extends
AbstractSQLAssertTest
{
private
static
boolean
isShutdown
;
private
static
Map
<
DatabaseType
,
ShardingDataSource
>
shardingDataSources
=
new
HashMap
<>();
public
ShardingDatabaseAndTableDynamicTest
(
final
String
testCaseName
,
final
String
sql
,
final
Set
<
DatabaseType
>
types
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
s
,
sqlShardingRules
);
public
ShardingDatabaseAndTableDynamicTest
(
final
String
testCaseName
,
final
String
sql
,
final
DatabaseType
type
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
,
sqlShardingRules
);
}
@Override
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingDatabaseAndTableTest.java
浏览文件 @
e37f61a4
...
...
@@ -17,11 +17,11 @@
package
com.dangdang.ddframe.rdb.integrate.type
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.common.base.AbstractSQLAssertTest
;
import
com.dangdang.ddframe.rdb.common.env.ShardingTestStrategy
;
import
com.dangdang.ddframe.rdb.integrate.fixture.SingleKeyModuloDatabaseShardingAlgorithm
;
import
com.dangdang.ddframe.rdb.integrate.fixture.SingleKeyModuloTableShardingAlgorithm
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.BindingTableRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.DataSourceRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.ShardingRule
;
...
...
@@ -31,8 +31,6 @@ import com.dangdang.ddframe.rdb.sharding.api.strategy.table.TableShardingStrateg
import
com.dangdang.ddframe.rdb.sharding.constant.DatabaseType
;
import
com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.ShardingDataSource
;
import
org.junit.AfterClass
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Parameterized
;
import
javax.sql.DataSource
;
import
java.util.Arrays
;
...
...
@@ -40,17 +38,15 @@ import java.util.Collections;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
@RunWith
(
Parameterized
.
class
)
public
class
ShardingDatabaseAndTableTest
extends
AbstractSQLAssertTest
{
private
static
boolean
isShutdown
;
private
static
Map
<
DatabaseType
,
ShardingDataSource
>
shardingDataSources
=
new
HashMap
<>();
public
ShardingDatabaseAndTableTest
(
final
String
testCaseName
,
final
String
sql
,
final
Set
<
DatabaseType
>
types
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
s
,
sqlShardingRules
);
public
ShardingDatabaseAndTableTest
(
final
String
testCaseName
,
final
String
sql
,
final
DatabaseType
type
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
,
sqlShardingRules
);
}
@Override
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingDatabaseOnlyTest.java
浏览文件 @
e37f61a4
...
...
@@ -17,10 +17,10 @@
package
com.dangdang.ddframe.rdb.integrate.type
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.common.base.AbstractSQLAssertTest
;
import
com.dangdang.ddframe.rdb.common.env.ShardingTestStrategy
;
import
com.dangdang.ddframe.rdb.integrate.fixture.MultipleKeysModuloDatabaseShardingAlgorithm
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.BindingTableRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.DataSourceRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.ShardingRule
;
...
...
@@ -32,8 +32,6 @@ import com.dangdang.ddframe.rdb.sharding.constant.DatabaseType;
import
com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.ShardingDataSource
;
import
com.dangdang.ddframe.rdb.sharding.keygen.fixture.IncrementKeyGenerator
;
import
org.junit.AfterClass
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Parameterized
;
import
javax.sql.DataSource
;
import
java.util.Arrays
;
...
...
@@ -41,17 +39,15 @@ import java.util.Collections;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
@RunWith
(
Parameterized
.
class
)
public
class
ShardingDatabaseOnlyTest
extends
AbstractSQLAssertTest
{
private
static
boolean
isShutdown
;
private
static
Map
<
DatabaseType
,
ShardingDataSource
>
shardingDataSources
=
new
HashMap
<>();
public
ShardingDatabaseOnlyTest
(
final
String
testCaseName
,
final
String
sql
,
final
Set
<
DatabaseType
>
types
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
s
,
sqlShardingRules
);
public
ShardingDatabaseOnlyTest
(
final
String
testCaseName
,
final
String
sql
,
final
DatabaseType
type
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
,
sqlShardingRules
);
}
@Override
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingMasterSlaveTest.java
浏览文件 @
e37f61a4
...
...
@@ -17,11 +17,11 @@
package
com.dangdang.ddframe.rdb.integrate.type
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.common.base.AbstractSQLAssertTest
;
import
com.dangdang.ddframe.rdb.common.env.ShardingTestStrategy
;
import
com.dangdang.ddframe.rdb.integrate.fixture.SingleKeyModuloDatabaseShardingAlgorithm
;
import
com.dangdang.ddframe.rdb.integrate.fixture.SingleKeyModuloTableShardingAlgorithm
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.BindingTableRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.DataSourceRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.ShardingRule
;
...
...
@@ -34,8 +34,6 @@ import com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.MasterSlaveDataSou
import
com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.ShardingDataSource
;
import
org.junit.After
;
import
org.junit.AfterClass
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Parameterized
;
import
javax.sql.DataSource
;
import
java.util.Arrays
;
...
...
@@ -43,17 +41,15 @@ import java.util.Collections;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
@RunWith
(
Parameterized
.
class
)
public
class
ShardingMasterSlaveTest
extends
AbstractSQLAssertTest
{
private
static
boolean
isShutdown
;
private
static
Map
<
DatabaseType
,
ShardingDataSource
>
shardingDataSources
=
new
HashMap
<>();
public
ShardingMasterSlaveTest
(
final
String
testCaseName
,
final
String
sql
,
final
Set
<
DatabaseType
>
types
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
s
,
sqlShardingRules
);
public
ShardingMasterSlaveTest
(
final
String
testCaseName
,
final
String
sql
,
final
DatabaseType
type
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
,
sqlShardingRules
);
}
@Override
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/ShardingTableOnlyTest.java
浏览文件 @
e37f61a4
...
...
@@ -17,10 +17,10 @@
package
com.dangdang.ddframe.rdb.integrate.type
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.common.base.AbstractSQLAssertTest
;
import
com.dangdang.ddframe.rdb.common.env.ShardingTestStrategy
;
import
com.dangdang.ddframe.rdb.integrate.fixture.SingleKeyModuloTableShardingAlgorithm
;
import
com.dangdang.ddframe.rdb.integrate.jaxb.SQLShardingRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.BindingTableRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.DataSourceRule
;
import
com.dangdang.ddframe.rdb.sharding.api.rule.ShardingRule
;
...
...
@@ -31,8 +31,6 @@ import com.dangdang.ddframe.rdb.sharding.api.strategy.table.TableShardingStrateg
import
com.dangdang.ddframe.rdb.sharding.constant.DatabaseType
;
import
com.dangdang.ddframe.rdb.sharding.jdbc.core.datasource.ShardingDataSource
;
import
org.junit.AfterClass
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.Parameterized
;
import
javax.sql.DataSource
;
import
java.util.Arrays
;
...
...
@@ -40,17 +38,15 @@ import java.util.Collections;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
@RunWith
(
Parameterized
.
class
)
public
class
ShardingTableOnlyTest
extends
AbstractSQLAssertTest
{
private
static
boolean
isShutdown
;
private
static
Map
<
DatabaseType
,
ShardingDataSource
>
shardingDataSources
=
new
HashMap
<>();
public
ShardingTableOnlyTest
(
final
String
testCaseName
,
final
String
sql
,
final
Set
<
DatabaseType
>
types
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
s
,
sqlShardingRules
);
public
ShardingTableOnlyTest
(
final
String
testCaseName
,
final
String
sql
,
final
DatabaseType
type
,
final
List
<
SQLShardingRule
>
sqlShardingRules
)
{
super
(
testCaseName
,
sql
,
type
,
sqlShardingRules
);
}
@Override
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/integrate/type/hint/base/AbstractHintTest.java
浏览文件 @
e37f61a4
...
...
@@ -48,6 +48,11 @@ public abstract class AbstractHintTest extends AbstractSQLTest {
private
static
Map
<
DatabaseType
,
ShardingDataSource
>
shardingDataSources
=
new
HashMap
<>();
@Override
protected
DatabaseType
getCurrentDatabaseType
()
{
return
null
;
}
@Override
protected
List
<
String
>
getDataSetFiles
()
{
return
Arrays
.
asList
(
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parsing/UnsupportedSQLParsingEngineTest.java
浏览文件 @
e37f61a4
...
...
@@ -42,23 +42,25 @@ public final class UnsupportedSQLParsingEngineTest {
private
String
sql
;
private
Set
<
DatabaseType
>
types
;
private
DatabaseType
type
;
public
UnsupportedSQLParsingEngineTest
(
final
String
testCaseName
,
final
String
sql
,
final
Set
<
DatabaseType
>
types
)
{
public
UnsupportedSQLParsingEngineTest
(
final
String
testCaseName
,
final
String
sql
,
final
DatabaseType
type
)
{
this
.
testCaseName
=
testCaseName
;
this
.
sql
=
sql
;
this
.
type
s
=
types
;
this
.
type
=
type
;
}
@Parameterized
.
Parameters
(
name
=
"{0}"
)
@Parameterized
.
Parameters
(
name
=
"{0}
In{2}
"
)
public
static
Collection
<
Object
[]>
dataParameters
()
{
Collection
<
Object
[]>
result
=
new
ArrayList
<>();
for
(
SQLStatement
each
:
SQLStatementHelper
.
getUnsupportedSqlStatements
())
{
Object
[]
object
=
new
Object
[
3
];
object
[
0
]
=
each
.
getId
();
object
[
1
]
=
each
.
getSql
();
object
[
2
]
=
getTypes
(
each
.
getTypes
());
result
.
add
(
object
);
for
(
DatabaseType
dbType
:
getTypes
(
each
.
getTypes
()))
{
Object
[]
object
=
new
Object
[
3
];
object
[
0
]
=
each
.
getId
();
object
[
1
]
=
each
.
getSql
();
object
[
2
]
=
dbType
;
result
.
add
(
object
);
}
}
return
result
;
}
...
...
@@ -76,17 +78,15 @@ public final class UnsupportedSQLParsingEngineTest {
@Test
public
void
assertUnsupportedStatement
()
{
for
(
DatabaseType
each
:
types
)
{
try
{
new
SQLParsingEngine
(
each
,
sql
,
new
ShardingRuleMockBuilder
().
addShardingColumns
(
"user_id"
).
addShardingColumns
(
"order_id"
)
.
addGenerateKeyColumn
(
"t_order"
,
"order_id"
).
build
()).
parse
();
fail
(
String
.
format
(
"Should have thrown an SQLParsingUnsupportedException because %s is invalid!"
,
sql
));
//CHECKSTYLE:OFF
}
catch
(
final
Exception
exception
)
{
//CHECKSTYLE:ON
assertTrue
(
exception
instanceof
SQLParsingUnsupportedException
);
}
try
{
new
SQLParsingEngine
(
type
,
sql
,
new
ShardingRuleMockBuilder
().
addShardingColumns
(
"user_id"
).
addShardingColumns
(
"order_id"
)
.
addGenerateKeyColumn
(
"t_order"
,
"order_id"
).
build
()).
parse
();
fail
(
String
.
format
(
"Should have thrown an SQLParsingUnsupportedException because %s is invalid!"
,
sql
));
//CHECKSTYLE:OFF
}
catch
(
final
Exception
exception
)
{
//CHECKSTYLE:ON
assertTrue
(
exception
instanceof
SQLParsingUnsupportedException
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录