Browse Source

Rename protobuf response of api/ce/component

The new name "ComponentResponse" will allow to autogenerate sonar-ws for this webservice
tags/7.0-RC1
Daniel Schwarz 6 years ago
parent
commit
e02d9d4a80

+ 3
- 2
server/sonar-server/src/main/java/org/sonar/server/ce/ws/ComponentAction.java View File

@@ -35,7 +35,8 @@ import org.sonar.db.component.ComponentDto;
import org.sonar.server.component.ComponentFinder;
import org.sonar.server.user.UserSession;
import org.sonar.server.ws.KeyExamples;
import org.sonarqube.ws.Ce.ProjectResponse;
import org.sonarqube.ws.Ce;
import org.sonarqube.ws.Ce.ComponentResponse;

import static org.sonar.db.Pagination.forPage;
import static org.sonar.server.component.ComponentFinder.ParamNames.COMPONENT_ID_AND_COMPONENT;
@@ -93,7 +94,7 @@ public class ComponentAction implements CeWsAction {
.setOnlyCurrents(true);
List<CeActivityDto> activityDtos = dbClient.ceActivityDao().selectByQuery(dbSession, activityQuery, forPage(1).andSize(1));

ProjectResponse.Builder wsResponseBuilder = ProjectResponse.newBuilder();
Ce.ComponentResponse.Builder wsResponseBuilder = ComponentResponse.newBuilder();
wsResponseBuilder.addAllQueue(formatter.formatQueue(dbSession, queueDtos));
if (activityDtos.size() == 1) {
wsResponseBuilder.setCurrent(formatter.formatActivity(dbSession, activityDtos.get(0), null));

+ 18
- 19
server/sonar-server/src/test/java/org/sonar/server/ce/ws/ComponentActionTest.java View File

@@ -43,7 +43,6 @@ import org.sonar.server.ws.WsActionTester;
import org.sonarqube.ws.Ce;
import org.sonarqube.ws.Common;
import org.sonarqube.ws.MediaTypes;
import org.sonarqube.ws.Ce;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Java6Assertions.tuple;
@@ -75,9 +74,9 @@ public class ComponentActionTest {
ComponentDto project = db.components().insertPrivateProject();
userSession.addProjectPermission(UserRole.USER, project);

Ce.ProjectResponse response = ws.newRequest()
Ce.ComponentResponse response = ws.newRequest()
.setParam(PARAM_COMPONENT, project.getKey())
.executeProtobuf(Ce.ProjectResponse.class);
.executeProtobuf(Ce.ComponentResponse.class);

assertThat(response.getQueueCount()).isEqualTo(0);
assertThat(response.hasCurrent()).isFalse();
@@ -96,9 +95,9 @@ public class ComponentActionTest {
insertQueue("T4", project1, IN_PROGRESS);
insertQueue("T5", project1, PENDING);

Ce.ProjectResponse response = ws.newRequest()
Ce.ComponentResponse response = ws.newRequest()
.setParam(PARAM_COMPONENT, project1.getKey())
.executeProtobuf(Ce.ProjectResponse.class);
.executeProtobuf(Ce.ComponentResponse.class);
assertThat(response.getQueueCount()).isEqualTo(2);
assertThat(response.getQueue(0).getId()).isEqualTo("T4");
assertThat(response.getQueue(1).getId()).isEqualTo("T5");
@@ -119,9 +118,9 @@ public class ComponentActionTest {
SnapshotDto analysis = db.components().insertSnapshot(project);
insertActivity("T1", project, CeActivityDto.Status.SUCCESS, analysis);

Ce.ProjectResponse response = ws.newRequest()
Ce.ComponentResponse response = ws.newRequest()
.setParam(PARAM_COMPONENT, project.getDbKey())
.executeProtobuf(Ce.ProjectResponse.class);
.executeProtobuf(Ce.ComponentResponse.class);
assertThat(response.hasCurrent()).isTrue();
assertThat(response.getCurrent().getId()).isEqualTo("T1");
assertThat(response.getCurrent().getAnalysisId()).isEqualTo(analysis.getUuid());
@@ -134,9 +133,9 @@ public class ComponentActionTest {
SnapshotDto analysis = db.components().insertSnapshot(project);
insertActivity("T1", project, CeActivityDto.Status.SUCCESS, analysis);

Ce.ProjectResponse response = ws.newRequest()
Ce.ComponentResponse response = ws.newRequest()
.setParam(PARAM_COMPONENT_ID, project.uuid())
.executeProtobuf(Ce.ProjectResponse.class);
.executeProtobuf(Ce.ComponentResponse.class);
assertThat(response.hasCurrent()).isTrue();
assertThat(response.getCurrent().getId()).isEqualTo("T1");
assertThat(response.getCurrent().getAnalysisId()).isEqualTo(analysis.getUuid());
@@ -152,9 +151,9 @@ public class ComponentActionTest {
insertActivity("T4", project, CeActivityDto.Status.CANCELED);
insertActivity("T5", project, CeActivityDto.Status.CANCELED);

Ce.ProjectResponse response = ws.newRequest()
Ce.ComponentResponse response = ws.newRequest()
.setParam(PARAM_COMPONENT, project.getKey())
.executeProtobuf(Ce.ProjectResponse.class);
.executeProtobuf(Ce.ComponentResponse.class);
assertThat(response.getQueueCount()).isEqualTo(0);
// T3 is the latest task executed on PROJECT_1 ignoring Canceled ones
assertThat(response.hasCurrent()).isTrue();
@@ -171,9 +170,9 @@ public class ComponentActionTest {
insertCharacteristic(activity, BRANCH_KEY, longLivingBranch.getBranch());
insertCharacteristic(activity, BRANCH_TYPE_KEY, LONG.name());

Ce.ProjectResponse response = ws.newRequest()
Ce.ComponentResponse response = ws.newRequest()
.setParam(PARAM_COMPONENT, project.getKey())
.executeProtobuf(Ce.ProjectResponse.class);
.executeProtobuf(Ce.ComponentResponse.class);

assertThat(response.getCurrent())
.extracting(Ce.Task::getId, Ce.Task::getBranch, Ce.Task::getBranchType, Ce.Task::getStatus, Ce.Task::getComponentKey)
@@ -193,9 +192,9 @@ public class ComponentActionTest {
insertCharacteristic(queue2, BRANCH_KEY, longLivingBranch.getBranch());
insertCharacteristic(queue2, BRANCH_TYPE_KEY, LONG.name());

Ce.ProjectResponse response = ws.newRequest()
Ce.ComponentResponse response = ws.newRequest()
.setParam(PARAM_COMPONENT, longLivingBranch.getKey())
.executeProtobuf(Ce.ProjectResponse.class);
.executeProtobuf(Ce.ComponentResponse.class);

assertThat(response.getQueueList())
.extracting(Ce.Task::getId, Ce.Task::getBranch, Ce.Task::getBranchType, Ce.Task::getStatus, Ce.Task::getComponentKey)
@@ -218,9 +217,9 @@ public class ComponentActionTest {
insertCharacteristic(shortLivingBranchQueue, BRANCH_KEY, shortLivingBranch.getBranch());
insertCharacteristic(shortLivingBranchQueue, BRANCH_TYPE_KEY, SHORT.name());

Ce.ProjectResponse response = ws.newRequest()
Ce.ComponentResponse response = ws.newRequest()
.setParam(PARAM_COMPONENT, longLivingBranch.getKey())
.executeProtobuf(Ce.ProjectResponse.class);
.executeProtobuf(Ce.ComponentResponse.class);

assertThat(response.getQueueList())
.extracting(Ce.Task::getId, Ce.Task::getComponentKey, Ce.Task::getBranch, Ce.Task::getBranchType)
@@ -237,9 +236,9 @@ public class ComponentActionTest {
SnapshotDto analysis = db.components().insertSnapshot(project);
insertActivity("T1", project, CeActivityDto.Status.SUCCESS, analysis);

Ce.ProjectResponse response = ws.newRequest()
Ce.ComponentResponse response = ws.newRequest()
.setParam("componentKey", project.getKey())
.executeProtobuf(Ce.ProjectResponse.class);
.executeProtobuf(Ce.ComponentResponse.class);
assertThat(response.hasCurrent()).isTrue();
assertThat(response.getCurrent().getId()).isEqualTo("T1");
assertThat(response.getCurrent().getAnalysisId()).isEqualTo(analysis.getUuid());

+ 4
- 4
sonar-ws-generated/src/main/java/org/sonarqube/ws/client/ce/CeService.java View File

@@ -28,6 +28,7 @@ import org.sonarqube.ws.client.PostRequest;
import org.sonarqube.ws.client.WsConnector;
import org.sonarqube.ws.Ce.ActivityResponse;
import org.sonarqube.ws.Ce.ActivityStatusWsResponse;
import org.sonarqube.ws.Ce.ComponentResponse;
import org.sonarqube.ws.Ce.SubmitResponse;
import org.sonarqube.ws.Ce.TaskResponse;
import org.sonarqube.ws.Ce.TaskTypesWsResponse;
@@ -123,13 +124,12 @@ public class CeService extends BaseService {
* @see <a href="https://next.sonarqube.com/sonarqube/web_api/api/ce/component">Further information about this action online (including a response example)</a>
* @since 5.2
*/
public String component(ComponentRequest request) {
public ComponentResponse component(ComponentRequest request) {
return call(
new GetRequest(path("component"))
.setParam("component", request.getComponent())
.setParam("componentId", request.getComponentId())
.setMediaType(MediaTypes.JSON)
).content();
.setParam("componentId", request.getComponentId()),
ComponentResponse.parser());
}

/**

+ 1
- 1
sonar-ws-generated/src/main/protobuf/ws-ce.proto View File

@@ -52,7 +52,7 @@ message ActivityStatusWsResponse {
}

// GET api/ce/component
message ProjectResponse {
message ComponentResponse {
repeated Task queue = 1;
optional Task current = 2;
}

Loading…
Cancel
Save