Search in sources :

Example 1 with WebService

use of org.sonar.api.server.ws.WebService in project sonarqube by SonarSource.

the class GetByProjectAction method define.

@Override
public void define(WebService.NewController context) {
    WebService.NewAction action = context.createAction(ACTION_GET_BY_PROJECT).setInternal(false).setSince("6.1").setDescription("Get the quality gate of a project.<br />" + "Requires one of the following permissions:" + "<ul>" + "<li>'Administer System'</li>" + "<li>'Administer' rights on the specified project</li>" + "<li>'Browse' on the specified project</li>" + "</ul>").setResponseExample(getClass().getResource("get_by_project-example.json")).setHandler(this).setChangelog(new Change("8.4", "Field 'id' in the response is deprecated. Format changes from integer to string."), new Change("6.6", "The parameter 'projectId' has been removed"), new Change("6.6", "The parameter 'projectKey' has been renamed to 'project'"), new Change("6.6", "This webservice is now part of the public API"));
    action.createParam(PARAM_PROJECT).setDescription("Project key").setExampleValue(KEY_PROJECT_EXAMPLE_001).setRequired(true);
}
Also used : WebService(org.sonar.api.server.ws.WebService) Change(org.sonar.api.server.ws.Change)

Example 2 with WebService

use of org.sonar.api.server.ws.WebService in project sonarqube by SonarSource.

the class WebServiceEngineTest method fail_when_start_in_not_called.

@Test
public void fail_when_start_in_not_called() {
    Request request = new TestRequest().setPath("/api/ping");
    DumbResponse response = new DumbResponse();
    WebServiceEngine underTest = new WebServiceEngine(new WebService[] { newPingWs(a -> {
    }) });
    underTest.execute(request, response);
    assertThat(logTester.logs(LoggerLevel.ERROR)).contains("Fail to process request /api/ping");
}
Also used : Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) RunWith(org.junit.runner.RunWith) ClientAbortException(org.apache.catalina.connector.ClientAbortException) DataProvider(com.tngtech.java.junit.dataprovider.DataProvider) DataProviderRunner(com.tngtech.java.junit.dataprovider.DataProviderRunner) BadConfigurationException(org.sonar.server.exceptions.BadConfigurationException) BadRequestException(org.sonar.server.exceptions.BadRequestException) Request(org.sonar.api.server.ws.Request) WebService(org.sonar.api.server.ws.WebService) Response(org.sonar.api.server.ws.Response) MediaTypes(org.sonarqube.ws.MediaTypes) ArgumentMatchers.anyInt(org.mockito.ArgumentMatchers.anyInt) StringUtils.substringAfterLast(org.apache.commons.lang.StringUtils.substringAfterLast) StringUtils.substringBeforeLast(org.apache.commons.lang.StringUtils.substringBeforeLast) UTF_8(java.nio.charset.StandardCharsets.UTF_8) UseDataProvider(com.tngtech.java.junit.dataprovider.UseDataProvider) HttpServletResponse(javax.servlet.http.HttpServletResponse) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) RequestHandler(org.sonar.api.server.ws.RequestHandler) Mockito.verify(org.mockito.Mockito.verify) Consumer(java.util.function.Consumer) Mockito(org.mockito.Mockito) Mockito.never(org.mockito.Mockito.never) Rule(org.junit.Rule) LogTester(org.sonar.api.utils.log.LogTester) LoggerLevel(org.sonar.api.utils.log.LoggerLevel) Mockito.mock(org.mockito.Mockito.mock) Request(org.sonar.api.server.ws.Request) Test(org.junit.Test)

Example 3 with WebService

use of org.sonar.api.server.ws.WebService in project sonarqube by SonarSource.

the class ResponseExampleAction method handle.

@Override
public void handle(Request request, Response response) throws Exception {
    checkState(context != null, "Webservice global context must be loaded before calling the action");
    String controllerKey = request.mandatoryParam("controller");
    WebService.Controller controller = context.controller(controllerKey);
    checkArgument(controller != null, "Controller does not exist: %s", controllerKey);
    String actionKey = request.mandatoryParam("action");
    WebService.Action action = controller.action(actionKey);
    checkArgument(action != null, "Action does not exist: %s", actionKey);
    if (action.responseExample() == null) {
        response.noContent();
        return;
    }
    try (JsonWriter json = response.newJsonWriter()) {
        json.beginObject().prop("format", action.responseExampleFormat()).prop("example", action.responseExampleAsString()).endObject();
    }
}
Also used : WebService(org.sonar.api.server.ws.WebService) JsonWriter(org.sonar.api.utils.text.JsonWriter)

Aggregations

WebService (org.sonar.api.server.ws.WebService)3 DataProvider (com.tngtech.java.junit.dataprovider.DataProvider)1 DataProviderRunner (com.tngtech.java.junit.dataprovider.DataProviderRunner)1 UseDataProvider (com.tngtech.java.junit.dataprovider.UseDataProvider)1 UTF_8 (java.nio.charset.StandardCharsets.UTF_8)1 Consumer (java.util.function.Consumer)1 HttpServletResponse (javax.servlet.http.HttpServletResponse)1 ClientAbortException (org.apache.catalina.connector.ClientAbortException)1 StringUtils.substringAfterLast (org.apache.commons.lang.StringUtils.substringAfterLast)1 StringUtils.substringBeforeLast (org.apache.commons.lang.StringUtils.substringBeforeLast)1 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)1 Rule (org.junit.Rule)1 Test (org.junit.Test)1 RunWith (org.junit.runner.RunWith)1 ArgumentMatchers.anyInt (org.mockito.ArgumentMatchers.anyInt)1 Mockito (org.mockito.Mockito)1 Mockito.mock (org.mockito.Mockito.mock)1 Mockito.never (org.mockito.Mockito.never)1 Mockito.verify (org.mockito.Mockito.verify)1 Mockito.when (org.mockito.Mockito.when)1