Skip to content

Commit

Permalink
Add more test cases on DatabaseRuleConfiguration's impl (#33578)
Browse files Browse the repository at this point in the history
* Add test cases on ReadwriteSplittingRuleConfiguration

* Add more test cases on DatabaseRuleConfiguration's impl
  • Loading branch information
terrymanu authored Nov 6, 2024
1 parent 377f9c6 commit 810f242
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.apache.shardingsphere.broadcast.config;

import org.junit.jupiter.api.Test;

import java.util.Collections;

import static org.junit.jupiter.api.Assertions.assertTrue;

class BroadcastRuleConfigurationTest {

@Test
void assertIsEmpty() {
assertTrue(new BroadcastRuleConfiguration(Collections.emptyList()).isEmpty());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.apache.shardingsphere.encrypt.config;

import org.junit.jupiter.api.Test;

import java.util.Collections;

import static org.junit.jupiter.api.Assertions.assertTrue;

class EncryptRuleConfigurationTest {

@Test
void assertIsEmpty() {
assertTrue(new EncryptRuleConfiguration(Collections.emptyList(), Collections.emptyMap()).isEmpty());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,16 @@

package org.apache.shardingsphere.mask.config;

import org.apache.shardingsphere.mask.config.rule.MaskTableRuleConfiguration;
import org.junit.jupiter.api.Test;

import java.util.Collections;

import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;

class MaskRuleConfigurationTest {

@Test
void assertIsEmpty() {
assertTrue(new MaskRuleConfiguration(Collections.emptyList(), Collections.emptyMap()).isEmpty());
}

@Test
void assertIsNotEmpty() {
assertFalse(new MaskRuleConfiguration(Collections.singleton(mock(MaskTableRuleConfiguration.class)), Collections.emptyMap()).isEmpty());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,12 @@ class ReadwriteSplittingRuleStatementConverterTest {

@Test
void assertConvert() {
ReadwriteSplittingRuleConfiguration actual = ReadwriteSplittingRuleStatementConverter.convert(Collections.singleton(new ReadwriteSplittingRuleSegment(
"foo_name", "write_ds", Arrays.asList("read_ds0", "read_ds1"), TransactionalReadQueryStrategy.FIXED.name(), new AlgorithmSegment("foo_algo", new Properties()))));
assertThat(actual.getDataSourceGroups(), deepEqual(Collections.singletonList(
new ReadwriteSplittingDataSourceGroupRuleConfiguration("foo_name", "write_ds", Arrays.asList("read_ds0", "read_ds1"), TransactionalReadQueryStrategy.FIXED, "foo_name_foo_algo"))));
ReadwriteSplittingRuleSegment ruleSegment = new ReadwriteSplittingRuleSegment(
"foo_name", "write_ds", Arrays.asList("read_ds0", "read_ds1"), TransactionalReadQueryStrategy.FIXED.name(), new AlgorithmSegment("foo_algo", new Properties()));
ReadwriteSplittingRuleConfiguration actual = ReadwriteSplittingRuleStatementConverter.convert(Collections.singleton(ruleSegment));
ReadwriteSplittingDataSourceGroupRuleConfiguration expectedDataSourceGroupRuleConfig = new ReadwriteSplittingDataSourceGroupRuleConfiguration(
"foo_name", "write_ds", Arrays.asList("read_ds0", "read_ds1"), TransactionalReadQueryStrategy.FIXED, "foo_name_foo_algo");
assertThat(actual.getDataSourceGroups(), deepEqual(Collections.singletonList(expectedDataSourceGroupRuleConfig)));
assertThat(actual.getLoadBalancers(), deepEqual(Collections.singletonMap("foo_name_foo_algo", new AlgorithmConfiguration("foo_algo", new Properties()))));
}

Expand Down

0 comments on commit 810f242

Please sign in to comment.