From d347448b24755aca022d9ea5b128cfe9093f22e7 Mon Sep 17 00:00:00 2001 From: Sumit Kumar Date: Wed, 2 Dec 2020 17:53:38 +0530 Subject: [PATCH] Propagte mysql test datasource failure to UI. (#2001) 1. Propagte mysql test datasource failure exception message to UI. 2. Change build TC to reflect the same. --- .../java/com/external/plugins/MySqlPlugin.java | 2 +- .../com/external/plugins/MySqlPluginTest.java | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/server/appsmith-plugins/mysqlPlugin/src/main/java/com/external/plugins/MySqlPlugin.java b/app/server/appsmith-plugins/mysqlPlugin/src/main/java/com/external/plugins/MySqlPlugin.java index 5bb932afce..f25eafda0c 100644 --- a/app/server/appsmith-plugins/mysqlPlugin/src/main/java/com/external/plugins/MySqlPlugin.java +++ b/app/server/appsmith-plugins/mysqlPlugin/src/main/java/com/external/plugins/MySqlPlugin.java @@ -356,7 +356,7 @@ public class MySqlPlugin extends BasePlugin { .then(Mono.just(new DatasourceTestResult())) .onErrorResume(error -> { log.error("Error when testing MySQL datasource.", error); - return Mono.error(Exceptions.propagate(error)); + return Mono.just(new DatasourceTestResult(error.getMessage())); }) .subscribeOn(scheduler); diff --git a/app/server/appsmith-plugins/mysqlPlugin/src/test/java/com/external/plugins/MySqlPluginTest.java b/app/server/appsmith-plugins/mysqlPlugin/src/test/java/com/external/plugins/MySqlPluginTest.java index 432ebd96ed..4ccd304e26 100644 --- a/app/server/appsmith-plugins/mysqlPlugin/src/test/java/com/external/plugins/MySqlPluginTest.java +++ b/app/server/appsmith-plugins/mysqlPlugin/src/test/java/com/external/plugins/MySqlPluginTest.java @@ -22,12 +22,11 @@ import reactor.test.StepVerifier; import java.util.LinkedHashMap; import java.util.List; import java.util.Set; -import java.util.concurrent.TimeUnit; - -import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertArrayEquals; @Log4j public class MySqlPluginTest { @@ -174,14 +173,18 @@ public class MySqlPluginTest { public void testTestDatasource() { /* Expect no error */ StepVerifier.create(pluginExecutor.testDatasource(dsConfig)) - .expectNextCount(1) + .assertNext(datasourceTestResult -> { + assertEquals(0, datasourceTestResult.getInvalids().size()); + }) .verifyComplete(); /* Create bad datasource configuration and expect error */ dsConfig.getEndpoints().get(0).setHost("badHost"); StepVerifier.create(pluginExecutor.testDatasource(dsConfig)) - .expectError() - .verify(); + .assertNext(datasourceTestResult -> { + assertNotEquals(0, datasourceTestResult.getInvalids().size()); + }) + .verifyComplete(); /* Reset dsConfig */ createDatasourceConfiguration();