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 5ad256e Add unit test for SchemaChangedListener (#6826)
5ad256e is described below
commit 5ad256e46d44f52e0f87250dae36a0363f12609b
Author: Haoran Meng <[email protected]>
AuthorDate: Thu Aug 13 18:37:16 2020 +0800
Add unit test for SchemaChangedListener (#6826)
---
.../config/listener/SchemaChangedListenerTest.java | 31 ++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git
a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/test/java/org/apache/shardingsphere/orchestration/core/config/listener/SchemaChangedListenerTest.java
b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/test/java/org/apache/shardingsphere/orchestration/core/config/listener/SchemaChangedListenerTest.java
index c863213..81953d0 100644
---
a/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/test/java/org/apache/shardingsphere/orchestration/core/config/listener/SchemaChangedListenerTest.java
+++
b/shardingsphere-control-panel/shardingsphere-orchestration/shardingsphere-orchestration-core/shardingsphere-orchestration-core-config/src/test/java/org/apache/shardingsphere/orchestration/core/config/listener/SchemaChangedListenerTest.java
@@ -239,6 +239,37 @@ public final class SchemaChangedListenerTest {
assertThat(((SchemaAddedEvent)
actual).getRuleConfigurations().iterator().next(),
instanceOf(MasterSlaveRuleConfiguration.class));
}
+ @Test
+ public void assertCreateSchemaNamesUpdatedEventForAdd() {
+ DataChangedEvent dataChangedEvent = new
DataChangedEvent("/test/config/schema",
"sharding_db,masterslave_db,encrypt_db,shadow_db", ChangedType.UPDATED);
+ OrchestrationEvent actual =
schemaChangedListener.createOrchestrationEvent(dataChangedEvent);
+ assertThat(actual, instanceOf(SchemaAddedEvent.class));
+ assertThat(((SchemaAddedEvent) actual).getShardingSchemaName(),
is("shadow_db"));
+ }
+
+ @Test
+ public void assertCreateSchemaNamesUpdatedEventForDelete() {
+ DataChangedEvent dataChangedEvent = new
DataChangedEvent("/test/config/schema", "sharding_db,masterslave_db",
ChangedType.UPDATED);
+ OrchestrationEvent actual =
schemaChangedListener.createOrchestrationEvent(dataChangedEvent);
+ assertThat(actual, instanceOf(SchemaDeletedEvent.class));
+ assertThat(((SchemaDeletedEvent) actual).getShardingSchemaName(),
is("encrypt_db"));
+ }
+
+ @Test
+ public void assertCreateSchemaNamesUpdatedEventForIgnore() {
+ DataChangedEvent dataChangedEvent = new
DataChangedEvent("/test/config/schema",
"sharding_db,masterslave_db,encrypt_db", ChangedType.UPDATED);
+ OrchestrationEvent actual =
schemaChangedListener.createOrchestrationEvent(dataChangedEvent);
+ assertThat(actual, instanceOf(IgnoredOrchestrationEvent.class));
+ }
+
+ @Test
+ public void assertCreateSchemaNameAddEvent() {
+ DataChangedEvent dataChangedEvent = new
DataChangedEvent("/test/config/schema/shadow_db", "", ChangedType.ADDED);
+ OrchestrationEvent actual =
schemaChangedListener.createOrchestrationEvent(dataChangedEvent);
+ assertThat(actual, instanceOf(SchemaAddedEvent.class));
+ assertThat(((SchemaAddedEvent) actual).getShardingSchemaName(),
is("shadow_db"));
+ }
+
@SneakyThrows
private String readYAML(final String yamlFile) {
return
Files.readAllLines(Paths.get(ClassLoader.getSystemResource(yamlFile).toURI())).stream().map(each
-> each + System.lineSeparator()).collect(Collectors.joining());