]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10851 Make branch validation less strict on scanner side
authorJulien HENRY <julien.henry@sonarsource.com>
Mon, 4 Jun 2018 13:13:39 +0000 (15:13 +0200)
committerSonarTech <sonartech@sonarsource.com>
Wed, 6 Jun 2018 18:20:51 +0000 (20:20 +0200)
No need to be more strict than server side.

16 files changed:
server/sonar-server/src/main/java/org/sonar/ce/settings/ProjectConfigurationFactory.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/analysis/AnalysisMetadataHolder.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/analysis/AnalysisMetadataHolderImpl.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/analysis/Branch.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/analysis/MutableAnalysisMetadataHolder.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutor.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/component/BranchPersisterImpl.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/component/DefaultBranchImpl.java
server/sonar-server/src/main/java/org/sonar/server/computation/task/projectanalysis/step/SendIssueNotificationsStep.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/analysis/AnalysisMetadataHolderImplTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/analysis/AnalysisMetadataHolderRule.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/analysis/MutableAnalysisMetadataHolderRule.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/api/posttask/PostProjectAnalysisTasksExecutorTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/component/BranchPersisterImplTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/ReportPersistComponentsStepTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/task/projectanalysis/step/SendIssueNotificationsStepTest.java

index 13b6c4ae0232cf2e10bab96f23330979a463b97f..c750ecabe2bd6a7482313c5cb9a596dbb919c916 100644 (file)
@@ -46,7 +46,7 @@ public class ProjectConfigurationFactory {
     Settings projectSettings = new ChildSettings(globalSettings);
     addSettings(projectSettings, projectKey);
     if (branch.getType() == BranchType.PULL_REQUEST) {
-      addSettings(projectSettings, generatePullRequestKey(projectKey, branch.getPullRequestId()));
+      addSettings(projectSettings, generatePullRequestKey(projectKey, branch.getPullRequestKey()));
     } else {
       addSettings(projectSettings, generateBranchKey(projectKey, branch.getName()));
     }
index c6e00eb87e09342b6bb8d30da7b01d9a9828ec22..b10359139346de8598421f29471cd6c160ed7a0c 100644 (file)
@@ -105,7 +105,7 @@ public interface AnalysisMetadataHolder {
    *
    * @throws IllegalStateException if current analysis is not a pull request
    */
-  String getPullRequestId();
+  String getPullRequestKey();
 
   /**
    * The project as represented by the main branch. It is used to load settings
index 157da3ac9cb168f7139e35f137caab604978376c..2fd4d7154d8a2848a7ecb364bd980b1b26cdc1c0 100644 (file)
@@ -40,7 +40,7 @@ public class AnalysisMetadataHolderImpl implements MutableAnalysisMetadataHolder
   private final InitializedProperty<Analysis> baseProjectSnapshot = new InitializedProperty<>();
   private final InitializedProperty<Boolean> crossProjectDuplicationEnabled = new InitializedProperty<>();
   private final InitializedProperty<Branch> branch = new InitializedProperty<>();
-  private final InitializedProperty<String> pullRequestId = new InitializedProperty<>();
+  private final InitializedProperty<String> pullRequestKey = new InitializedProperty<>();
   private final InitializedProperty<Project> project = new InitializedProperty<>();
   private final InitializedProperty<Integer> rootComponentRef = new InitializedProperty<>();
   private final InitializedProperty<Map<String, QualityProfile>> qProfilesPerLanguage = new InitializedProperty<>();
@@ -151,16 +151,16 @@ public class AnalysisMetadataHolderImpl implements MutableAnalysisMetadataHolder
   }
 
   @Override
-  public MutableAnalysisMetadataHolder setPullRequestId(String pullRequestId) {
-    checkState(!this.pullRequestId.isInitialized(), "Pull request id has already been set");
-    this.pullRequestId.setProperty(pullRequestId);
+  public MutableAnalysisMetadataHolder setPullRequestKey(String pullRequestKey) {
+    checkState(!this.pullRequestKey.isInitialized(), "Pull request key has already been set");
+    this.pullRequestKey.setProperty(pullRequestKey);
     return this;
   }
 
   @Override
-  public String getPullRequestId() {
-    checkState(pullRequestId.isInitialized(), "Pull request id has not been set");
-    return pullRequestId.getProperty();
+  public String getPullRequestKey() {
+    checkState(pullRequestKey.isInitialized(), "Pull request key has not been set");
+    return pullRequestKey.getProperty();
   }
 
   @Override
index bc7fff0f769a49d87cccb70d8f3f1027b50ed605..c5defbb698ab5081874ead93559802f3c6eaef55 100644 (file)
@@ -57,5 +57,5 @@ public interface Branch extends ComponentKeyGenerator {
   /**
    * @throws IllegalStateException if this branch configuration is not a pull request.
    */
-  String getPullRequestId();
+  String getPullRequestKey();
 }
index a23d83f5841d8bffae4d86b2795337bdfe75b3b4..6727de64387f48e1960c2ad5f7b30aadf309c5fe 100644 (file)
@@ -62,9 +62,9 @@ public interface MutableAnalysisMetadataHolder extends AnalysisMetadataHolder {
   MutableAnalysisMetadataHolder setBranch(Branch branch);
 
   /**
-   * @throws IllegalStateException if pull request id has already been set
+   * @throws IllegalStateException if pull request key has already been set
    */
-  MutableAnalysisMetadataHolder setPullRequestId(String pullRequestId);
+  MutableAnalysisMetadataHolder setPullRequestKey(String pullRequestKey);
 
   /**
    * @throws IllegalStateException if project has already been set
index e7f179b283c6d101b24d182bd898c180fb9191c2..55540ec2617273630e2898c7049e348536adbdba 100644 (file)
@@ -181,7 +181,7 @@ public class PostProjectAnalysisTasksExecutor implements ComputationStepExecutor
   private BranchImpl createBranch() {
     org.sonar.server.computation.task.projectanalysis.analysis.Branch analysisBranch = analysisMetadataHolder.getBranch();
     if (!analysisBranch.isLegacyFeature()) {
-      String branchKey = analysisBranch.getType() == PULL_REQUEST ? analysisBranch.getPullRequestId() : analysisBranch.getName();
+      String branchKey = analysisBranch.getType() == PULL_REQUEST ? analysisBranch.getPullRequestKey() : analysisBranch.getName();
       return new BranchImpl(analysisBranch.isMain(), branchKey, Branch.Type.valueOf(analysisBranch.getType().name()));
     }
     return null;
index a58a8ca987ad1e1962c3b44822509520bb4502bf..25583a007e67922686b35928762a3b3bf5cae927 100644 (file)
@@ -88,7 +88,7 @@ public class BranchPersisterImpl implements BranchPersister {
     dto.setMergeBranchUuid(branch.getMergeBranchUuid().orElse(null));
 
     if (branch.getType() == BranchType.PULL_REQUEST) {
-      dto.setKey(analysisMetadataHolder.getPullRequestId());
+      dto.setKey(analysisMetadataHolder.getPullRequestKey());
 
       DbProjectBranches.PullRequestData pullRequestData = DbProjectBranches.PullRequestData.newBuilder()
         .setBranch(branch.getName())
index 63b49e588ef3f73f8e7eb7ff8ae8d9d520214795..341174f1a6b845ddb0c3cf2a9d34f5cb68cfb31a 100644 (file)
@@ -86,7 +86,7 @@ public class DefaultBranchImpl implements Branch {
   }
 
   @Override
-  public String getPullRequestId() {
+  public String getPullRequestKey() {
     throw new IllegalStateException("Only a branch of type PULL_REQUEST can have a pull request id.");
   }
 
index 8592bb9d7960139539870d8e9fdf1c0a2572e937..04c90437dff0454292ce6c1f7bac7e5d7183c047 100644 (file)
@@ -224,7 +224,7 @@ public class SendIssueNotificationsStep implements ComputationStep {
   @CheckForNull
   private String getPullRequest() {
     Branch branch = analysisMetadataHolder.getBranch();
-    return branch.getType() == PULL_REQUEST ? analysisMetadataHolder.getPullRequestId() : null;
+    return branch.getType() == PULL_REQUEST ? analysisMetadataHolder.getPullRequestKey() : null;
   }
 
 }
index 58d9a362a6d4675a6b597e967f2759ca2a561051..a5971cad4f4e25ca7340f49cdd286b4f11288b4b 100644 (file)
@@ -247,27 +247,27 @@ public class AnalysisMetadataHolderImplTest {
     AnalysisMetadataHolderImpl underTest = new AnalysisMetadataHolderImpl();
 
     String pullRequestId = "pr-123";
-    underTest.setPullRequestId(pullRequestId);
+    underTest.setPullRequestKey(pullRequestId);
 
-    assertThat(underTest.getPullRequestId()).isEqualTo(pullRequestId);
+    assertThat(underTest.getPullRequestKey()).isEqualTo(pullRequestId);
   }
 
   @Test
   public void getPullRequestId_throws_ISE_when_holder_is_not_initialized() {
     expectedException.expect(IllegalStateException.class);
-    expectedException.expectMessage("Pull request id has not been set");
+    expectedException.expectMessage("Pull request key has not been set");
 
-    new AnalysisMetadataHolderImpl().getPullRequestId();
+    new AnalysisMetadataHolderImpl().getPullRequestKey();
   }
 
   @Test
   public void setPullRequestId_throws_ISE_when_called_twice() {
     AnalysisMetadataHolderImpl underTest = new AnalysisMetadataHolderImpl();
-    underTest.setPullRequestId("pr-123");
+    underTest.setPullRequestKey("pr-123");
 
     expectedException.expect(IllegalStateException.class);
-    expectedException.expectMessage("Pull request id has already been set");
-    underTest.setPullRequestId("pr-234");
+    expectedException.expectMessage("Pull request key has already been set");
+    underTest.setPullRequestKey("pr-234");
   }
 
   @Test
index a24e7311c65c06c4f30f188a6103ecf63f4ec3ba..b9f445316cd09d071da4d14476f2ab87f4786f0f 100644 (file)
@@ -171,13 +171,13 @@ public class AnalysisMetadataHolderRule extends ExternalResource implements Muta
   }
 
   @Override
-  public MutableAnalysisMetadataHolder setPullRequestId(String pullRequestId) {
-    this.pullRequestId.setProperty(pullRequestId);
+  public MutableAnalysisMetadataHolder setPullRequestKey(String pullRequestKey) {
+    this.pullRequestId.setProperty(pullRequestKey);
     return this;
   }
 
   @Override
-  public String getPullRequestId() {
+  public String getPullRequestKey() {
     checkState(pullRequestId.isInitialized(), "Pull request id has not been set");
     return pullRequestId.getProperty();
   }
index 5eb99bc59f33d20d95a2fa76cb7f96e741335a02..a3181b811e9f831326a2a01fddfb4373c4436026 100644 (file)
@@ -122,13 +122,13 @@ public class MutableAnalysisMetadataHolderRule extends ExternalResource implemen
   }
 
   @Override
-  public String getPullRequestId() {
-    return delegate.getPullRequestId();
+  public String getPullRequestKey() {
+    return delegate.getPullRequestKey();
   }
 
   @Override
-  public MutableAnalysisMetadataHolder setPullRequestId(String pullRequestId) {
-    delegate.setPullRequestId(pullRequestId);
+  public MutableAnalysisMetadataHolder setPullRequestKey(String pullRequestKey) {
+    delegate.setPullRequestKey(pullRequestKey);
     return this;
   }
 
index 4270765b2080c5ee86682f28d27c5a6dcac72413..ce56b6e5869119e4ee9d8d9548cb4e630cff6f50 100644 (file)
@@ -302,7 +302,7 @@ public class PostProjectAnalysisTasksExecutorTest {
       }
 
       @Override
-      public String getPullRequestId() {
+      public String getPullRequestKey() {
         throw new UnsupportedOperationException();
       }
 
index 12a8855e42b20f42d70f9c31109105c0c5b769fa..80a1a8e8b5705dbf82aeab58e356e9185b078e37 100644 (file)
@@ -87,7 +87,7 @@ public class BranchPersisterImplTest {
   public void persist_pull_request_data() {
     String pullRequestId = "pr-123";
     analysisMetadataHolder.setBranch(createBranch(BranchType.PULL_REQUEST, false, pullRequestId));
-    analysisMetadataHolder.setPullRequestId(pullRequestId);
+    analysisMetadataHolder.setPullRequestKey(pullRequestId);
     treeRootHolder.setRoot(BRANCH);
 
     // add main branch in project table and in metadata
index 13c3ade55c26f41f2c02baf15bfa7e7a41795f0f..8ef1a6b01789aa476cba5537599ee188ef6533e3 100644 (file)
@@ -944,7 +944,7 @@ public class ReportPersistComponentsStepTest extends BaseStepTest {
     }
 
     @Override
-    public String getPullRequestId() {
+    public String getPullRequestKey() {
       throw new UnsupportedOperationException();
     }
 
index b7bcc98ba6b020ba2eab44100a77ee234152ee00..6678e551536b1b5887f93b523f55967a6b22c8ed 100644 (file)
 package org.sonar.server.computation.task.projectanalysis.step;
 
 import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
-import java.util.stream.Collectors;
 import java.util.stream.IntStream;
-import java.util.stream.Stream;
 import org.apache.commons.lang.RandomStringUtils;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 import org.mockito.ArgumentCaptor;
-import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent;
 import org.sonar.api.notifications.Notification;
 import org.sonar.api.rules.RuleType;
 import org.sonar.api.utils.Duration;
@@ -68,7 +63,6 @@ import static java.util.Arrays.stream;
 import static java.util.Collections.shuffle;
 import static java.util.stream.Collectors.toList;
 import static java.util.stream.Stream.concat;
-import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.ArgumentCaptor.forClass;
 import static org.mockito.ArgumentMatchers.eq;
@@ -233,7 +227,7 @@ public class SendIssueNotificationsStepTest extends BaseStepTest {
       new DefaultIssue().setType(randomRuleType).setEffort(ISSUE_DURATION).setCreationDate(new Date(ANALYSE_DATE))).close();
     when(notificationService.hasProjectSubscribersForTypes(branch.uuid(), NOTIF_TYPES)).thenReturn(true);
     analysisMetadataHolder.setBranch(newPullRequest());
-    analysisMetadataHolder.setPullRequestId(PULL_REQUEST_ID);
+    analysisMetadataHolder.setPullRequestKey(PULL_REQUEST_ID);
 
     underTest.execute();
 
@@ -500,7 +494,7 @@ public class SendIssueNotificationsStepTest extends BaseStepTest {
     when(branch.isMain()).thenReturn(false);
     when(branch.getType()).thenReturn(PULL_REQUEST);
     when(branch.getName()).thenReturn(BRANCH_NAME);
-    when(branch.getPullRequestId()).thenReturn(PULL_REQUEST_ID);
+    when(branch.getPullRequestKey()).thenReturn(PULL_REQUEST_ID);
     return branch;
   }