diff options
author | Simon Brandhof <simon.brandhof@gmail.com> | 2014-03-21 16:40:07 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@gmail.com> | 2014-03-21 16:40:15 +0100 |
commit | 4a77e99189510fd586d57900a7e9d7742647ff58 (patch) | |
tree | 732bcf005828d824bb4ed5ac86b6d08828d148aa /sonar-ws-client | |
parent | be698baf4b4519eb43b5494be23a04703a550c9a (diff) | |
download | sonarqube-4a77e99189510fd586d57900a7e9d7742647ff58.tar.gz sonarqube-4a77e99189510fd586d57900a7e9d7742647ff58.zip |
SONAR-4843 move URL to /api/system/restart and complete ws-client
Diffstat (limited to 'sonar-ws-client')
3 files changed, 24 insertions, 2 deletions
diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/system/SystemClient.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/system/SystemClient.java index db5d48620a4..297925efaa2 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/system/SystemClient.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/system/SystemClient.java @@ -33,4 +33,10 @@ public interface SystemClient { * Synchronously start a database migration. */ Migration migrate(long timeoutInSeconds, long rateInSeconds); + + /** + * Restart server. Available only in development mode. + * @since 4.3 + */ + void restart(); } diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/system/internal/DefaultSystemClient.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/system/internal/DefaultSystemClient.java index a385ca3ce5d..7eacea238b4 100644 --- a/sonar-ws-client/src/main/java/org/sonar/wsclient/system/internal/DefaultSystemClient.java +++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/system/internal/DefaultSystemClient.java @@ -24,7 +24,7 @@ import org.sonar.wsclient.internal.HttpRequestFactory; import org.sonar.wsclient.system.Migration; import org.sonar.wsclient.system.SystemClient; -import java.util.HashMap; +import java.util.Collections; import java.util.Map; public class DefaultSystemClient implements SystemClient { @@ -37,7 +37,7 @@ public class DefaultSystemClient implements SystemClient { @Override public Migration migrate() { - String json = requestFactory.post("/api/server/setup", new HashMap<String, Object>()); + String json = requestFactory.post("/api/server/setup", Collections.<String, Object>emptyMap()); return jsonToMigration(json); } @@ -61,6 +61,11 @@ public class DefaultSystemClient implements SystemClient { return migration; } + @Override + public void restart() { + requestFactory.post("/api/system/restart", Collections.<String, Object>emptyMap()); + } + private void sleepQuietly(long rateInMs) { try { Thread.sleep(rateInMs); diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/system/internal/DefaultSystemClientTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/system/internal/DefaultSystemClientTest.java index b2c05a2ef83..7d550852fda 100644 --- a/sonar-ws-client/src/test/java/org/sonar/wsclient/system/internal/DefaultSystemClientTest.java +++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/system/internal/DefaultSystemClientTest.java @@ -25,11 +25,14 @@ import org.sonar.wsclient.MockHttpServerInterceptor; import org.sonar.wsclient.internal.HttpRequestFactory; import org.sonar.wsclient.system.Migration; +import java.util.Collections; + import static org.fest.assertions.Assertions.assertThat; import static org.fest.assertions.Fail.fail; import static org.mockito.Matchers.anyMap; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class DefaultSystemClientTest { @@ -112,4 +115,12 @@ public class DefaultSystemClientTest { assertThat(e.getMessage()).isEqualTo("State is not set"); } } + + @Test + public void restart() { + HttpRequestFactory requestFactory = mock(HttpRequestFactory.class); + DefaultSystemClient client = new DefaultSystemClient(requestFactory); + client.restart(); + verify(requestFactory).post("/api/system/restart", Collections.<String, Object>emptyMap()); + } } |