This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 672ea72 support governance's assert (#10004)
672ea72 is described below
commit 672ea720c2eb7fe043f43753f916037e33f6070a
Author: Jieker <[email protected]>
AuthorDate: Fri Apr 9 17:53:22 2021 +0800
support governance's assert (#10004)
* support governance's assert
* add eof
---
.../integration/junit/compose/ComposeManager.java | 1 +
.../junit/compose/ContainerCompose.java | 22 ++--------------------
.../junit/compose/GovernanceContainerCompose.java | 14 +++++---------
.../test/integration/engine/it/BaseITCase.java | 2 +-
.../test/integration/engine/it/BatchITCase.java | 4 +++-
.../test/integration/engine/it/ddl/BaseDDLIT.java | 10 +++++++---
.../test/integration/engine/it/dml/BaseDMLIT.java | 7 +++++--
7 files changed, 24 insertions(+), 36 deletions(-)
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ComposeManager.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ComposeManager.java
index 0892b9c..dbf73e6 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ComposeManager.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ComposeManager.java
@@ -46,6 +46,7 @@ public final class ComposeManager extends ExternalResource {
return composeMap.get(key);
}
ContainerCompose result;
+ // TODO fix sharding_governance
if ("sharding_governance".equals(parameterizedArray.getScenario())) {
result = new GovernanceContainerCompose(suiteName,
parameterizedArray);
} else {
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ContainerCompose.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ContainerCompose.java
index 991a079..4b101b1 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ContainerCompose.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/ContainerCompose.java
@@ -149,32 +149,14 @@ public abstract class ContainerCompose extends
ExternalResource implements Close
* @return ShardingSphere storage container
*/
public abstract ShardingSphereStorageContainer getStorageContainer();
-
- /**
- * Get target datasource for writer.
- *
- * @return datasource
- */
- public DataSource getDataSourceForWriter() {
- return getAdapterContainer().getDataSource();
- }
-
- /**
- * Get target datasource for reader.
- *
- * @return datasource
- */
- public DataSource getDataSourceForReader() {
- return getAdapterContainer().getDataSource();
- }
-
+
/**
* Get all target datasources.
*
* @return datasource map
*/
public Map<String, DataSource> getDataSourceMap() {
- return Collections.singletonMap(getAdapterContainer().getDockerName(),
getAdapterContainer().getDataSource());
+ return Collections.singletonMap("adapterForWriter",
getAdapterContainer().getDataSource());
}
@Override
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/GovernanceContainerCompose.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/GovernanceContainerCompose.java
index 91c1ec9..50dcb2d 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/GovernanceContainerCompose.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-fixture/src/test/java/org/apache/shardingsphere/test/integration/junit/compose/GovernanceContainerCompose.java
@@ -38,7 +38,7 @@ public final class GovernanceContainerCompose extends
ContainerCompose {
@Getter
private final ShardingSphereAdapterContainer adapterContainer;
-
+
private final ShardingSphereAdapterContainer adapterContainerForReader;
public GovernanceContainerCompose(final String clusterName, final
ParameterizedArray parameterizedArray) {
@@ -51,7 +51,8 @@ public final class GovernanceContainerCompose extends
ContainerCompose {
adapterContainerForReader = createContainer(() -> new
ShardingSphereProxyContainer("ShardingSphere-Proxy-1", parameterizedArray),
"ShardingSphere-Proxy-1");
adapterContainerForReader.dependsOn(storageContainer,
zookeeperContainer);
} else {
- adapterContainerForReader = this.adapterContainer;
+ adapterContainerForReader = createAdapterContainer();
+ adapterContainerForReader.dependsOn(storageContainer,
zookeeperContainer);
}
adapterContainer.dependsOn(storageContainer, zookeeperContainer);
}
@@ -61,15 +62,10 @@ public final class GovernanceContainerCompose extends
ContainerCompose {
}
@Override
- public DataSource getDataSourceForReader() {
- return adapterContainerForReader.getDataSource();
- }
-
- @Override
public Map<String, DataSource> getDataSourceMap() {
Map<String, DataSource> result = new HashMap<>(2);
- result.put(adapterContainer.getDockerName(),
adapterContainer.getDataSource());
- result.put(adapterContainerForReader.getDockerName(),
adapterContainerForReader.getDataSource());
+ result.put("adapterForWriter", adapterContainer.getDataSource());
+ result.put("adapterForReader",
adapterContainerForReader.getDataSource());
return result;
}
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseITCase.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseITCase.java
index 13ad029..bd00ca8 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseITCase.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BaseITCase.java
@@ -79,7 +79,7 @@ public abstract class BaseITCase {
@Before
public final void createDataSource() {
- targetDataSource = adapterContainer.getDataSource();
+ targetDataSource = compose.getDataSourceMap().get("adapterForWriter");
}
@After
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchITCase.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchITCase.java
index d27a117..64357dd 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchITCase.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/BatchITCase.java
@@ -29,6 +29,7 @@ import
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
import org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
import
org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
+import
org.apache.shardingsphere.test.integration.junit.compose.GovernanceContainerCompose;
import
org.apache.shardingsphere.test.integration.junit.param.model.CaseParameterizedArray;
import org.junit.After;
import org.junit.Before;
@@ -92,7 +93,8 @@ public abstract class BatchITCase extends BaseITCase {
DataSetMetadata expectedDataSetMetadata =
expected.getMetadataList().get(0);
for (String each : new
InlineExpressionParser(expectedDataSetMetadata.getDataNodes()).splitAndEvaluate())
{
DataNode dataNode = new DataNode(each);
- try (Connection connection =
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
+ try (Connection connection = getCompose() instanceof
GovernanceContainerCompose
+ ?
getCompose().getDataSourceMap().get("adapterForReader").getConnection() :
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
PreparedStatement preparedStatement =
connection.prepareStatement(String.format("SELECT * FROM %s ORDER BY 1",
dataNode.getTableName()))) {
assertDataSet(preparedStatement, expected.findRows(dataNode),
expectedDataSetMetadata);
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
index 9a04abe..808a7bd 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/ddl/BaseDDLIT.java
@@ -28,6 +28,7 @@ import
org.apache.shardingsphere.test.integration.cases.dataset.metadata.DataSet
import org.apache.shardingsphere.test.integration.engine.it.SingleITCase;
import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
import
org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
+import
org.apache.shardingsphere.test.integration.junit.compose.GovernanceContainerCompose;
import
org.apache.shardingsphere.test.integration.junit.param.model.AssertionParameterizedArray;
import org.junit.After;
import org.junit.Before;
@@ -114,7 +115,8 @@ public abstract class BaseDDLIT extends SingleITCase {
private void assertNotContainsTable(final Collection<DataNode> dataNodes)
throws SQLException {
for (DataNode each : dataNodes) {
- try (Connection connection =
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
{
+ try (Connection connection = getCompose() instanceof
GovernanceContainerCompose
+ ?
getCompose().getDataSourceMap().get("adapterForReader").getConnection() :
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
{
assertNotContainsTable(connection, each.getTableName());
}
}
@@ -127,7 +129,8 @@ public abstract class BaseDDLIT extends SingleITCase {
private List<DataSetColumn> getActualColumns(final Collection<DataNode>
dataNodes) throws SQLException {
Set<DataSetColumn> result = new LinkedHashSet<>();
for (DataNode each : dataNodes) {
- try (Connection connection =
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
{
+ try (Connection connection = getCompose() instanceof
GovernanceContainerCompose
+ ?
getCompose().getDataSourceMap().get("adapterForReader").getConnection() :
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
{
result.addAll(getActualColumns(connection,
each.getTableName()));
}
}
@@ -151,7 +154,8 @@ public abstract class BaseDDLIT extends SingleITCase {
private List<DataSetIndex> getActualIndexes(final Collection<DataNode>
dataNodes) throws SQLException {
Set<DataSetIndex> result = new LinkedHashSet<>();
for (DataNode each : dataNodes) {
- try (Connection connection =
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
{
+ try (Connection connection = getCompose() instanceof
GovernanceContainerCompose
+ ?
getCompose().getDataSourceMap().get("adapterForReader").getConnection() :
getStorageContainer().getDataSourceMap().get(each.getDataSourceName()).getConnection())
{
result.addAll(getActualIndexes(connection,
each.getTableName()));
}
}
diff --git
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
index a945c28..fc54962 100644
---
a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
+++
b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/it/dml/BaseDMLIT.java
@@ -27,6 +27,7 @@ import
org.apache.shardingsphere.test.integration.cases.dataset.row.DataSetRow;
import org.apache.shardingsphere.test.integration.engine.it.SingleITCase;
import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
import
org.apache.shardingsphere.test.integration.env.dataset.DataSetEnvironmentManager;
+import
org.apache.shardingsphere.test.integration.junit.compose.GovernanceContainerCompose;
import
org.apache.shardingsphere.test.integration.junit.param.model.AssertionParameterizedArray;
import org.junit.After;
import org.junit.Before;
@@ -75,7 +76,8 @@ public abstract class BaseDMLIT extends SingleITCase {
for (String each : new
InlineExpressionParser(expectedDataSetMetadata.getDataNodes()).splitAndEvaluate())
{
DataNode dataNode = new DataNode(each);
try (
- Connection connection =
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
+ Connection connection = getCompose() instanceof
GovernanceContainerCompose
+ ?
getCompose().getDataSourceMap().get("adapterForReader").getConnection() :
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
PreparedStatement preparedStatement =
connection.prepareStatement(generateFetchActualDataSQL(dataNode))) {
assertDataSet(preparedStatement, expectedDataSetMetadata,
getDataSet().findRows(dataNode));
}
@@ -101,7 +103,8 @@ public abstract class BaseDMLIT extends SingleITCase {
String sql = String.format("SELECT a.attname, format_type(a.atttypid,
a.atttypmod) AS data_type "
+ "FROM pg_index i JOIN pg_attribute a ON a.attrelid =
i.indrelid AND a.attnum = ANY(i.indkey) WHERE i.indrelid = '%s'::regclass AND
i.indisprimary", dataNode.getTableName());
try (
- Connection connection =
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
+ Connection connection = getCompose() instanceof
GovernanceContainerCompose
+ ?
getCompose().getDataSourceMap().get("adapterForReader").getConnection() :
getStorageContainer().getDataSourceMap().get(dataNode.getDataSourceName()).getConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql)) {
if (resultSet.next()) {