Browse Source

SONAR-19991 Don't depend on sonar-webserver-webapi in sonar-webserver-webapi-v2.

tags/10.2.0.77647
Wojtek Wajerowicz 11 months ago
parent
commit
1af4bdccce
41 changed files with 117 additions and 79 deletions
  1. 2
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/AppNodeClusterCheck.java
  2. 2
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/CeStatusNodeCheck.java
  3. 2
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/ClusterHealthCheck.java
  4. 1
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/ClusterHealthSubCheck.java
  5. 2
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/DbConnectionNodeCheck.java
  6. 2
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/EsStatusCheck.java
  7. 2
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/EsStatusClusterCheck.java
  8. 2
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/EsStatusNodeCheck.java
  9. 3
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/HealthReducer.java
  10. 3
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/NodeHealthCheck.java
  11. 3
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/WebServerSafemodeNodeCheck.java
  12. 2
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/WebServerStatusNodeCheck.java
  13. 1
    1
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/platform/LivenessChecker.java
  14. 5
    5
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/platform/LivenessCheckerImpl.java
  15. 2
    2
      server/sonar-webserver-common/src/main/java/org/sonar/server/common/platform/SafeModeLivenessCheckerImpl.java
  16. 12
    11
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/AppNodeClusterCheckTest.java
  17. 3
    1
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/CeStatusNodeCheckTest.java
  18. 3
    1
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/DbConnectionNodeCheckTest.java
  19. 3
    1
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/EsStatusClusterCheckTest.java
  20. 3
    1
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/EsStatusNodeCheckTest.java
  21. 2
    1
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/HealthAssert.java
  22. 3
    1
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/WebServerSafemodeNodeCheckTest.java
  23. 3
    1
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/WebServerStatusNodeCheckTest.java
  24. 5
    5
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/platform/LivenessCheckerImplTest.java
  25. 3
    2
      server/sonar-webserver-common/src/test/java/org/sonar/server/common/platform/SafeModeLivenessCheckerImplTest.java
  26. 1
    2
      server/sonar-webserver-webapi-v2/build.gradle
  27. 1
    1
      server/sonar-webserver-webapi-v2/src/main/java/org/sonar/server/v2/api/system/controller/DefaultLivenessController.java
  28. 6
    6
      server/sonar-webserver-webapi-v2/src/main/java/org/sonar/server/v2/config/PlatformLevel4WebConfig.java
  29. 3
    3
      server/sonar-webserver-webapi-v2/src/main/java/org/sonar/server/v2/config/SafeModeWebConfig.java
  30. 1
    1
      server/sonar-webserver-webapi-v2/src/test/java/org/sonar/server/v2/api/system/controller/DefaultLivenessControllerTest.java
  31. 3
    0
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/HealthCheckerImpl.java
  32. 6
    6
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/HealthCheckerModule.java
  33. 1
    0
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/LivenessActionSupport.java
  34. 3
    3
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafeModeHealthCheckerModule.java
  35. 1
    0
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafemodeSystemWsModule.java
  36. 1
    0
      server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SystemWsModule.java
  37. 2
    0
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/HealthCheckerImplTest.java
  38. 8
    8
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/HealthCheckerModuleTest.java
  39. 1
    0
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/LivenessActionTest.java
  40. 4
    4
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/SafeModeHealthCheckerModuleTest.java
  41. 1
    0
      server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/SafeModeLivenessActionTest.java

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/AppNodeClusterCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/AppNodeClusterCheck.java View File

@@ -17,13 +17,14 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import java.util.Arrays;
import java.util.Set;
import java.util.stream.Collectors;
import org.sonar.process.cluster.health.NodeDetails;
import org.sonar.process.cluster.health.NodeHealth;
import org.sonar.server.health.Health;

import static org.sonar.process.cluster.health.NodeHealth.Status.GREEN;
import static org.sonar.process.cluster.health.NodeHealth.Status.RED;

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/CeStatusNodeCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/CeStatusNodeCheck.java View File

@@ -17,9 +17,10 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.sonar.server.app.ProcessCommandWrapper;
import org.sonar.server.health.Health;

public class CeStatusNodeCheck implements NodeHealthCheck {
private static final Health RED_HEALTH = Health.builder()

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/ClusterHealthCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/ClusterHealthCheck.java View File

@@ -17,10 +17,11 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import java.util.Set;
import org.sonar.process.cluster.health.NodeHealth;
import org.sonar.server.health.Health;

public interface ClusterHealthCheck {
Health check(Set<NodeHealth> nodeHealths);

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/ClusterHealthSubCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/ClusterHealthSubCheck.java View File

@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import java.util.Set;
import java.util.stream.Stream;

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/DbConnectionNodeCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/DbConnectionNodeCheck.java View File

@@ -17,13 +17,14 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.IsAliveMapper;
import org.sonar.server.health.Health;

/**
* Checks Web Server can connect to the Database.

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/EsStatusCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/EsStatusCheck.java View File

@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
@@ -25,6 +25,7 @@ import org.elasticsearch.cluster.health.ClusterHealthStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.server.es.EsClient;
import org.sonar.server.health.Health;

abstract class EsStatusCheck {
private static final Logger LOG = LoggerFactory.getLogger(EsStatusCheck.class);

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/EsStatusClusterCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/EsStatusClusterCheck.java View File

@@ -17,12 +17,13 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import java.util.Set;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
import org.sonar.process.cluster.health.NodeHealth;
import org.sonar.server.es.EsClient;
import org.sonar.server.health.Health;

public class EsStatusClusterCheck extends EsStatusCheck implements ClusterHealthCheck {
private static final String MINIMUM_NODE_MESSAGE = "There should be at least three search nodes";

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/EsStatusNodeCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/EsStatusNodeCheck.java View File

@@ -17,10 +17,11 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
import org.sonar.server.es.EsClient;
import org.sonar.server.health.Health;

/**
* Checks the ElasticSearch cluster status.

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/HealthReducer.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/HealthReducer.java View File

@@ -17,9 +17,11 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;


import org.sonar.server.health.Health;

public class HealthReducer {

private HealthReducer() {

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/NodeHealthCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/NodeHealthCheck.java View File

@@ -17,7 +17,9 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.sonar.server.health.Health;

public interface NodeHealthCheck {
Health check();

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/WebServerSafemodeNodeCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/WebServerSafemodeNodeCheck.java View File

@@ -17,7 +17,9 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.sonar.server.health.Health;

/**
* Checks the running status of the WebServer when the WebServer is in safemode.

server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/WebServerStatusNodeCheck.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/health/WebServerStatusNodeCheck.java View File

@@ -17,10 +17,11 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import java.util.EnumSet;
import org.sonar.server.app.RestartFlagHolder;
import org.sonar.server.health.Health;
import org.sonar.server.platform.Platform;
import org.sonar.server.platform.db.migration.DatabaseMigrationState;


server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/LivenessChecker.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/platform/LivenessChecker.java View File

@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.platform.ws;
package org.sonar.server.common.platform;

public interface LivenessChecker {
boolean liveness();

server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/LivenessCheckerImpl.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/platform/LivenessCheckerImpl.java View File

@@ -17,14 +17,14 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.platform.ws;
package org.sonar.server.common.platform;

import javax.annotation.Nullable;
import org.sonar.server.health.CeStatusNodeCheck;
import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.health.EsStatusNodeCheck;
import org.sonar.server.common.health.CeStatusNodeCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.EsStatusNodeCheck;
import org.sonar.server.common.health.WebServerStatusNodeCheck;
import org.sonar.server.health.Health;
import org.sonar.server.health.WebServerStatusNodeCheck;

public class LivenessCheckerImpl implements LivenessChecker {


server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafeModeLivenessCheckerImpl.java → server/sonar-webserver-common/src/main/java/org/sonar/server/common/platform/SafeModeLivenessCheckerImpl.java View File

@@ -17,9 +17,9 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.platform.ws;
package org.sonar.server.common.platform;

import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.health.Health;

public class SafeModeLivenessCheckerImpl implements LivenessChecker {

server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/AppNodeClusterCheckTest.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/AppNodeClusterCheckTest.java View File

@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import java.util.Arrays;
import java.util.Random;
@@ -27,6 +27,7 @@ import java.util.stream.Stream;
import org.junit.Test;
import org.sonar.process.cluster.health.NodeDetails;
import org.sonar.process.cluster.health.NodeHealth;
import org.sonar.server.health.Health;

import static java.util.stream.Collectors.toSet;
import static java.util.stream.Stream.of;
@@ -34,7 +35,7 @@ import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
import static org.sonar.process.cluster.health.NodeHealth.Status.GREEN;
import static org.sonar.process.cluster.health.NodeHealth.Status.RED;
import static org.sonar.process.cluster.health.NodeHealth.Status.YELLOW;
import static org.sonar.server.health.HealthAssert.assertThat;
import static org.sonar.server.common.health.HealthAssert.assertThat;

public class AppNodeClusterCheckTest {
private final Random random = new Random();
@@ -175,8 +176,8 @@ public class AppNodeClusterCheckTest {
randomNumberOfAppNodeHealthOfAnyStatus(GREEN),
// 2 GREEN
nodeHealths(GREEN, GREEN))
.flatMap(s -> s)
.collect(toSet());
.flatMap(s -> s)
.collect(toSet());

Health check = underTest.check(nodeHealths);

@@ -195,8 +196,8 @@ public class AppNodeClusterCheckTest {
randomNumberOfAppNodeHealthOfAnyStatus(GREEN, YELLOW),
// 2 GREEN
nodeHealths(GREEN, GREEN))
.flatMap(s -> s)
.collect(toSet());
.flatMap(s -> s)
.collect(toSet());
Health check = underTest.check(nodeHealths);

assertThat(check)
@@ -214,8 +215,8 @@ public class AppNodeClusterCheckTest {
randomNumberOfAppNodeHealthOfAnyStatus(GREEN, RED),
// 2 GREEN
nodeHealths(GREEN, GREEN))
.flatMap(s -> s)
.collect(toSet());
.flatMap(s -> s)
.collect(toSet());
Health check = underTest.check(nodeHealths);

assertThat(check)
@@ -235,8 +236,8 @@ public class AppNodeClusterCheckTest {
randomNumberOfAppNodeHealthOfAnyStatus(RED, YELLOW, GREEN),
// 2 GREEN
nodeHealths(GREEN, GREEN))
.flatMap(s -> s)
.collect(toSet());
.flatMap(s -> s)
.collect(toSet());

Health check = underTest.check(nodeHealths);

@@ -262,7 +263,7 @@ public class AppNodeClusterCheckTest {
IntStream.range(0, random.nextInt(3))
.mapToObj(i -> appNodeHealth(NodeDetails.Type.SEARCH, NodeHealth.Status.values()[random.nextInt(NodeHealth.Status.values().length)])),
Arrays.stream(appNodeStatuses).map(this::appNodeHealth))
.flatMap(s -> s);
.flatMap(s -> s);
}

private NodeHealth appNodeHealth(NodeHealth.Status status) {

server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/CeStatusNodeCheckTest.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/CeStatusNodeCheckTest.java View File

@@ -17,10 +17,12 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.junit.Test;
import org.sonar.server.app.ProcessCommandWrapper;
import org.sonar.server.common.health.CeStatusNodeCheck;
import org.sonar.server.health.Health;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;

server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/DbConnectionNodeCheckTest.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/DbConnectionNodeCheckTest.java View File

@@ -17,13 +17,15 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.junit.Before;
import org.junit.Test;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.IsAliveMapper;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.health.Health;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.anyBoolean;

server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/EsStatusClusterCheckTest.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/EsStatusClusterCheckTest.java View File

@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import com.google.common.collect.ImmutableSet;
import java.util.Random;
@@ -27,7 +27,9 @@ import org.junit.Test;
import org.mockito.Mockito;
import org.sonar.process.cluster.health.NodeDetails;
import org.sonar.process.cluster.health.NodeHealth;
import org.sonar.server.common.health.EsStatusClusterCheck;
import org.sonar.server.es.EsClient;
import org.sonar.server.health.Health;

import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
import static org.assertj.core.api.Assertions.assertThat;

server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/EsStatusNodeCheckTest.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/EsStatusNodeCheckTest.java View File

@@ -17,12 +17,14 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.elasticsearch.cluster.health.ClusterHealthStatus;
import org.junit.Test;
import org.mockito.Mockito;
import org.sonar.server.common.health.EsStatusNodeCheck;
import org.sonar.server.es.EsClient;
import org.sonar.server.health.Health;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;

server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/HealthAssert.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/HealthAssert.java View File

@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import com.google.common.collect.ImmutableList;
import java.util.Arrays;
@@ -29,6 +29,7 @@ import java.util.stream.Collectors;
import javax.annotation.Nullable;
import org.assertj.core.api.AbstractAssert;
import org.sonar.process.cluster.health.NodeHealth;
import org.sonar.server.health.Health;

final class HealthAssert extends AbstractAssert<HealthAssert, Health> {
private Set<NodeHealth> nodeHealths;

server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/WebServerSafemodeNodeCheckTest.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/WebServerSafemodeNodeCheckTest.java View File

@@ -17,9 +17,11 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import org.junit.Test;
import org.sonar.server.common.health.WebServerSafemodeNodeCheck;
import org.sonar.server.health.Health;

import static org.assertj.core.api.Assertions.assertThat;


server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/WebServerStatusNodeCheckTest.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/health/WebServerStatusNodeCheckTest.java View File

@@ -17,12 +17,14 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.health;
package org.sonar.server.common.health;

import java.util.Arrays;
import java.util.Random;
import org.junit.Test;
import org.sonar.server.app.RestartFlagHolder;
import org.sonar.server.common.health.WebServerStatusNodeCheck;
import org.sonar.server.health.Health;
import org.sonar.server.platform.Platform;
import org.sonar.server.platform.db.migration.DatabaseMigrationState;


server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/LivenessCheckerImplTest.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/platform/LivenessCheckerImplTest.java View File

@@ -17,15 +17,15 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.platform.ws;
package org.sonar.server.common.platform;

import org.assertj.core.api.Assertions;
import org.junit.Test;
import org.sonar.server.health.CeStatusNodeCheck;
import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.health.EsStatusNodeCheck;
import org.sonar.server.common.health.CeStatusNodeCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.EsStatusNodeCheck;
import org.sonar.server.common.health.WebServerStatusNodeCheck;
import org.sonar.server.health.Health;
import org.sonar.server.health.WebServerStatusNodeCheck;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/SafeModeLivenessCheckerImplTest.java → server/sonar-webserver-common/src/test/java/org/sonar/server/common/platform/SafeModeLivenessCheckerImplTest.java View File

@@ -17,11 +17,12 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.platform.ws;
package org.sonar.server.common.platform;

import org.assertj.core.api.Assertions;
import org.junit.Test;
import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.common.platform.SafeModeLivenessCheckerImpl;
import org.sonar.server.health.Health;

import static org.mockito.Mockito.mock;

+ 1
- 2
server/sonar-webserver-webapi-v2/build.gradle View File

@@ -14,9 +14,8 @@ dependencies {

api project(':server:sonar-db-dao')
api project(':server:sonar-webserver-common')
// We are not supposed to have a v1 dependency. The ideal would be to have another common module between webapi and webapi-v2 but that needs a lot of refactoring.
api project(':server:sonar-webserver-webapi')

testImplementation 'javax.servlet:javax.servlet-api'
testImplementation 'org.mockito:mockito-core'
testImplementation 'org.springframework:spring-test'
testImplementation 'org.skyscreamer:jsonassert:1.5.1'

+ 1
- 1
server/sonar-webserver-webapi-v2/src/main/java/org/sonar/server/v2/api/system/controller/DefaultLivenessController.java View File

@@ -20,8 +20,8 @@
package org.sonar.server.v2.api.system.controller;

import javax.annotation.Nullable;
import org.sonar.server.common.platform.LivenessChecker;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.platform.ws.LivenessChecker;
import org.sonar.server.user.SystemPasscode;
import org.sonar.server.user.UserSession;


+ 6
- 6
server/sonar-webserver-webapi-v2/src/main/java/org/sonar/server/v2/config/PlatformLevel4WebConfig.java View File

@@ -20,15 +20,15 @@
package org.sonar.server.v2.config;

import javax.annotation.Nullable;
import org.sonar.server.common.health.CeStatusNodeCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.EsStatusNodeCheck;
import org.sonar.server.common.health.WebServerStatusNodeCheck;
import org.sonar.server.common.platform.LivenessChecker;
import org.sonar.server.common.platform.LivenessCheckerImpl;
import org.sonar.server.common.user.service.UserService;
import org.sonar.server.health.CeStatusNodeCheck;
import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.health.EsStatusNodeCheck;
import org.sonar.server.health.HealthChecker;
import org.sonar.server.health.WebServerStatusNodeCheck;
import org.sonar.server.platform.NodeInformation;
import org.sonar.server.platform.ws.LivenessChecker;
import org.sonar.server.platform.ws.LivenessCheckerImpl;
import org.sonar.server.user.SystemPasscode;
import org.sonar.server.user.UserSession;
import org.sonar.server.v2.api.system.controller.DefaultLivenessController;

+ 3
- 3
server/sonar-webserver-webapi-v2/src/main/java/org/sonar/server/v2/config/SafeModeWebConfig.java View File

@@ -19,10 +19,10 @@
*/
package org.sonar.server.v2.config;

import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.common.platform.LivenessChecker;
import org.sonar.server.common.platform.SafeModeLivenessCheckerImpl;
import org.sonar.server.health.HealthChecker;
import org.sonar.server.platform.ws.LivenessChecker;
import org.sonar.server.platform.ws.SafeModeLivenessCheckerImpl;
import org.sonar.server.user.SystemPasscode;
import org.sonar.server.v2.api.system.controller.DefaultLivenessController;
import org.sonar.server.v2.api.system.controller.HealthController;

+ 1
- 1
server/sonar-webserver-webapi-v2/src/test/java/org/sonar/server/v2/api/system/controller/DefaultLivenessControllerTest.java View File

@@ -21,7 +21,7 @@ package org.sonar.server.v2.api.system.controller;

import org.junit.Rule;
import org.junit.Test;
import org.sonar.server.platform.ws.LivenessChecker;
import org.sonar.server.common.platform.LivenessChecker;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.user.SystemPasscode;
import org.sonar.server.v2.api.ControllerTester;

+ 3
- 0
server/sonar-webserver-webapi/src/main/java/org/sonar/server/health/HealthCheckerImpl.java View File

@@ -25,6 +25,9 @@ import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import org.sonar.process.cluster.health.NodeHealth;
import org.sonar.process.cluster.health.SharedHealthState;
import org.sonar.server.common.health.ClusterHealthCheck;
import org.sonar.server.common.health.HealthReducer;
import org.sonar.server.common.health.NodeHealthCheck;
import org.sonar.server.platform.NodeInformation;
import org.springframework.beans.factory.annotation.Autowired;


+ 6
- 6
server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/HealthCheckerModule.java View File

@@ -20,13 +20,13 @@
package org.sonar.server.platform.ws;

import org.sonar.core.platform.Module;
import org.sonar.server.health.AppNodeClusterCheck;
import org.sonar.server.health.CeStatusNodeCheck;
import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.health.EsStatusClusterCheck;
import org.sonar.server.health.EsStatusNodeCheck;
import org.sonar.server.common.health.AppNodeClusterCheck;
import org.sonar.server.common.health.CeStatusNodeCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.EsStatusClusterCheck;
import org.sonar.server.common.health.EsStatusNodeCheck;
import org.sonar.server.health.HealthCheckerImpl;
import org.sonar.server.health.WebServerStatusNodeCheck;
import org.sonar.server.common.health.WebServerStatusNodeCheck;
import org.sonar.server.platform.NodeInformation;

public class HealthCheckerModule extends Module {

+ 1
- 0
server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/LivenessActionSupport.java View File

@@ -21,6 +21,7 @@ package org.sonar.server.platform.ws;

import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.server.common.platform.LivenessChecker;

public class LivenessActionSupport {


+ 3
- 3
server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafeModeHealthCheckerModule.java View File

@@ -20,10 +20,10 @@
package org.sonar.server.platform.ws;

import org.sonar.core.platform.Module;
import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.health.EsStatusNodeCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.EsStatusNodeCheck;
import org.sonar.server.health.HealthCheckerImpl;
import org.sonar.server.health.WebServerSafemodeNodeCheck;
import org.sonar.server.common.health.WebServerSafemodeNodeCheck;

public class SafeModeHealthCheckerModule extends Module {
@Override

+ 1
- 0
server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafemodeSystemWsModule.java View File

@@ -20,6 +20,7 @@
package org.sonar.server.platform.ws;

import org.sonar.core.platform.Module;
import org.sonar.server.common.platform.SafeModeLivenessCheckerImpl;
import org.sonar.server.monitoring.MonitoringWs;
import org.sonar.server.user.BearerPasscode;


+ 1
- 0
server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SystemWsModule.java View File

@@ -20,6 +20,7 @@
package org.sonar.server.platform.ws;

import org.sonar.core.platform.Module;
import org.sonar.server.common.platform.LivenessCheckerImpl;

public class SystemWsModule extends Module {


+ 2
- 0
server/sonar-webserver-webapi/src/test/java/org/sonar/server/health/HealthCheckerImplTest.java View File

@@ -32,6 +32,8 @@ import org.junit.Test;
import org.sonar.process.cluster.health.NodeDetails;
import org.sonar.process.cluster.health.NodeHealth;
import org.sonar.process.cluster.health.SharedHealthState;
import org.sonar.server.common.health.ClusterHealthCheck;
import org.sonar.server.common.health.NodeHealthCheck;
import org.sonar.server.platform.NodeInformation;

import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;

+ 8
- 8
server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/HealthCheckerModuleTest.java View File

@@ -24,15 +24,15 @@ import java.util.Random;
import java.util.stream.Collectors;
import org.junit.Test;
import org.sonar.core.platform.ListContainer;
import org.sonar.server.health.AppNodeClusterCheck;
import org.sonar.server.health.CeStatusNodeCheck;
import org.sonar.server.health.ClusterHealthCheck;
import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.health.EsStatusClusterCheck;
import org.sonar.server.health.EsStatusNodeCheck;
import org.sonar.server.common.health.AppNodeClusterCheck;
import org.sonar.server.common.health.CeStatusNodeCheck;
import org.sonar.server.common.health.ClusterHealthCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.EsStatusClusterCheck;
import org.sonar.server.common.health.EsStatusNodeCheck;
import org.sonar.server.health.HealthCheckerImpl;
import org.sonar.server.health.NodeHealthCheck;
import org.sonar.server.health.WebServerStatusNodeCheck;
import org.sonar.server.common.health.NodeHealthCheck;
import org.sonar.server.common.health.WebServerStatusNodeCheck;
import org.sonar.server.platform.NodeInformation;

import static org.assertj.core.api.Assertions.assertThat;

+ 1
- 0
server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/LivenessActionTest.java View File

@@ -22,6 +22,7 @@ package org.sonar.server.platform.ws;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.api.server.ws.WebService;
import org.sonar.server.common.platform.LivenessChecker;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.user.SystemPasscode;

+ 4
- 4
server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/SafeModeHealthCheckerModuleTest.java View File

@@ -23,11 +23,11 @@ import java.util.List;
import java.util.stream.Collectors;
import org.junit.Test;
import org.sonar.core.platform.ListContainer;
import org.sonar.server.health.DbConnectionNodeCheck;
import org.sonar.server.health.EsStatusNodeCheck;
import org.sonar.server.common.health.DbConnectionNodeCheck;
import org.sonar.server.common.health.EsStatusNodeCheck;
import org.sonar.server.health.HealthCheckerImpl;
import org.sonar.server.health.NodeHealthCheck;
import org.sonar.server.health.WebServerSafemodeNodeCheck;
import org.sonar.server.common.health.NodeHealthCheck;
import org.sonar.server.common.health.WebServerSafemodeNodeCheck;

import static org.assertj.core.api.Assertions.assertThat;


+ 1
- 0
server/sonar-webserver-webapi/src/test/java/org/sonar/server/platform/ws/SafeModeLivenessActionTest.java View File

@@ -21,6 +21,7 @@ package org.sonar.server.platform.ws;

import org.junit.Test;
import org.sonar.api.server.ws.WebService;
import org.sonar.server.common.platform.LivenessChecker;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.user.SystemPasscode;
import org.sonar.server.ws.TestRequest;

Loading…
Cancel
Save