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 1097dc0d94a Add verifications to prevent unnecessary updates during
database reloads on ContextManagerTest (#37242)
1097dc0d94a is described below
commit 1097dc0d94aac0e332f9889b7ead69d39749dcfe
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Dec 1 22:12:03 2025 +0800
Add verifications to prevent unnecessary updates during database reloads on
ContextManagerTest (#37242)
---
.../apache/shardingsphere/mode/manager/ContextManagerTest.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index 73e75abb718..993b185f203 100644
---
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -86,6 +86,7 @@ import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mockConstruction;
import static org.mockito.Mockito.mockStatic;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -215,6 +216,7 @@ class ContextManagerTest {
MockedConstruction<MetaDataContextsFactory> ignored =
mockConstruction(MetaDataContextsFactory.class,
(mock, context) ->
when(mock.createChangedDatabase("foo_db", false, switchingResource,
Collections.emptyList(), metaDataContexts)).thenThrow(SQLException.class))) {
contextManager.reloadDatabase(database);
+ verify(metaDataContexts, never()).update(any());
}
}
@@ -256,6 +258,8 @@ class ContextManagerTest {
try (MockedStatic<GenericSchemaBuilder> schemaBuilderMock =
mockStatic(GenericSchemaBuilder.class)) {
schemaBuilderMock.when(() ->
GenericSchemaBuilder.build(any(DatabaseType.class),
any(GenericSchemaBuilderMaterial.class))).thenThrow(SQLException.class);
contextManager.reloadSchema(database, "foo_schema", "foo_ds");
+ verify(database, never()).dropSchema(any());
+ verify(database, never()).addSchema(any());
}
}
@@ -289,11 +293,14 @@ class ContextManagerTest {
@Test
void assertReloadTableWithSQLException() {
- setPersistServiceFacade(mockPersistServiceFacade());
+ PersistServiceFacade persistServiceFacade = mockPersistServiceFacade();
+ setPersistServiceFacade(persistServiceFacade);
try (MockedStatic<GenericSchemaBuilder> schemaBuilderMock =
mockStatic(GenericSchemaBuilder.class)) {
schemaBuilderMock.when(() -> GenericSchemaBuilder.build(anySet(),
any(DatabaseType.class),
any(GenericSchemaBuilderMaterial.class))).thenThrow(SQLException.class);
contextManager.reloadTable(database, "foo_schema", "foo_tbl");
contextManager.reloadTable(database, "foo_schema", "foo_ds",
"foo_tbl");
+
verify(persistServiceFacade.getMetaDataFacade().getDatabaseMetaDataFacade().getTable(),
never()).persist(any(), any(), any());
+
verify(persistServiceFacade.getModeFacade().getMetaDataManagerService(),
never()).dropTables(any(), any(), any());
}
}