Browse Source

Revert "SONAR-15978 Require auth for api/server/version"

This reverts commit f6cd161c2b.
tags/9.4.0.54424
Pierre 2 years ago
parent
commit
745c915eb2

+ 1
- 0
server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/UserSessionInitializer.java View File

@@ -54,6 +54,7 @@ public class UserSessionInitializer {
"/maintenance/*", "/setup/*",
"/sessions/*", "/oauth2/callback/*",
"/api/system/db_migration_status", "/api/system/status", "/api/system/migrate_db",
"/api/server/version",
"/api/users/identity_providers", "/api/l10n/index",
"/api/authentication/login", "/api/authentication/logout", "/api/authentication/validate",
"/api/project_badges/measure", "/api/project_badges/quality_gate");

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

@@ -22,12 +22,10 @@ package org.sonar.server.platform.ws;
import com.google.common.io.Resources;
import org.apache.commons.io.IOUtils;
import org.sonar.api.platform.Server;
import org.sonar.api.server.ws.Change;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.RequestHandler;
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.server.user.UserSession;
import org.sonarqube.ws.MediaTypes;

import static java.nio.charset.StandardCharsets.UTF_8;
@@ -35,11 +33,9 @@ import static java.nio.charset.StandardCharsets.UTF_8;
public class ServerWs implements WebService, RequestHandler {

private final Server server;
private final UserSession userSession;

public ServerWs(Server server, UserSession userSession) {
public ServerWs(Server server) {
this.server = server;
this.userSession = userSession;
}

@Override
@@ -50,7 +46,6 @@ public class ServerWs implements WebService, RequestHandler {
.setDescription("Version of SonarQube in plain text")
.setSince("2.10")
.setResponseExample(Resources.getResource(this.getClass(), "example-server-version.txt"))
.setChangelog(new Change("9.4", "require authentication"))
.setHandler(this);

controller.done();
@@ -58,7 +53,6 @@ public class ServerWs implements WebService, RequestHandler {

@Override
public void handle(Request request, Response response) throws Exception {
userSession.checkLoggedIn();
response.stream().setMediaType(MediaTypes.TXT);
IOUtils.write(server.getVersion(), response.stream().output(), UTF_8);
}

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

@@ -19,14 +19,10 @@
*/
package org.sonar.server.platform.ws;

import org.assertj.core.api.Assertions;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.api.platform.Server;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.WebService;
import org.sonar.server.exceptions.UnauthorizedException;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.DumbResponse;
import org.sonar.server.ws.TestResponse;

@@ -36,11 +32,8 @@ import static org.mockito.Mockito.when;

public class ServerWsTest {

@Rule
public UserSessionRule userSessionRule = UserSessionRule.standalone();

private Server server = mock(Server.class);
private ServerWs underTest = new ServerWs(server, userSessionRule);
private ServerWs underTest = new ServerWs(server);

@Test
public void define_version_action() {
@@ -55,20 +48,10 @@ public class ServerWsTest {
assertThat(versionAction.since()).isEqualTo("2.10");
assertThat(versionAction.description()).isNotEmpty();
assertThat(versionAction.isPost()).isFalse();
assertThat(versionAction.changelog()).isNotEmpty();
}

@Test
public void require_authentication() {
DumbResponse response = new DumbResponse();
Assertions.assertThatThrownBy(() -> underTest.handle(mock(Request.class), response))
.hasMessage("Authentication is required")
.isInstanceOf(UnauthorizedException.class);
}

@Test
public void returns_version_as_plain_text() throws Exception {
userSessionRule.logIn();
when(server.getVersion()).thenReturn("6.4-SNAPSHOT");

DumbResponse response = new DumbResponse();
@@ -79,7 +62,6 @@ public class ServerWsTest {

@Test
public void test_example_of_version() {
userSessionRule.logIn();
WebService.Context context = new WebService.Context();
underTest.define(context);


Loading…
Cancel
Save