aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
authorDaniel Schwarz <daniel.schwarz@sonarsource.com>2017-09-18 13:28:57 +0200
committerSimon Brandhof <simon.brandhof@sonarsource.com>2017-09-26 23:49:38 +0200
commit257d4d9b268cdd2e517d75c42f2eee83a80cfdd1 (patch)
tree8d8bd0379d6b1b13ff9d6c6538a357bd1a7874a6 /tests/src
parent50a29c569f8448a939877de1918ab3ff937366b8 (diff)
downloadsonarqube-257d4d9b268cdd2e517d75c42f2eee83a80cfdd1.tar.gz
sonarqube-257d4d9b268cdd2e517d75c42f2eee83a80cfdd1.zip
SONAR-9802 allow to change the log level of a cluster
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/test/java/org/sonarqube/tests/cluster/ClusterTest.java54
-rw-r--r--tests/src/test/java/org/sonarqube/tests/cluster/Node.java2
2 files changed, 36 insertions, 20 deletions
diff --git a/tests/src/test/java/org/sonarqube/tests/cluster/ClusterTest.java b/tests/src/test/java/org/sonarqube/tests/cluster/ClusterTest.java
index 2fab9bedb0b..a6afc2ca1fb 100644
--- a/tests/src/test/java/org/sonarqube/tests/cluster/ClusterTest.java
+++ b/tests/src/test/java/org/sonarqube/tests/cluster/ClusterTest.java
@@ -19,12 +19,14 @@
*/
package org.sonarqube.tests.cluster;
+import com.google.gson.internal.LinkedTreeMap;
import com.sonar.orchestrator.Orchestrator;
import com.sonar.orchestrator.OrchestratorBuilder;
import com.sonar.orchestrator.db.DefaultDatabase;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.function.BinaryOperator;
import java.util.function.Consumer;
import java.util.stream.IntStream;
@@ -38,8 +40,9 @@ import org.junit.rules.TemporaryFolder;
import org.junit.rules.TestRule;
import org.junit.rules.Timeout;
import org.sonarqube.ws.WsSystem;
-import org.sonarqube.ws.client.GetRequest;
import org.sonarqube.ws.client.HttpException;
+import org.sonarqube.ws.client.issue.SearchWsRequest;
+import util.ItUtils;
import static com.google.common.base.Preconditions.checkState;
import static org.assertj.core.api.Assertions.assertThat;
@@ -70,24 +73,6 @@ public class ClusterTest {
db.stop();
}
- /**
- * TODO WIP
- */
- @Test
- public void wip() throws Exception {
- try (Cluster cluster = newCluster(3, 2)) {
- cluster.getNodes().forEach(Node::start);
-
- Node app = cluster.getAppNode(0);
- app.waitForHealthGreen();
-
- System.out.println("-----------------------------------------------------------------------");
- String json = app.wsClient().wsConnector().call(new GetRequest("api/system/info")).content();
- System.out.println(json);
- System.out.println("-----------------------------------------------------------------------");
- }
- }
-
@Test
public void test_high_availability_topology() throws Exception {
try (Cluster cluster = newCluster(3, 2)) {
@@ -265,6 +250,37 @@ public class ClusterTest {
}
@Test
+ public void set_log_level_affects_all_nodes() throws Exception {
+ try (Cluster cluster = newCluster(2, 2)) {
+ cluster.getNodes().forEach(Node::start);
+ cluster.getAppNodes().forEach(Node::waitForStatusUp);
+
+ cluster.getAppNodes().forEach(node -> {
+ assertThat(node.webLogsContain(" TRACE web[")).isFalse();
+ });
+
+ cluster.getAppNode(0).wsClient().system().changeLogLevel("TRACE");
+
+ cluster.getAppNodes().forEach(node -> {
+
+ // do something, that will produce logging
+ node.wsClient().issues().search(new SearchWsRequest());
+
+ // check logs
+ assertThat(node.webLogsContain(" TRACE web[")).isTrue();
+ });
+
+ Map<String, Object> data = ItUtils.jsonToMap(cluster.getAppNode(0).wsClient().system().info().content());
+ ArrayList<Object> applicationNodes = (ArrayList<Object>) data.get("Application Nodes");
+ applicationNodes.forEach(node -> {
+ LinkedTreeMap<Object, Object> nodeData = (LinkedTreeMap<Object, Object>) node;
+ LinkedTreeMap<Object, Object> ceLoggingData = (LinkedTreeMap<Object, Object>) nodeData.get("Compute Engine Logging");
+ assertThat(ceLoggingData.get("Logs Level")).as("Compute engine logs level of a node").isEqualTo("TRACE");
+ });
+ }
+ }
+
+ @Test
public void restart_action_is_not_allowed_for_cluster_nodes() throws Exception {
try (Cluster cluster = newCluster(2, 1)) {
cluster.getNodes().forEach(Node::start);
diff --git a/tests/src/test/java/org/sonarqube/tests/cluster/Node.java b/tests/src/test/java/org/sonarqube/tests/cluster/Node.java
index e8846c28042..5b684ac4a24 100644
--- a/tests/src/test/java/org/sonarqube/tests/cluster/Node.java
+++ b/tests/src/test/java/org/sonarqube/tests/cluster/Node.java
@@ -207,7 +207,7 @@ class Node {
return content.hasText(message);
}
- private boolean webLogsContain(String message) {
+ boolean webLogsContain(String message) {
if (orchestrator.getServer() == null) {
return false;
}