You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2020/09/05 09:16:25 UTC

[shardingsphere] branch master updated: Add test case for DataSourceParameterConverter.getDataSourceParameterMapFromYamlConfiguration (#7262)

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 374222a  Add test case for DataSourceParameterConverter.getDataSourceParameterMapFromYamlConfiguration (#7262)
374222a is described below

commit 374222ab68516ca1cf0ec3da5177dce1bef8fce6
Author: Serendipity <ja...@163.com>
AuthorDate: Sat Sep 5 17:16:08 2020 +0800

    Add test case for DataSourceParameterConverter.getDataSourceParameterMapFromYamlConfiguration (#7262)
---
 .../util/DataSourceParameterConverterTest.java     | 42 ++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/util/DataSourceParameterConverterTest.java b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/util/DataSourceParameterConverterTest.java
index 92e84fe..e2d1487 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/util/DataSourceParameterConverterTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/config/util/DataSourceParameterConverterTest.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.proxy.config.util;
 import com.zaxxer.hikari.HikariDataSource;
 import org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
 import org.apache.shardingsphere.infra.context.schema.DataSourceParameter;
+import org.apache.shardingsphere.proxy.config.yaml.YamlDataSourceParameter;
 import org.junit.Test;
 
 import java.util.HashMap;
@@ -76,4 +77,45 @@ public final class DataSourceParameterConverterTest {
         assertThat(props.get("username"), is("root"));
         assertThat(props.get("password"), is("root"));
     }
+    
+    @Test
+    public void assertGetDataSourceParameterMapFromYamlConfiguration() {
+        Map<String, YamlDataSourceParameter> yamlDataSourceParameterMap = new HashMap<>();
+        YamlDataSourceParameter yamlDataSourceParameter0 = new YamlDataSourceParameter();
+        yamlDataSourceParameter0.setUrl("jdbc:mysql://localhost:3306/t_order");
+        setYamlDataSourceParameterPropertyWithoutUrl(yamlDataSourceParameter0);
+        yamlDataSourceParameterMap.put("ds_0", yamlDataSourceParameter0);
+        YamlDataSourceParameter yamlDataSourceParameter1 = new YamlDataSourceParameter();
+        yamlDataSourceParameter1.setUrl("jdbc:mysql://localhost:3306/t_order_item");
+        setYamlDataSourceParameterPropertyWithoutUrl(yamlDataSourceParameter1);
+        yamlDataSourceParameterMap.put("ds_1", yamlDataSourceParameter1);
+        Map<String, DataSourceParameter> actualDataSourceParameterMap = DataSourceParameterConverter.getDataSourceParameterMapFromYamlConfiguration(yamlDataSourceParameterMap);
+        assertThat(actualDataSourceParameterMap.size(), is(2));
+        assertThat(actualDataSourceParameterMap.get("ds_0").getUrl(), is("jdbc:mysql://localhost:3306/t_order"));
+        assertThat(actualDataSourceParameterMap.get("ds_1").getUrl(), is("jdbc:mysql://localhost:3306/t_order_item"));
+        assertDataSourceParameter(actualDataSourceParameterMap.get("ds_0"));
+        assertDataSourceParameter(actualDataSourceParameterMap.get("ds_1"));
+    }
+    
+    private void setYamlDataSourceParameterPropertyWithoutUrl(final YamlDataSourceParameter yamlDataSourceParameter) {
+        yamlDataSourceParameter.setMaxPoolSize(50);
+        yamlDataSourceParameter.setMinPoolSize(1);
+        yamlDataSourceParameter.setConnectionTimeoutMilliseconds(30 * 1000L);
+        yamlDataSourceParameter.setIdleTimeoutMilliseconds(60 * 1000L);
+        yamlDataSourceParameter.setMaxLifetimeMilliseconds(0L);
+        yamlDataSourceParameter.setMaintenanceIntervalMilliseconds(30 * 1000L);
+        yamlDataSourceParameter.setUsername("root");
+        yamlDataSourceParameter.setPassword("root");
+    }
+    
+    private void assertDataSourceParameter(final DataSourceParameter dataSourceParameter) {
+        assertThat(dataSourceParameter.getMaxPoolSize(), is(50));
+        assertThat(dataSourceParameter.getMinPoolSize(), is(1));
+        assertThat(dataSourceParameter.getConnectionTimeoutMilliseconds(), is(30 * 1000L));
+        assertThat(dataSourceParameter.getIdleTimeoutMilliseconds(), is(60 * 1000L));
+        assertThat(dataSourceParameter.getMaxLifetimeMilliseconds(), is(0L));
+        assertThat(dataSourceParameter.getMaintenanceIntervalMilliseconds(), is(30 * 1000L));
+        assertThat(dataSourceParameter.getUsername(), is("root"));
+        assertThat(dataSourceParameter.getPassword(), is("root"));
+    }
 }