Skip to content

Commit

Permalink
Fixed saving project id for GitLab project pull request decorator.
Browse files Browse the repository at this point in the history
  • Loading branch information
PiekJ committed Jul 8, 2020
1 parent 3cb1284 commit 9c35f70
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
package com.github.mc1arke.sonarqube.plugin.server.pullrequest.ws.action.gitlab;

import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.WebService;
import org.sonar.db.DbClient;
import org.sonar.db.alm.setting.ProjectAlmSettingDto;
import org.sonar.server.component.ComponentFinder;
Expand All @@ -27,15 +28,25 @@
import com.github.mc1arke.sonarqube.plugin.server.pullrequest.ws.action.SetBindingAction;

public class SetGitlabBindingAction extends SetBindingAction {
private final static String REPOSITORY_PARAMETER = "repository";

public SetGitlabBindingAction(DbClient dbClient, ComponentFinder componentFinder, UserSession userSession) {
super(dbClient, componentFinder, userSession, "set_gitlab_binding");
}

@Override
protected void configureAction(WebService.NewAction action) {
super.configureAction(action);
action.createParam(REPOSITORY_PARAMETER).setRequired(true);
}

@Override
protected ProjectAlmSettingDto createProjectAlmSettingDto(String projectUuid, String settingsUuid,
Request request) {
return new ProjectAlmSettingDto().setProjectUuid(projectUuid).setAlmSettingUuid(settingsUuid);
return new ProjectAlmSettingDto()
.setProjectUuid(projectUuid)
.setAlmSettingUuid(settingsUuid)
.setAlmRepo(request.mandatoryParam(REPOSITORY_PARAMETER));
}

}
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package com.github.mc1arke.sonarqube.plugin.server.pullrequest.ws.action.gitlab;

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

import org.junit.Test;
import org.sonar.api.server.ws.Request;
Expand All @@ -20,12 +19,13 @@ public void testCreateProjectAlmSettingDto() {
ComponentFinder componentFinder = mock(ComponentFinder.class);

Request request = mock(Request.class);
when(request.mandatoryParam("repository")).thenReturn("repositoryId");

SetGitlabBindingAction testCase = new SetGitlabBindingAction(dbClient, componentFinder, userSession);
ProjectAlmSettingDto result = testCase.createProjectAlmSettingDto("projectUuid", "settingsUuid", request);

assertThat(result).isEqualToComparingFieldByField(new ProjectAlmSettingDto().setProjectUuid("projectUuid").setAlmSettingUuid("settingsUuid"));
assertThat(result).isEqualToComparingFieldByField(new ProjectAlmSettingDto().setProjectUuid("projectUuid").setAlmSettingUuid("settingsUuid").setAlmRepo("repositoryId"));
verify(request).mandatoryParam("repository");
verifyNoMoreInteractions(request);

}
}

0 comments on commit 9c35f70

Please sign in to comment.