You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by "sandynz (via GitHub)" <gi...@apache.org> on 2023/06/16 04:38:05 UTC

[GitHub] [shardingsphere] sandynz commented on a diff in pull request #25507: Add test cases for YamlReadwriteSplittingRuleConfigurationSwapper

sandynz commented on code in PR #25507:
URL: https://github.com/apache/shardingsphere/pull/25507#discussion_r1231765808


##########
features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/YamlReadwriteSplittingRuleConfigurationSwapperTest.java:
##########
@@ -35,45 +34,61 @@
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
-import static org.mockito.Mockito.mock;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class YamlReadwriteSplittingRuleConfigurationSwapperTest {
-    
+
     @Test
     void assertSwapToYamlConfiguration() {
         YamlReadwriteSplittingRuleConfiguration actual = getSwapper().swapToYamlConfiguration(creatReadwriteSplittingRuleConfiguration());
         assertThat(actual.getDataSources().size(), is(1));
         assertThat(actual.getLoadBalancers().size(), is(1));
+        assertReadwriteSplittingRule(actual);
+    }
+
+    void assertReadwriteSplittingRule(final YamlReadwriteSplittingRuleConfiguration actual) {
+        assertNotNull(actual.getDataSources().get("readwrite"));
+        YamlReadwriteSplittingDataSourceRuleConfiguration config = actual.getDataSources().get("readwrite");
+        assertThat(config.getWriteDataSourceName(), CoreMatchers.is("write_ds"));
+        assertThat(actual.getDataSources().get("readwrite").getLoadBalancerName(), CoreMatchers.is("random"));

Review Comment:
   `CoreMatchers.is` could be `is`



##########
features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/YamlReadwriteSplittingRuleConfigurationSwapperTest.java:
##########
@@ -35,45 +34,61 @@
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
-import static org.mockito.Mockito.mock;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class YamlReadwriteSplittingRuleConfigurationSwapperTest {
-    
+
     @Test
     void assertSwapToYamlConfiguration() {
         YamlReadwriteSplittingRuleConfiguration actual = getSwapper().swapToYamlConfiguration(creatReadwriteSplittingRuleConfiguration());
         assertThat(actual.getDataSources().size(), is(1));
         assertThat(actual.getLoadBalancers().size(), is(1));
+        assertReadwriteSplittingRule(actual);
+    }
+
+    void assertReadwriteSplittingRule(final YamlReadwriteSplittingRuleConfiguration actual) {
+        assertNotNull(actual.getDataSources().get("readwrite"));
+        YamlReadwriteSplittingDataSourceRuleConfiguration config = actual.getDataSources().get("readwrite");
+        assertThat(config.getWriteDataSourceName(), CoreMatchers.is("write_ds"));
+        assertThat(actual.getDataSources().get("readwrite").getLoadBalancerName(), CoreMatchers.is("random"));
     }
-    
+
+    void assertReadwriteSplittingRule(final ReadwriteSplittingRuleConfiguration actual) {
+        ReadwriteSplittingDataSourceRuleConfiguration config = actual.getDataSources().iterator().next();
+        assertThat(config.getName(), CoreMatchers.is("t_readwrite"));
+        assertThat(config.getWriteDataSourceName(), CoreMatchers.is("write_ds"));
+        assertThat(config.getLoadBalancerName(), CoreMatchers.is("random"));
+    }
+
     private ReadwriteSplittingRuleConfiguration creatReadwriteSplittingRuleConfiguration() {
         Collection<ReadwriteSplittingDataSourceRuleConfiguration> dataSources = Collections.singletonList(
                 new ReadwriteSplittingDataSourceRuleConfiguration("readwrite", "write_ds", Arrays.asList("read_ds_0", "read_ds_1"), "random"));
         Map<String, AlgorithmConfiguration> loadBalancers = Collections.singletonMap("myLoadBalancer", new AlgorithmConfiguration("RANDOM", new Properties()));
         return new ReadwriteSplittingRuleConfiguration(dataSources, loadBalancers);
     }
-    
+
     @Test
     void assertSwapToObject() {
-        ReadwriteSplittingRuleConfiguration actual = getSwapper().swapToObject(creatYamlReadwriteSplittingRuleConfiguration());
+        ReadwriteSplittingRuleConfiguration actual = getSwapper().swapToObject(createYamlReadwriteSplittingRuleConfiguration());
         assertThat(actual.getDataSources().size(), is(1));
         assertThat(actual.getLoadBalancers().size(), is(1));
+        assertReadwriteSplittingRule(actual);
     }
-    
-    private YamlReadwriteSplittingRuleConfiguration creatYamlReadwriteSplittingRuleConfiguration() {
-        YamlReadwriteSplittingRuleConfiguration result = new YamlReadwriteSplittingRuleConfiguration();
+
+    private YamlReadwriteSplittingRuleConfiguration createYamlReadwriteSplittingRuleConfiguration() {
         YamlReadwriteSplittingDataSourceRuleConfiguration dataSourceRuleConfig = new YamlReadwriteSplittingDataSourceRuleConfiguration();
         dataSourceRuleConfig.setReadDataSourceNames(Arrays.asList("read_ds_0", "read_ds_1"));
         dataSourceRuleConfig.setWriteDataSourceName("write_ds");
+        dataSourceRuleConfig.setLoadBalancerName("random");
+        YamlReadwriteSplittingRuleConfiguration result = new YamlReadwriteSplittingRuleConfiguration();
         result.getDataSources().put("t_readwrite", dataSourceRuleConfig);
         YamlAlgorithmConfiguration algorithmConfig = new YamlAlgorithmConfiguration();
         algorithmConfig.setType("RANDOM");
         result.getLoadBalancers().put("random_loadbalancer", algorithmConfig);
         return result;
     }
-    
+

Review Comment:
   Indentation in empty line between methods could be kept



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org