This is an automated email from the ASF dual-hosted git repository.
zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 0162b7ef9fd Use MockedDataSource instead of mock(DataSource.class)
(#17886)
0162b7ef9fd is described below
commit 0162b7ef9fd740f2d371336c487ac471aea20a91
Author: Liang Zhang <[email protected]>
AuthorDate: Tue May 24 00:22:23 2022 +0800
Use MockedDataSource instead of mock(DataSource.class) (#17886)
* Use MockedDataSource instead of mock(DataSource.class)
* Use MockedDataSource instead of mock(DataSource.class)
* Use MockedDataSource instead of mock(DataSource.class)
---
.../route/DatabaseDiscoverySQLRouterTest.java | 4 +-
.../rule/DatabaseDiscoveryRuleTest.java | 4 +-
...hmProvidedDatabaseDiscoveryRuleBuilderTest.java | 5 +-
.../builder/DatabaseDiscoveryRuleBuilderTest.java | 5 +-
.../shardingsphere-encrypt-core/pom.xml | 6 ++
.../metadata/EncryptSchemaMetaDataBuilderTest.java | 36 +++++-----
.../database/type/DatabaseTypeEngineTest.java | 2 +-
.../context/TransactionContextsBuilderTest.java | 5 +-
.../AlterDefaultSingleTableRuleUpdaterTest.java | 24 +++----
.../CreateDefaultSingleTableRuleUpdaterTest.java | 21 +++---
.../DropDefaultSingleTableRuleUpdaterTest.java | 19 ++----
.../opengauss/OpenGaussFrontendEngineTest.java | 11 +---
.../shardingsphere-pipeline-test/pom.xml | 7 ++
.../loader/PipelineTableMetaDataLoaderTest.java | 77 ++++++++++++----------
14 files changed, 111 insertions(+), 115 deletions(-)
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/route/DatabaseDiscoverySQLRouterTest.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/route/DatabaseDiscoverySQLRouterTest.java
index 7fb0d8ab4a7..4aac24e78db 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/route/DatabaseDiscoverySQLRouterTest.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/route/DatabaseDiscoverySQLRouterTest.java
@@ -35,13 +35,13 @@ import
org.apache.shardingsphere.infra.route.context.RouteContext;
import org.apache.shardingsphere.infra.route.context.RouteMapper;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
-import javax.sql.DataSource;
import java.util.Collections;
import java.util.Iterator;
import java.util.Properties;
@@ -75,7 +75,7 @@ public final class DatabaseDiscoverySQLRouterTest {
DatabaseDiscoveryRuleConfiguration config = new
DatabaseDiscoveryRuleConfiguration(Collections.singleton(dataSourceConfig),
Collections.singletonMap("ha_heartbeat", new
DatabaseDiscoveryHeartBeatConfiguration(new Properties())),
Collections.singletonMap("CORE.FIXTURE", algorithmConfig));
- rule = new DatabaseDiscoveryRule(DATA_SOURCE_NAME,
Collections.singletonMap(PRIMARY_DATA_SOURCE, mock(DataSource.class)), config);
+ rule = new DatabaseDiscoveryRule(DATA_SOURCE_NAME,
Collections.singletonMap(PRIMARY_DATA_SOURCE, new MockedDataSource()), config);
sqlRouter = (DatabaseDiscoverySQLRouter)
SQLRouterFactory.getInstances(Collections.singleton(rule)).get(rule);
}
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRuleTest.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRuleTest.java
index 21c2a1bd340..4c67979c157 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRuleTest.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/DatabaseDiscoveryRuleTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDa
import
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryHeartBeatConfiguration;
import
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
import org.apache.shardingsphere.infra.distsql.constant.ExportableConstants;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Test;
import javax.sql.DataSource;
@@ -36,11 +37,10 @@ import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
public final class DatabaseDiscoveryRuleTest {
- private final Map<String, DataSource> dataSourceMap =
Collections.singletonMap("primary", mock(DataSource.class));
+ private final Map<String, DataSource> dataSourceMap =
Collections.singletonMap("primary", new MockedDataSource());
@Test
public void assertFindDataSourceRule() {
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest.java
index 5428078c875..868d16b2db5 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest.java
@@ -25,15 +25,14 @@ import
org.apache.shardingsphere.dbdiscovery.rule.DatabaseDiscoveryRule;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.rule.builder.schema.SchemaRuleBuilder;
import
org.apache.shardingsphere.infra.rule.builder.schema.SchemaRuleBuilderFactory;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Test;
-import javax.sql.DataSource;
import java.util.Collections;
import java.util.Properties;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.mock;
public final class AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest {
@@ -46,7 +45,7 @@ public final class
AlgorithmProvidedDatabaseDiscoveryRuleBuilderTest {
new DatabaseDiscoveryHeartBeatConfiguration(new
Properties())),
Collections.singletonMap("discoveryTypeName", new
CoreDatabaseDiscoveryProviderAlgorithmFixture()));
SchemaRuleBuilder builder =
SchemaRuleBuilderFactory.getInstanceMap(Collections.singletonList(algorithmProvidedRuleConfig)).get(algorithmProvidedRuleConfig);
- assertThat(builder.build(algorithmProvidedRuleConfig, "",
Collections.singletonMap("name", mock(DataSource.class)),
Collections.emptyList(), new ConfigurationProperties(new Properties())),
+ assertThat(builder.build(algorithmProvidedRuleConfig, "",
Collections.singletonMap("name", new MockedDataSource()),
Collections.emptyList(), new ConfigurationProperties(new Properties())),
instanceOf(DatabaseDiscoveryRule.class));
}
}
diff --git
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilderTest.java
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilderTest.java
index 2da7994b33b..a1f84b53d88 100644
---
a/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-db-discovery/shardingsphere-db-discovery-core/src/test/java/org/apache/shardingsphere/dbdiscovery/rule/builder/DatabaseDiscoveryRuleBuilderTest.java
@@ -25,15 +25,14 @@ import
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmC
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.rule.builder.schema.SchemaRuleBuilder;
import
org.apache.shardingsphere.infra.rule.builder.schema.SchemaRuleBuilderFactory;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Test;
-import javax.sql.DataSource;
import java.util.Collections;
import java.util.Properties;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.mock;
public final class DatabaseDiscoveryRuleBuilderTest {
@@ -45,7 +44,7 @@ public final class DatabaseDiscoveryRuleBuilderTest {
Collections.singletonMap("ha_heartbeat", new
DatabaseDiscoveryHeartBeatConfiguration(new Properties())),
Collections.singletonMap("CORE.FIXTURE", new
ShardingSphereAlgorithmConfiguration("CORE.FIXTURE", new Properties())));
SchemaRuleBuilder builder =
SchemaRuleBuilderFactory.getInstanceMap(Collections.singletonList(config)).get(config);
- assertThat(builder.build(config, "test_schema",
Collections.singletonMap("name", mock(DataSource.class)),
Collections.emptyList(), new ConfigurationProperties(new Properties())),
+ assertThat(builder.build(config, "test_schema",
Collections.singletonMap("name", new MockedDataSource()),
Collections.emptyList(), new ConfigurationProperties(new Properties())),
instanceOf(DatabaseDiscoveryRule.class));
}
}
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/pom.xml
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/pom.xml
index b5454610032..c00c1002c14 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/pom.xml
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/pom.xml
@@ -59,6 +59,12 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-test-common</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-single-table-core</artifactId>
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilderTest.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilderTest.java
index 73058508890..c167944b74b 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilderTest.java
@@ -30,6 +30,7 @@ import
org.apache.shardingsphere.infra.metadata.schema.model.SchemaMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.singletable.rule.SingleTableRule;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -52,9 +53,9 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
@@ -72,22 +73,18 @@ public final class EncryptSchemaMetaDataBuilderTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private DatabaseType databaseType;
- @Mock
private DataSource dataSource;
- @Mock
- private ConfigurationProperties props;
-
@Before
public void setUp() throws SQLException {
Connection connection = mock(Connection.class, RETURNS_DEEP_STUBS);
- when(dataSource.getConnection()).thenReturn(connection);
mockH2ResultSet(connection);
mockMySQLResultSet(connection);
mockOracleResultSet(connection);
mockPGResultSet(connection);
mockSQLServerResultSet(connection);
mockDatabase(connection);
+ dataSource = new MockedDataSource(connection);
}
private void mockSQLServerResultSet(final Connection connection) throws
SQLException {
@@ -172,7 +169,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
EncryptSchemaMetaDataBuilder loader =
getEncryptMetaDataBuilder(encryptRule, rules);
when(databaseType.formatTableNamePattern(TABLE_NAME)).thenReturn(TABLE_NAME);
Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton(TABLE_NAME), encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, props, "logic_db"));
+ new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
TableMetaData tableMetaData =
actual.get("logic_db").getTables().values().iterator().next();
List<String> columnNames = new
ArrayList<>(tableMetaData.getColumns().keySet());
assertThat(tableMetaData.getColumns().get(columnNames.get(0)).getName(),
is("id"));
@@ -190,7 +187,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
final EncryptRule encryptRule) throws SQLException {
when(databaseType.getType()).thenReturn("H2");
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, props, "logic_db"));
+ new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "logic_db");
}
@@ -205,7 +202,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
final EncryptRule encryptRule) throws
SQLException {
when(databaseType.getType()).thenReturn("MySQL");
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, props, "logic_db"));
+ new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "logic_db");
}
@@ -220,7 +217,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
final EncryptRule encryptRule) throws
SQLException {
when(databaseType.getType()).thenReturn("Oracle");
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, props, "logic_db"));
+ new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "logic_db");
}
@@ -239,7 +236,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
ResultSet schemaMetaData = mockSchemaMetaData();
when(dataSource.getConnection().getMetaData().getSchemas()).thenReturn(schemaMetaData);
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, props, "logic_db"));
+ new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "public");
}
@@ -268,7 +265,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
final EncryptRule encryptRule) throws
SQLException {
when(databaseType.getType()).thenReturn("SQLServer");
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, props, "logic_db"));
+ new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "logic_db");
}
@@ -285,7 +282,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Arrays.asList(createSingleTableRule(), encryptRule);
EncryptSchemaMetaDataBuilder loader = new
EncryptSchemaMetaDataBuilder();
Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton("not_existed_table"), encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, props, "logic_db"));
+ new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertTrue(actual.isEmpty());
}
@@ -294,13 +291,12 @@ public final class EncryptSchemaMetaDataBuilderTest {
when(databaseType.formatTableNamePattern(TABLE_NAME)).thenReturn(TABLE_NAME);
Map<String, DataSource> dataSourceMap = new HashMap<>();
dataSourceMap.put("logic_db", dataSource);
- dataSourceMap.put("logic_db_2", mock(DataSource.class));
+ dataSourceMap.put("logic_db_2", new MockedDataSource());
EncryptRule encryptRule = createEncryptRule();
Collection<ShardingSphereRule> rules =
Arrays.asList(createSingleTableRule(), encryptRule);
EncryptSchemaMetaDataBuilder loader =
getEncryptMetaDataBuilder(encryptRule, rules);
- Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton(TABLE_NAME), encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
dataSourceMap, rules, props, "logic_db"));
- assertFalse(actual.isEmpty());
+ Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton(TABLE_NAME),
+ encryptRule, new SchemaBuilderMaterials(databaseType,
databaseType, dataSourceMap, rules, new ConfigurationProperties(new
Properties()), "logic_db"));
TableMetaData tableMetaData =
actual.get("logic_db").getTables().values().iterator().next();
List<String> actualColumnNames = new
ArrayList<>(tableMetaData.getColumns().keySet());
assertThat(tableMetaData.getColumns().get(actualColumnNames.get(0)).getName(),
is("id"));
@@ -313,10 +309,10 @@ public final class EncryptSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Arrays.asList(createSingleTableRule(), encryptRule);
Map<String, DataSource> dataSourceMap = new HashMap<>();
dataSourceMap.put("logic_db", dataSource);
- dataSourceMap.put("logic_db_2", mock(DataSource.class));
+ dataSourceMap.put("logic_db_2", new MockedDataSource());
EncryptSchemaMetaDataBuilder loader = new
EncryptSchemaMetaDataBuilder();
- Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton("not_existed_table"), encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
dataSourceMap, rules, props, "logic_db"));
+ Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton("not_existed_table"),
+ encryptRule, new SchemaBuilderMaterials(databaseType,
databaseType, dataSourceMap, rules, new ConfigurationProperties(new
Properties()), "logic_db"));
assertTrue(actual.isEmpty());
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngineTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngineTest.java
index d0a87026af4..469034e3e4c 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngineTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngineTest.java
@@ -110,7 +110,7 @@ public final class DatabaseTypeEngineTest {
public void assertCantGetConnectionFromDataSource() throws SQLException {
DataSource mockDataSource = mock(DataSource.class);
when(mockDataSource.getConnection()).thenThrow(SQLException.class);
-
DatabaseTypeEngine.getDatabaseType(Collections.singletonList(mockDataSource));
+
DatabaseTypeEngine.getDatabaseType(Collections.singleton(mockDataSource));
}
private DataSource mockDataSource(final DatabaseType databaseType) throws
SQLException {
diff --git
a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-core/src/test/java/org/apache/shardingsphere/transaction/context/TransactionContextsBuilderTest.java
b/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-core/src/test/java/org/apache/shardingsphere/transaction/context/TransactionContextsBuilderTest.java
index 31fed352d79..555dd09f2e0 100644
---
a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-core/src/test/java/org/apache/shardingsphere/transaction/context/TransactionContextsBuilderTest.java
+++
b/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-core/src/test/java/org/apache/shardingsphere/transaction/context/TransactionContextsBuilderTest.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.transaction.context;
import org.apache.shardingsphere.infra.database.DefaultDatabase;
import org.apache.shardingsphere.infra.metadata.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import
org.apache.shardingsphere.transaction.ShardingSphereTransactionManagerEngine;
import
org.apache.shardingsphere.transaction.config.TransactionRuleConfiguration;
import org.apache.shardingsphere.transaction.core.TransactionType;
@@ -61,8 +62,8 @@ public final class TransactionContextsBuilderTest {
private Map<String, DataSource> createDataSourceMap() {
Map<String, DataSource> result = new HashMap<>(2, 1);
- result.put("ds_0", mock(DataSource.class));
- result.put("ds_1", mock(DataSource.class));
+ result.put("ds_0", new MockedDataSource());
+ result.put("ds_1", new MockedDataSource());
return result;
}
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/AlterDefaultSingleTableRuleUpdaterTest.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/AlterDefaultSingleTableRuleUpdaterTest.java
index 21a953c3e17..c82af55f89b 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/AlterDefaultSingleTableRuleUpdaterTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/AlterDefaultSingleTableRuleUpdaterTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.distsql.exception.resource.RequiredResour
import
org.apache.shardingsphere.infra.distsql.exception.rule.RequiredRuleMissedException;
import org.apache.shardingsphere.infra.metadata.ShardingSphereDatabase;
import
org.apache.shardingsphere.singletable.config.SingleTableRuleConfiguration;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -29,64 +30,57 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
-import javax.sql.DataSource;
import java.util.Collections;
import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public final class AlterDefaultSingleTableRuleUpdaterTest {
+ private final AlterDefaultSingleTableRuleStatementUpdater updater = new
AlterDefaultSingleTableRuleStatementUpdater();
+
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private ShardingSphereDatabase database;
@Mock
private SingleTableRuleConfiguration currentConfig;
- private final AlterDefaultSingleTableRuleStatementUpdater updater = new
AlterDefaultSingleTableRuleStatementUpdater();
-
@Before
public void setUp() throws Exception {
when(database.getName()).thenReturn("sharding_db");
-
when(database.getResource().getDataSources()).thenReturn(Collections.singletonMap("ds_0",
mock(DataSource.class)));
+
when(database.getResource().getDataSources()).thenReturn(Collections.singletonMap("ds_0",
new MockedDataSource()));
}
@Test(expected = RequiredRuleMissedException.class)
public void assertCheckWithNotExistConfiguration() throws Exception {
- AlterDefaultSingleTableRuleStatement statement = new
AlterDefaultSingleTableRuleStatement("ds_1");
- updater.checkSQLStatement(database, statement, null);
+ updater.checkSQLStatement(database, new
AlterDefaultSingleTableRuleStatement("ds_1"), null);
}
@Test(expected = RequiredResourceMissedException.class)
public void assertCheckWithInvalidResource() throws Exception {
- AlterDefaultSingleTableRuleStatement statement = new
AlterDefaultSingleTableRuleStatement("ds_1");
- updater.checkSQLStatement(database, statement, currentConfig);
+ updater.checkSQLStatement(database, new
AlterDefaultSingleTableRuleStatement("ds_1"), currentConfig);
}
@Test(expected = RequiredRuleMissedException.class)
public void assertCheckWithNotExistResource() throws Exception {
when(currentConfig.getDefaultDataSource()).thenReturn(Optional.empty());
- AlterDefaultSingleTableRuleStatement statement = new
AlterDefaultSingleTableRuleStatement("ds_0");
- updater.checkSQLStatement(database, statement, currentConfig);
+ updater.checkSQLStatement(database, new
AlterDefaultSingleTableRuleStatement("ds_0"), currentConfig);
}
@Test
public void assertBuild() {
- AlterDefaultSingleTableRuleStatement statement = new
AlterDefaultSingleTableRuleStatement("ds_0");
- SingleTableRuleConfiguration config =
updater.buildToBeAlteredRuleConfiguration(statement);
+ SingleTableRuleConfiguration config =
updater.buildToBeAlteredRuleConfiguration(new
AlterDefaultSingleTableRuleStatement("ds_0"));
assertTrue(config.getDefaultDataSource().isPresent());
assertThat(config.getDefaultDataSource().get(), is("ds_0"));
}
@Test
public void assertUpdate() {
- AlterDefaultSingleTableRuleStatement statement = new
AlterDefaultSingleTableRuleStatement("ds_0");
- SingleTableRuleConfiguration config =
updater.buildToBeAlteredRuleConfiguration(statement);
+ SingleTableRuleConfiguration config =
updater.buildToBeAlteredRuleConfiguration(new
AlterDefaultSingleTableRuleStatement("ds_0"));
SingleTableRuleConfiguration currentConfig = new
SingleTableRuleConfiguration();
updater.updateCurrentRuleConfiguration(currentConfig, config);
assertTrue(currentConfig.getDefaultDataSource().isPresent());
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/CreateDefaultSingleTableRuleUpdaterTest.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/CreateDefaultSingleTableRuleUpdaterTest.java
index 2069a147236..816a72f3b2c 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/CreateDefaultSingleTableRuleUpdaterTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/CreateDefaultSingleTableRuleUpdaterTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.distsql.exception.resource.RequiredResour
import
org.apache.shardingsphere.infra.distsql.exception.rule.DuplicateRuleException;
import org.apache.shardingsphere.infra.metadata.ShardingSphereDatabase;
import
org.apache.shardingsphere.singletable.config.SingleTableRuleConfiguration;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -29,58 +30,52 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
-import javax.sql.DataSource;
import java.util.Collections;
import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public final class CreateDefaultSingleTableRuleUpdaterTest {
+ private final CreateDefaultSingleTableRuleStatementUpdater updater = new
CreateDefaultSingleTableRuleStatementUpdater();
+
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private ShardingSphereDatabase database;
@Mock
private SingleTableRuleConfiguration currentConfig;
- private final CreateDefaultSingleTableRuleStatementUpdater updater = new
CreateDefaultSingleTableRuleStatementUpdater();
-
@Before
public void setUp() throws Exception {
when(database.getName()).thenReturn("sharding_db");
-
when(database.getResource().getDataSources()).thenReturn(Collections.singletonMap("ds_0",
mock(DataSource.class)));
+
when(database.getResource().getDataSources()).thenReturn(Collections.singletonMap("ds_0",
new MockedDataSource()));
}
@Test(expected = RequiredResourceMissedException.class)
public void assertCheckWithInvalidResource() throws Exception {
- CreateDefaultSingleTableRuleStatement statement = new
CreateDefaultSingleTableRuleStatement("ds_1");
- updater.checkSQLStatement(database, statement, currentConfig);
+ updater.checkSQLStatement(database, new
CreateDefaultSingleTableRuleStatement("ds_1"), currentConfig);
}
@Test(expected = DuplicateRuleException.class)
public void assertCheckWithDuplicateResource() throws Exception {
when(currentConfig.getDefaultDataSource()).thenReturn(Optional.of("single_table"));
- CreateDefaultSingleTableRuleStatement statement = new
CreateDefaultSingleTableRuleStatement("ds_0");
- updater.checkSQLStatement(database, statement, currentConfig);
+ updater.checkSQLStatement(database, new
CreateDefaultSingleTableRuleStatement("ds_0"), currentConfig);
}
@Test
public void assertBuild() {
- CreateDefaultSingleTableRuleStatement statement = new
CreateDefaultSingleTableRuleStatement("ds_0");
- SingleTableRuleConfiguration toBeCreatedRuleConfig =
updater.buildToBeCreatedRuleConfiguration(statement);
+ SingleTableRuleConfiguration toBeCreatedRuleConfig =
updater.buildToBeCreatedRuleConfiguration(new
CreateDefaultSingleTableRuleStatement("ds_0"));
assertTrue(toBeCreatedRuleConfig.getDefaultDataSource().isPresent());
assertThat(toBeCreatedRuleConfig.getDefaultDataSource().get(),
is("ds_0"));
}
@Test
public void assertUpdate() {
- CreateDefaultSingleTableRuleStatement statement = new
CreateDefaultSingleTableRuleStatement("ds_0");
- SingleTableRuleConfiguration toBeCreatedRuleConfig =
updater.buildToBeCreatedRuleConfiguration(statement);
+ SingleTableRuleConfiguration toBeCreatedRuleConfig =
updater.buildToBeCreatedRuleConfiguration(new
CreateDefaultSingleTableRuleStatement("ds_0"));
SingleTableRuleConfiguration currentConfig = new
SingleTableRuleConfiguration();
updater.updateCurrentRuleConfiguration(currentConfig,
toBeCreatedRuleConfig);
assertTrue(currentConfig.getDefaultDataSource().isPresent());
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/DropDefaultSingleTableRuleUpdaterTest.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/DropDefaultSingleTableRuleUpdaterTest.java
index f2d1890e914..686a76386c1 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/DropDefaultSingleTableRuleUpdaterTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/DropDefaultSingleTableRuleUpdaterTest.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.distsql.parser.statement.rdl.drop.DropDefaultSi
import
org.apache.shardingsphere.infra.distsql.exception.rule.RequiredRuleMissedException;
import org.apache.shardingsphere.infra.metadata.ShardingSphereDatabase;
import
org.apache.shardingsphere.singletable.config.SingleTableRuleConfiguration;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -28,38 +29,33 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
-import javax.sql.DataSource;
import java.util.Collections;
import static org.junit.Assert.assertFalse;
-import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public final class DropDefaultSingleTableRuleUpdaterTest {
+ private final DropDefaultSingleTableRuleStatementUpdater updater = new
DropDefaultSingleTableRuleStatementUpdater();
+
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private ShardingSphereDatabase database;
- private final DropDefaultSingleTableRuleStatementUpdater updater = new
DropDefaultSingleTableRuleStatementUpdater();
-
@Before
public void setUp() throws Exception {
when(database.getName()).thenReturn("sharding_db");
-
when(database.getResource().getDataSources()).thenReturn(Collections.singletonMap("ds_0",
mock(DataSource.class)));
+
when(database.getResource().getDataSources()).thenReturn(Collections.singletonMap("ds_0",
new MockedDataSource()));
}
@Test(expected = RequiredRuleMissedException.class)
public void assertCheckWithoutConfig() throws Exception {
- DropDefaultSingleTableRuleStatement statement = new
DropDefaultSingleTableRuleStatement();
- updater.checkSQLStatement(database, statement, null);
+ updater.checkSQLStatement(database, new
DropDefaultSingleTableRuleStatement(), null);
}
@Test(expected = RequiredRuleMissedException.class)
public void assertCheckWithoutResource() throws Exception {
- DropDefaultSingleTableRuleStatement statement = new
DropDefaultSingleTableRuleStatement();
- SingleTableRuleConfiguration currentConfig = new
SingleTableRuleConfiguration();
- updater.checkSQLStatement(database, statement, currentConfig);
+ updater.checkSQLStatement(database, new
DropDefaultSingleTableRuleStatement(), new SingleTableRuleConfiguration());
}
@Test
@@ -72,10 +68,9 @@ public final class DropDefaultSingleTableRuleUpdaterTest {
@Test
public void assertUpdate() {
- DropDefaultSingleTableRuleStatement statement = new
DropDefaultSingleTableRuleStatement();
SingleTableRuleConfiguration currentConfig = new
SingleTableRuleConfiguration();
currentConfig.setDefaultDataSource("default");
- updater.updateCurrentRuleConfiguration(statement, currentConfig);
+ updater.updateCurrentRuleConfiguration(new
DropDefaultSingleTableRuleStatement(), currentConfig);
assertFalse(currentConfig.getDefaultDataSource().isPresent());
}
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/OpenGaussFrontendEngineTest.java
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/OpenGaussFrontendEngineTest.java
index 9c63bd5cab0..e84777a9400 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/OpenGaussFrontendEngineTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/OpenGaussFrontendEngineTest.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.proxy.frontend.opengauss;
-import lombok.SneakyThrows;
import
org.apache.shardingsphere.db.protocol.opengauss.codec.OpenGaussPacketCodecEngine;
import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import
org.apache.shardingsphere.proxy.frontend.opengauss.authentication.OpenGaussAuthenticationEngine;
@@ -39,19 +38,13 @@ import static org.mockito.Mockito.verify;
@RunWith(MockitoJUnitRunner.class)
public final class OpenGaussFrontendEngineTest {
- private OpenGaussFrontendEngine openGaussFrontendEngine;
+ private final OpenGaussFrontendEngine openGaussFrontendEngine = new
OpenGaussFrontendEngine();
@Mock
private PostgreSQLFrontendEngine mockPostgreSQLFrontendEngine;
@Before
- public void setup() {
- openGaussFrontendEngine = new OpenGaussFrontendEngine();
- prepareMock();
- }
-
- @SneakyThrows
- private void prepareMock() {
+ public void setup() throws ReflectiveOperationException {
Field field =
OpenGaussFrontendEngine.class.getDeclaredField("postgreSQLFrontendEngine");
field.setAccessible(true);
field.set(openGaussFrontendEngine, mockPostgreSQLFrontendEngine);
diff --git a/shardingsphere-test/shardingsphere-pipeline-test/pom.xml
b/shardingsphere-test/shardingsphere-pipeline-test/pom.xml
index 42fea36b789..a8ee835b4ed 100644
--- a/shardingsphere-test/shardingsphere-pipeline-test/pom.xml
+++ b/shardingsphere-test/shardingsphere-pipeline-test/pom.xml
@@ -49,6 +49,13 @@
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-test-common</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
diff --git
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataLoaderTest.java
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataLoaderTest.java
index c45df0c9d3b..b5d7d5501a3 100644
---
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataLoaderTest.java
+++
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/PipelineTableMetaDataLoaderTest.java
@@ -22,13 +22,12 @@ import
org.apache.shardingsphere.data.pipeline.core.metadata.model.PipelineColum
import
org.apache.shardingsphere.data.pipeline.core.metadata.model.PipelineIndexMetaData;
import
org.apache.shardingsphere.data.pipeline.core.metadata.model.PipelineTableMetaData;
import org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
+import org.apache.shardingsphere.test.mock.MockedDataSource;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
-import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
@@ -64,42 +63,54 @@ public final class PipelineTableMetaDataLoaderTest {
private PipelineDataSourceWrapper dataSource;
- @Mock
- private Connection connection;
+ @Before
+ public void setUp() throws SQLException {
+ dataSource = new PipelineDataSourceWrapper(new
MockedDataSource(mockConnection()), new H2DatabaseType());
+ }
- @Mock
- private DatabaseMetaData databaseMetaData;
+ private Connection mockConnection() throws SQLException {
+ Connection result = mock(Connection.class);
+ when(result.getCatalog()).thenReturn(TEST_CATALOG);
+ DatabaseMetaData databaseMetaData = mockDatabaseMetaData();
+ when(result.getMetaData()).thenReturn(databaseMetaData);
+ return result;
+ }
- @Mock
- private ResultSet primaryKeyResultSet;
+ private DatabaseMetaData mockDatabaseMetaData() throws SQLException {
+ DatabaseMetaData result = mock(DatabaseMetaData.class);
+ ResultSet columnMetaDataResultSet = mockColumnMetaDataResultSet();
+ when(result.getColumns(TEST_CATALOG, null, TEST_TABLE,
"%")).thenReturn(columnMetaDataResultSet);
+ ResultSet primaryKeyResultSet = mockPrimaryKeyResultSet();
+ when(result.getPrimaryKeys(TEST_CATALOG, null,
TEST_TABLE)).thenReturn(primaryKeyResultSet);
+ ResultSet indexInfoResultSet = mockIndexInfoResultSet();
+ when(result.getIndexInfo(TEST_CATALOG, null, TEST_TABLE, true,
false)).thenReturn(indexInfoResultSet);
+ return result;
+ }
- @Mock
- private ResultSet columnMetaDataResultSet;
+ private ResultSet mockColumnMetaDataResultSet() throws SQLException {
+ ResultSet result = mock(ResultSet.class);
+ when(result.next()).thenReturn(true, true, true, false);
+ when(result.getString(TABLE_NAME)).thenReturn(TEST_TABLE);
+ when(result.getInt(ORDINAL_POSITION)).thenReturn(1, 2, 3);
+ when(result.getString(COLUMN_NAME)).thenReturn("id", "name", "age");
+ when(result.getInt(DATA_TYPE)).thenReturn(Types.BIGINT, Types.VARCHAR,
Types.INTEGER);
+ return result;
+ }
- @Mock
- private ResultSet indexInfoResultSet;
+ private ResultSet mockPrimaryKeyResultSet() throws SQLException {
+ ResultSet result = mock(ResultSet.class);
+ when(result.next()).thenReturn(true, false);
+ when(result.getString(COLUMN_NAME)).thenReturn("id");
+ return result;
+ }
- @Before
- public void setUp() throws SQLException {
- DataSource rawDataSource = mock(DataSource.class);
- dataSource = new PipelineDataSourceWrapper(rawDataSource, new
H2DatabaseType());
- when(rawDataSource.getConnection()).thenReturn(connection);
- when(connection.getCatalog()).thenReturn(TEST_CATALOG);
- when(connection.getMetaData()).thenReturn(databaseMetaData);
- when(databaseMetaData.getColumns(TEST_CATALOG, null, TEST_TABLE,
"%")).thenReturn(columnMetaDataResultSet);
- when(databaseMetaData.getPrimaryKeys(TEST_CATALOG, null,
TEST_TABLE)).thenReturn(primaryKeyResultSet);
- when(primaryKeyResultSet.next()).thenReturn(true, false);
- when(primaryKeyResultSet.getString(COLUMN_NAME)).thenReturn("id");
- when(columnMetaDataResultSet.next()).thenReturn(true, true, true,
false);
-
when(columnMetaDataResultSet.getString(TABLE_NAME)).thenReturn(TEST_TABLE);
- when(columnMetaDataResultSet.getInt(ORDINAL_POSITION)).thenReturn(1,
2, 3);
- when(columnMetaDataResultSet.getString(COLUMN_NAME)).thenReturn("id",
"name", "age");
-
when(columnMetaDataResultSet.getInt(DATA_TYPE)).thenReturn(Types.BIGINT,
Types.VARCHAR, Types.INTEGER);
- when(databaseMetaData.getIndexInfo(TEST_CATALOG, null, TEST_TABLE,
true, false)).thenReturn(indexInfoResultSet);
- when(indexInfoResultSet.next()).thenReturn(true, true, false);
- when(indexInfoResultSet.getString(INDEX_NAME)).thenReturn(TEST_INDEX);
- when(indexInfoResultSet.getString(COLUMN_NAME)).thenReturn("name",
"id");
- when(indexInfoResultSet.getShort(ORDINAL_POSITION)).thenReturn((short)
2, (short) 1);
+ private ResultSet mockIndexInfoResultSet() throws SQLException {
+ ResultSet result = mock(ResultSet.class);
+ when(result.next()).thenReturn(true, true, false);
+ when(result.getString(INDEX_NAME)).thenReturn(TEST_INDEX);
+ when(result.getString(COLUMN_NAME)).thenReturn("name", "id");
+ when(result.getShort(ORDINAL_POSITION)).thenReturn((short) 2, (short)
1);
+ return result;
}
@Test