]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6366 add status NOT_SUPPORTED
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Thu, 30 Apr 2015 16:21:49 +0000 (18:21 +0200)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Tue, 5 May 2015 07:18:54 +0000 (09:18 +0200)
server/sonar-server/src/main/java/org/sonar/server/platform/ws/MigrateDbSystemWsAction.java
server/sonar-server/src/test/java/org/sonar/server/platform/ws/MigrateDbSystemWsActionTest.java

index 6d477d7e9e4e7c51e55ef7d7effbd64a91f3816a..0d38ef73cfbae44ff7a8ac8f8e01acad578f4959 100644 (file)
@@ -43,6 +43,12 @@ public class MigrateDbSystemWsAction implements SystemWsAction {
   private static final String MESSAGE_STATUS_SUCCEEDED = "Migration succeeded.";
   private static final String MESSAGE_STATUS_FAILED = "Migration failed: %s.<br/> Please check logs.";
 
+  private static final String STATUS_NOT_SUPPORTED = "NOT_SUPPORTED";
+  private static final String STATUS_NO_MIGRATION = "NO_MIGRATION";
+  private static final String STATUS_MIGRATION_RUNNING = "MIGRATION_RUNNING";
+  private static final String STATUS_MIGRATION_FAILED = "MIGRATION_FAILED";
+  private static final String STATUS_MIGRATION_SUCCEEDED = "MIGRATION_SUCCEEDED";
+
   private final DatabaseVersion databaseVersion;
   private final DatabaseMigration databaseMigration;
   private final Database database;
@@ -65,11 +71,12 @@ public class MigrateDbSystemWsAction implements SystemWsAction {
         "<br/>" +
         "State values are:" +
         "<ul>" +
-        "<li>NO_MIGRATION: DB is up to date with current version of SonarQube</li>" +
-        "<li>MIGRATION_RUNNING: DB migration is under go</li>" +
-        "<li>MIGRATION_SUCCEEDED: DB migration has run and has been successful</li>" +
+        "<li>NO_MIGRATION: DB is up to date with current version of SonarQube.</li>" +
+        "<li>NOT_SUPPORTED: Migration is not supported on embedded databases.</li>" +
+        "<li>MIGRATION_RUNNING: DB migration is under go.</li>" +
+        "<li>MIGRATION_SUCCEEDED: DB migration has run and has been successful.</li>" +
         "<li>MIGRATION_FAILED: DB migration has run and failed. SonarQube must be restarted in order to retry a " +
-        "DB migration (optionally after DB has been restored from backup)</li>" +
+        "DB migration (optionally after DB has been restored from backup).</li>" +
         "</ul>")
       .setSince("5.2")
       .setPost(true)
@@ -109,8 +116,8 @@ public class MigrateDbSystemWsAction implements SystemWsAction {
     JsonWriter jsonWriter = response.newJsonWriter();
     jsonWriter.beginObject()
       .prop("operational", false)
-      .prop("state", statusToJson(NONE))
-      .prop("message", "Upgrade is not supported. Please use a <a href=\"http://redirect.sonarsource.com/doc/requirements.html\">production-ready database</a>.")
+      .prop("state", STATUS_NOT_SUPPORTED)
+      .prop("message", "Upgrade is not supported on embedded database.")
       .endObject();
     jsonWriter.close();
   }
@@ -140,13 +147,13 @@ public class MigrateDbSystemWsAction implements SystemWsAction {
   private String statusToJson(DatabaseMigration.Status status) {
     switch (status) {
       case NONE:
-        return "NO_MIGRATION";
+        return STATUS_NO_MIGRATION;
       case RUNNING:
-        return "MIGRATION_RUNNING";
+        return STATUS_MIGRATION_RUNNING;
       case FAILED:
-        return "MIGRATION_FAILED";
+        return STATUS_MIGRATION_FAILED;
       case SUCCEEDED:
-        return "MIGRATION_SUCCEEDED";
+        return STATUS_MIGRATION_SUCCEEDED;
       default:
         throw new IllegalArgumentException(
           "Unsupported DatabaseMigration.Status " + status + " can not be converted to JSON value");
index df5902a66af3eeea314d3ea32d71ed0ef18cfc96..051a555bb1fb6bc416f0370c65197cefac122ce1 100644 (file)
@@ -49,7 +49,7 @@ import static org.sonar.test.JsonAssert.assertJson;
 public class MigrateDbSystemWsActionTest {
 
   private static final String UPTODATE_MSG = "Database is up-to-date, no migration needed.";
-  private static final String MIG_NOT_SUPPORTED_MSG = "Upgrade is not supported. Please use a <a href=\\\"http://redirect.sonarsource.com/doc/requirements.html\\\">production-ready database</a>.";
+  private static final String MIG_NOT_SUPPORTED_MSG = "Upgrade is not supported on embedded database.";
   private static final String RUNNING_MSG = "Database migration is running.";
   private static final Date SOME_DATE = new Date();
   private static final String SOME_THROWABLE_MSG = "blablabla pop !";
@@ -59,6 +59,7 @@ public class MigrateDbSystemWsActionTest {
   private static final int OLD_VERSION = CURRENT_VERSION - 1;
   private static final int NEWER_VERSION = CURRENT_VERSION + 1;
   private static final String STATUS_NONE = "NO_MIGRATION";
+  private static final String STATUS_NOT_SUPPORTED = "NOT_SUPPORTED";
   private static final String STATUS_RUNNING = "MIGRATION_RUNNING";
   private static final String STATUS_SUCCEEDED = "MIGRATION_SUCCEEDED";
   private static final String STATUS_FAILED = "MIGRATION_FAILED";
@@ -133,7 +134,7 @@ public class MigrateDbSystemWsActionTest {
 
     underTest.handle(request, response);
 
-    assertJson(response.outputAsString()).isSimilarTo(expectedResponse(false, STATUS_NONE, MIG_NOT_SUPPORTED_MSG));
+    assertJson(response.outputAsString()).isSimilarTo(expectedResponse(false, STATUS_NOT_SUPPORTED, MIG_NOT_SUPPORTED_MSG));
   }
 
   @Test