@@ -54,11 +54,11 @@ public interface Branch extends ComponentKeyGenerator { | |||
String getPullRequestKey(); | |||
/** | |||
* The target/base branch name of a SLB or PR. | |||
* The target/base branch name of a PR. | |||
* Correspond to <pre>sonar.pullrequest.base</pre> or <pre>sonar.branch.target</pre> | |||
* It's not guaranteed to exist. | |||
* | |||
* @throws IllegalStateException if this branch configuration is not a pull request or SLB. | |||
* @throws IllegalStateException if this branch configuration is not a pull request. | |||
*/ | |||
String getTargetBranchName(); | |||
} |
@@ -59,8 +59,8 @@ public interface Component { | |||
} | |||
/** | |||
* On a long-living branch, CHANGED and ADDED are relative to the previous analysis. | |||
* On a short-living branch and pull request, these are relative to the base branch. | |||
* On a branch, CHANGED and ADDED are relative to the previous analysis. | |||
* On a pull request, these are relative to the base branch. | |||
*/ | |||
enum Status { | |||
UNAVAILABLE, SAME, CHANGED, ADDED |
@@ -24,8 +24,6 @@ import com.google.common.base.Suppliers; | |||
import org.sonar.api.config.Configuration; | |||
import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder; | |||
import org.sonar.ce.task.projectanalysis.analysis.ProjectConfigurationFactory; | |||
import org.sonar.ce.task.projectanalysis.analysis.ProjectConfigurationFactory; | |||
import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder; | |||
/** | |||
* Repository of component settings implementation based on a memory cache. |
@@ -71,7 +71,7 @@ public class DefaultBranchImpl implements Branch { | |||
@Override | |||
public String getTargetBranchName() { | |||
throw new IllegalStateException("Only on a short lived branch or pull request"); | |||
throw new IllegalStateException("Only on a pull request"); | |||
} | |||
@Override |
@@ -34,7 +34,7 @@ public interface TreeRootHolder { | |||
* The root of the tree, for example the project or the portfolio. | |||
* With branches, it will refer to the root component of the branch. | |||
* | |||
* On a short living branch or pull request, it contains ONLY: | |||
* On a pull request, it contains ONLY: | |||
* 1. The PROJECT component (tree root) | |||
* 2. The FILE components whose status is not SAME | |||
* 3. Intermediary MODULE and DIRECTORY components that lead to FILE leafs that are not SAME | |||
@@ -47,7 +47,7 @@ public interface TreeRootHolder { | |||
* The root of the components that were in the scanner report. | |||
* This tree may include components that are not persisted, | |||
* just kept in memory for computation purposes, such as overall coverage | |||
* in short living branches or pull requests. | |||
* in pull requests. | |||
* | |||
* @throws IllegalStateException if the holder is empty (ie. there is no root yet) | |||
*/ |
@@ -111,7 +111,7 @@ public class DuplicationMeasures { | |||
} | |||
protected void initializeForFile(Component file) { | |||
// don't use measure since it won't be available for some files in the report tree in SLB | |||
// don't use measure since it won't be available for some files in the report tree in PRs | |||
this.lineCount = file.getFileAttributes().getLines(); | |||
Iterable<Duplication> duplications = requireNonNull(this.duplicationRepository, "DuplicationRepository missing") | |||
.getDuplications(file); |
@@ -19,7 +19,6 @@ | |||
*/ | |||
package org.sonar.ce.task.projectanalysis.duplication; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
/** |
@@ -23,7 +23,6 @@ import java.util.Objects; | |||
import javax.annotation.Nullable; | |||
import javax.annotation.concurrent.Immutable; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static java.util.Objects.requireNonNull; |
@@ -20,9 +20,6 @@ | |||
package org.sonar.ce.task.projectanalysis.event; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type; | |||
public interface EventRepository { | |||
/** |
@@ -22,7 +22,6 @@ package org.sonar.ce.task.projectanalysis.event; | |||
import com.google.common.collect.HashMultimap; | |||
import com.google.common.collect.Multimap; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static java.util.Objects.requireNonNull; |
@@ -22,7 +22,6 @@ package org.sonar.ce.task.projectanalysis.filemove; | |||
import com.google.common.base.Optional; | |||
import javax.annotation.Nullable; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import static java.util.Objects.requireNonNull; | |||
@@ -20,9 +20,6 @@ | |||
package org.sonar.ce.task.projectanalysis.filemove; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type; | |||
public interface MutableMovedFilesRepository extends MovedFilesRepository { | |||
/** |
@@ -21,8 +21,6 @@ package org.sonar.ce.task.projectanalysis.formula; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type; | |||
/** | |||
* A counter is used to aggregate some data | |||
*/ |
@@ -19,7 +19,6 @@ | |||
*/ | |||
package org.sonar.ce.task.projectanalysis.formula.coverage; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.formula.Counter; | |||
import org.sonar.ce.task.projectanalysis.formula.CounterInitializationContext; |
@@ -19,10 +19,6 @@ | |||
*/ | |||
package org.sonar.ce.task.projectanalysis.formula.coverage; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.formula.Counter; | |||
import org.sonar.ce.task.projectanalysis.formula.CounterInitializationContext; | |||
import org.sonar.ce.task.projectanalysis.formula.counter.LongValue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.formula.Counter; | |||
import org.sonar.ce.task.projectanalysis.formula.CounterInitializationContext; |
@@ -23,7 +23,6 @@ import java.util.List; | |||
import org.sonar.api.ce.measure.MeasureComputer; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
/** | |||
* This repository contains issues for only one component at a time. It's populated by {@link IntegrateIssuesVisitor} and |
@@ -22,12 +22,11 @@ package org.sonar.ce.task.projectanalysis.issue; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder; | |||
import org.sonar.ce.task.projectanalysis.component.ConfigurationRepository; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.user.UserDto; | |||
import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder; | |||
import org.sonar.ce.task.projectanalysis.component.ConfigurationRepository; | |||
import static com.google.common.base.Strings.isNullOrEmpty; | |||
import static org.sonar.api.CoreProperties.DEFAULT_ISSUE_ASSIGNEE; |
@@ -20,7 +20,6 @@ | |||
package org.sonar.ce.task.projectanalysis.issue; | |||
import java.util.Collection; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.core.issue.tracking.BlockHashSequence; | |||
import org.sonar.core.issue.tracking.Input; |
@@ -21,7 +21,6 @@ package org.sonar.ce.task.projectanalysis.issue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
public class IssueVisitors { | |||
@@ -21,7 +21,6 @@ package org.sonar.ce.task.projectanalysis.issue; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.core.issue.DefaultIssue; | |||
@@ -22,7 +22,6 @@ package org.sonar.ce.task.projectanalysis.issue; | |||
import java.util.List; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
public interface MutableComponentIssuesRepository extends ComponentIssuesRepository { | |||
@@ -53,7 +53,7 @@ public class PullRequestTrackerExecution { | |||
Input<DefaultIssue> rawInput = rawInputFactory.create(component); | |||
Input<DefaultIssue> previousAnalysisInput = baseInputFactory.create(component); | |||
// Step 1: track issues with merge branch (= long living) | |||
// Step 1: track issues with merge branch | |||
Input<DefaultIssue> unmatchedRawsAfterMergeBranchTracking; | |||
if (mergeInputFactory.hasMergeBranchAnalysis()) { | |||
Input<DefaultIssue> mergeInput = mergeInputFactory.createForMergeBranch(component); | |||
@@ -84,7 +84,7 @@ public class PullRequestTrackerExecution { | |||
unmatchedRawsAfterChangedLineFiltering = unmatchedRawsAfterTargetBranchTracking; | |||
} | |||
// Step 4: track issues of previous analysis of the current branch/PR | |||
// Step 4: track issues of previous analysis of the current PR | |||
return tracker.trackNonClosed(unmatchedRawsAfterChangedLineFiltering, previousAnalysisInput); | |||
} | |||
@@ -19,12 +19,10 @@ | |||
*/ | |||
package org.sonar.ce.task.projectanalysis.issue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import com.google.common.base.Optional; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.filemove.MovedFilesRepository; | |||
import com.google.common.base.Optional; | |||
public class RemoveProcessedComponentsVisitor extends IssueVisitor { | |||
private final ComponentsWithUnprocessedIssues componentsWithUnprocessedIssues; | |||
private final MovedFilesRepository movedFilesRepository; |
@@ -21,7 +21,6 @@ package org.sonar.ce.task.projectanalysis.issue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import static com.google.common.collect.Sets.union; | |||
@@ -32,7 +32,7 @@ import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.ComponentDto; | |||
import org.sonar.db.issue.IssueDto; | |||
import org.sonar.db.issue.ShortBranchIssueDto; | |||
import org.sonar.db.issue.PrIssueDto; | |||
import static org.sonar.api.utils.DateUtils.longToDate; | |||
import static org.sonar.core.util.stream.MoreCollectors.toList; | |||
@@ -66,7 +66,7 @@ public class SiblingsIssuesLoader { | |||
} | |||
} | |||
private static SiblingIssue toSiblingIssue(ShortBranchIssueDto dto) { | |||
private static SiblingIssue toSiblingIssue(PrIssueDto dto) { | |||
return new SiblingIssue(dto.getKey(), dto.getLine(), dto.getMessage(), dto.getChecksum(), dto.getRuleKey(), dto.getStatus(), dto.getBranchKey(), dto.getKeyType(), | |||
longToDate(dto.getIssueUpdateDate())); | |||
} |
@@ -22,7 +22,6 @@ package org.sonar.ce.task.projectanalysis.issue.commonrule; | |||
import java.util.Collection; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
/** | |||
* Generate the issues related to "common rules", which are |
@@ -24,7 +24,6 @@ import java.util.Collection; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
public class CommonRuleEngineImpl implements CommonRuleEngine { | |||
@@ -19,7 +19,6 @@ | |||
*/ | |||
package org.sonar.ce.task.projectanalysis.measure; | |||
import org.sonar.ce.task.projectanalysis.api.measurecomputer.MeasureComputerWrapper; | |||
import org.sonar.ce.task.projectanalysis.api.measurecomputer.MeasureComputerWrapper; | |||
public interface MeasureComputersHolder { |
@@ -22,7 +22,6 @@ package org.sonar.ce.task.projectanalysis.measure; | |||
import com.google.common.base.Predicates; | |||
import javax.annotation.CheckForNull; | |||
import org.sonar.ce.task.projectanalysis.api.measurecomputer.MeasureComputerWrapper; | |||
import org.sonar.ce.task.projectanalysis.api.measurecomputer.MeasureComputerWrapper; | |||
import static com.google.common.base.Preconditions.checkState; | |||
import static com.google.common.collect.FluentIterable.from; |
@@ -19,7 +19,6 @@ | |||
*/ | |||
package org.sonar.ce.task.projectanalysis.measure; | |||
import org.sonar.ce.task.projectanalysis.api.measurecomputer.MeasureComputerWrapper; | |||
import org.sonar.ce.task.projectanalysis.api.measurecomputer.MeasureComputerWrapper; | |||
/** |
@@ -23,8 +23,6 @@ import javax.annotation.Nullable; | |||
import javax.annotation.concurrent.Immutable; | |||
import org.sonar.ce.task.projectanalysis.measure.Measure; | |||
import org.sonar.ce.task.projectanalysis.qualitygate.Condition; | |||
import org.sonar.ce.task.projectanalysis.measure.Measure; | |||
import org.sonar.ce.task.projectanalysis.qualitygate.Condition; | |||
import static java.util.Objects.requireNonNull; | |||
@@ -37,7 +37,6 @@ import static org.sonar.api.measures.CoreMetrics.SECURITY_HOTSPOTS_KEY; | |||
import static org.sonar.api.measures.CoreMetrics.SECURITY_REVIEW_RATING_KEY; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.PROJECT; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.SUBVIEW; | |||
import static org.sonar.ce.task.projectanalysis.measure.Measure.newMeasureBuilder; | |||
public class SecurityReviewRatingVisitor extends TypeAwareVisitorAdapter { | |||
@@ -64,7 +64,7 @@ public class ScmInfoDbLoader { | |||
return Optional.of(file.getUuid()); | |||
} | |||
// at this point, it's the first analysis of a LLB with copyFromPrevious flag true or any analysis of a PR/SLB | |||
// at this point, it's the first analysis of a branch with copyFromPrevious flag true or any analysis of a PR | |||
Branch branch = analysisMetadataHolder.getBranch(); | |||
if (!branch.isMain()) { | |||
String uuid = mergeBranchComponentUuid.getTargetBranchComponentUuid(file.getDbKey()); |
@@ -25,7 +25,6 @@ import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.source.LineHashVersion; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
public class DbLineHashVersion { | |||
private final Map<Component, LineHashVersion> lineHashVersionPerComponent = new HashMap<>(); |
@@ -61,7 +61,7 @@ public class NewLinesRepository { | |||
} | |||
/** | |||
* If the changed lines are not in the report or if we are not analyzing a short lived branch (or P/R) we fall back to this method. | |||
* If the changed lines are not in the report or if we are not analyzing a P/R we fall back to this method. | |||
* If there is a period and SCM information, we compare the change dates of each line with the start of the period to figure out | |||
* if a line is new or not. | |||
*/ |
@@ -30,7 +30,6 @@ import java.util.Set; | |||
import java.util.function.Function; | |||
import org.sonar.api.utils.TempFolder; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
public class SourceLinesHashCache { | |||
private static final String FILE_NAME_PREFIX = "hashes-"; |
@@ -21,8 +21,6 @@ package org.sonar.ce.task.projectanalysis.source; | |||
import java.util.List; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.source.SourceLinesHashRepositoryImpl.LineHashesComputer; | |||
/** | |||
* Generates line hashes from source code included in the report. |
@@ -22,7 +22,6 @@ package org.sonar.ce.task.projectanalysis.source.linereader; | |||
import com.google.common.collect.HashMultimap; | |||
import com.google.common.collect.Lists; | |||
import com.google.common.collect.SetMultimap; | |||
import java.util.ArrayList; | |||
import java.util.Comparator; | |||
import java.util.IdentityHashMap; | |||
import java.util.Iterator; |
@@ -55,13 +55,13 @@ public class LoadQualityGateStep implements ComputationStep { | |||
} | |||
if (analysisMetadataHolder.isPullRequest()) { | |||
qualityGate = filterQGForSLB(qualityGate); | |||
qualityGate = filterQGForPR(qualityGate); | |||
} | |||
qualityGateHolder.setQualityGate(qualityGate.orElseThrow(() -> new IllegalStateException("Quality gate not present"))); | |||
} | |||
private static Optional<QualityGate> filterQGForSLB(Optional<QualityGate> qualityGate) { | |||
private static Optional<QualityGate> filterQGForPR(Optional<QualityGate> qualityGate) { | |||
return qualityGate.map(qg -> new QualityGate(qg.getId(), qg.getName(), | |||
qg.getConditions().stream().filter(Condition::useVariation).collect(Collectors.toList()))); | |||
} |
@@ -35,8 +35,6 @@ import org.sonar.ce.task.step.ComputationStep; | |||
import org.sonar.core.util.CloseableIterator; | |||
import org.sonar.scanner.protocol.output.ScannerReport; | |||
import static com.google.common.base.Strings.emptyToNull; | |||
public class LoadQualityProfilesStep implements ComputationStep { | |||
private final BatchReportReader batchReportReader; |
@@ -21,7 +21,6 @@ package org.sonar.ce.task.projectanalysis.component; | |||
import java.util.Arrays; | |||
import java.util.Collections; | |||
import org.apache.commons.lang.RandomStringUtils; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.junit.rules.ExpectedException; |
@@ -43,7 +43,6 @@ import static org.sonar.ce.task.projectanalysis.component.Component.Type.DIRECTO | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.FILE; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.PROJECT; | |||
import static org.sonar.ce.task.projectanalysis.component.ReportComponent.builder; | |||
import static org.sonar.ce.task.projectanalysis.measure.Measure.newMeasureBuilder; | |||
public class DuplicationMeasuresTest { | |||
private static final int ROOT_REF = 1; |
@@ -26,7 +26,6 @@ import org.sonar.ce.task.projectanalysis.measure.MeasureRepositoryRule; | |||
import org.sonar.ce.task.projectanalysis.metric.MetricRepositoryRule; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.COMMENT_LINES; | |||
import static org.sonar.api.measures.CoreMetrics.COMMENT_LINES_KEY; | |||
import static org.sonar.api.measures.CoreMetrics.DUPLICATED_BLOCKS; |
@@ -33,7 +33,6 @@ import org.sonar.ce.task.projectanalysis.metric.MetricRepositoryRule; | |||
import org.sonar.ce.task.projectanalysis.period.PeriodHolderRule; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.COMPLEXITY_IN_FUNCTIONS_KEY; | |||
import static org.sonar.api.measures.CoreMetrics.FUNCTIONS_KEY; | |||
import static org.sonar.api.measures.CoreMetrics.FUNCTION_COMPLEXITY_KEY; |
@@ -32,7 +32,6 @@ import org.sonar.ce.task.projectanalysis.measure.MeasureRepositoryRule; | |||
import org.sonar.ce.task.projectanalysis.metric.MetricRepositoryRule; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION_KEY; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.DIRECTORY; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.PROJECT; |
@@ -32,7 +32,6 @@ import org.sonar.ce.task.projectanalysis.measure.MeasureRepositoryRule; | |||
import org.sonar.ce.task.projectanalysis.metric.MetricRepositoryRule; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.LINES_KEY; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.DIRECTORY; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.PROJECT; |
@@ -34,7 +34,6 @@ import org.sonar.ce.task.projectanalysis.metric.Metric; | |||
import org.sonar.ce.task.projectanalysis.metric.MetricRepositoryRule; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.LINES_KEY; | |||
import static org.sonar.api.measures.CoreMetrics.NCLOC_KEY; | |||
import static org.sonar.api.measures.CoreMetrics.NEW_COVERAGE_KEY; |
@@ -31,7 +31,6 @@ import org.sonar.ce.task.projectanalysis.component.TypeAwareVisitorAdapter; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static com.google.common.base.Preconditions.checkNotNull; | |||
import static java.util.Arrays.asList; | |||
import static org.sonar.ce.task.projectanalysis.component.ComponentVisitor.Order.POST_ORDER; | |||
@@ -24,7 +24,6 @@ import java.util.Date; | |||
import java.util.List; | |||
import java.util.Map; | |||
import java.util.stream.Collectors; | |||
import java.util.stream.Stream; | |||
import javax.annotation.Nullable; | |||
import org.assertj.core.data.MapEntry; | |||
import org.junit.Rule; | |||
@@ -35,7 +34,6 @@ import org.sonar.ce.task.projectanalysis.analysis.Branch; | |||
import org.sonar.ce.task.projectanalysis.batch.BatchReportReaderRule; | |||
import org.sonar.ce.task.projectanalysis.component.Component; | |||
import org.sonar.ce.task.projectanalysis.component.TreeRootHolderRule; | |||
import org.sonar.ce.task.projectanalysis.measure.Measure; | |||
import org.sonar.ce.task.projectanalysis.measure.MeasureRepoEntry; | |||
import org.sonar.ce.task.projectanalysis.measure.MeasureRepositoryRule; | |||
import org.sonar.ce.task.projectanalysis.metric.MetricRepositoryRule; |
@@ -38,7 +38,6 @@ import org.sonar.db.component.BranchType; | |||
import org.sonar.db.newcodeperiod.NewCodePeriodType; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.mockito.Mockito.mock; | |||
import static org.mockito.Mockito.when; | |||
import static org.sonar.api.issue.Issue.RESOLUTION_FIXED; |
@@ -22,7 +22,6 @@ package org.sonar.ce.task.projectanalysis.measure; | |||
import org.junit.Test; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
public class MeasureLevelTest { | |||
@Test |
@@ -23,7 +23,6 @@ import com.google.common.collect.ImmutableSet; | |||
import com.tngtech.java.junit.dataprovider.DataProvider; | |||
import com.tngtech.java.junit.dataprovider.DataProviderRunner; | |||
import com.tngtech.java.junit.dataprovider.UseDataProvider; | |||
import java.util.EnumSet; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.junit.rules.ExpectedException; | |||
@@ -37,9 +36,9 @@ import static com.google.common.base.Predicates.not; | |||
import static com.google.common.collect.FluentIterable.from; | |||
import static java.util.Arrays.asList; | |||
import static org.junit.Assert.fail; | |||
import static org.sonar.ce.task.projectanalysis.measure.Measure.newMeasureBuilder; | |||
import static org.sonar.ce.task.projectanalysis.measure.Measure.Level.ERROR; | |||
import static org.sonar.ce.task.projectanalysis.measure.Measure.Level.OK; | |||
import static org.sonar.ce.task.projectanalysis.measure.Measure.newMeasureBuilder; | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType; | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.BOOL; | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.DATA; | |||
@@ -47,7 +46,6 @@ import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.DISTRIB | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.FLOAT; | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.INT; | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.LEVEL; | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.MILLISEC; | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.PERCENT; | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.RATING; | |||
import static org.sonar.ce.task.projectanalysis.metric.Metric.MetricType.STRING; |
@@ -70,7 +70,7 @@ public class SourceLinesDiffImplTest { | |||
} | |||
@Test | |||
public void should_find_diff_with_target_branch_for_slbs() { | |||
public void should_find_diff_with_target_branch_for_prs() { | |||
Component component = fileComponent(FILE_REF); | |||
Component componentInTarget = fileComponent(2); | |||
@@ -84,7 +84,7 @@ public class SourceLinesDiffImplTest { | |||
} | |||
@Test | |||
public void should_find_diff_with_merge_branch_for_slbs_if_not_found_in_target() { | |||
public void should_find_diff_with_merge_branch_for_prs_if_not_found_in_target() { | |||
Component component = fileComponent(FILE_REF); | |||
Component componentInTarget = fileComponent(2); | |||
@@ -40,7 +40,6 @@ import org.sonar.ce.task.projectanalysis.component.ReportModulesPath; | |||
import org.sonar.ce.task.step.TestComputationStepContext; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.component.BranchType; | |||
import org.sonar.db.component.ComponentDto; | |||
import org.sonar.db.component.SnapshotDto; | |||
import org.sonar.db.organization.OrganizationDto; |
@@ -39,7 +39,6 @@ import org.sonar.db.measure.custom.CustomMeasureDto; | |||
import org.sonar.db.measure.custom.CustomMeasureTesting; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.DIRECTORY; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.FILE; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.PROJECT; |
@@ -61,7 +61,7 @@ public class LoadDuplicationsFromReportStepTest { | |||
builder(PROJECT, ROOT_REF) | |||
.addChildren( | |||
builder(FILE, FILE_1_REF).build(), | |||
// status has no effect except if it's a SLB or PR | |||
// status has no effect except if it's a PR | |||
builder(FILE, FILE_2_REF).setStatus(Component.Status.SAME).build()) | |||
.build()); | |||
@Rule |
@@ -355,7 +355,7 @@ public class LoadPeriodsStepTest extends BaseStepTest { | |||
@Test | |||
@UseDataProvider("anyValidLeakPeriodSettingValue") | |||
public void leak_period_setting_is_ignored_for_SLB_or_PR(NewCodePeriodType type, @Nullable String value) { | |||
public void leak_period_setting_is_ignored_for_PR(NewCodePeriodType type, @Nullable String value) { | |||
when(analysisMetadataHolder.isLongLivingBranch()).thenReturn(false); | |||
dbTester.newCodePeriods().insert(type, value); |
@@ -42,7 +42,6 @@ import org.sonar.scanner.protocol.output.ScannerReport; | |||
import static java.util.Arrays.asList; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.mockito.Mockito.mock; | |||
import static org.mockito.Mockito.when; | |||
import static org.sonar.api.measures.CoreMetrics.NEW_CONDITIONS_TO_COVER_KEY; |
@@ -272,9 +272,9 @@ public class QualityGateEventsStepTest { | |||
@Test | |||
public void no_alert_on_pull_request_branches() { | |||
Branch shortBranch = mock(Branch.class); | |||
when(shortBranch.getType()).thenReturn(BranchType.PULL_REQUEST); | |||
analysisMetadataHolder.setBranch(shortBranch); | |||
Branch pr = mock(Branch.class); | |||
when(pr.getType()).thenReturn(BranchType.PULL_REQUEST); | |||
analysisMetadataHolder.setBranch(pr); | |||
TreeRootHolder treeRootHolder = mock(TreeRootHolder.class); | |||
MetricRepository metricRepository = mock(MetricRepository.class); | |||
MeasureRepository measureRepository = mock(MeasureRepository.class); |
@@ -45,7 +45,6 @@ import org.sonar.ce.task.projectanalysis.measure.MeasureRepository; | |||
import org.sonar.ce.task.projectanalysis.metric.Metric; | |||
import org.sonar.ce.task.projectanalysis.metric.MetricRepository; | |||
import org.sonar.ce.task.projectanalysis.qualityprofile.MutableQProfileStatusRepository; | |||
import org.sonar.ce.task.projectanalysis.qualityprofile.QProfileStatusRepository; | |||
import org.sonar.ce.task.projectanalysis.qualityprofile.QProfileStatusRepositoryImpl; | |||
import org.sonar.ce.task.step.TestComputationStepContext; | |||
import org.sonar.core.util.UtcDateUtils; |
@@ -29,7 +29,6 @@ import org.sonar.ce.task.step.ComputationStep; | |||
import org.sonar.ce.task.step.TestComputationStepContext; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.COMMENT_LINES; | |||
import static org.sonar.api.measures.CoreMetrics.COMMENT_LINES_DENSITY; | |||
import static org.sonar.api.measures.CoreMetrics.COMMENT_LINES_DENSITY_KEY; |
@@ -29,7 +29,6 @@ import org.sonar.ce.task.step.ComputationStep; | |||
import org.sonar.ce.task.step.TestComputationStepContext; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.COMMENT_LINES; | |||
import static org.sonar.api.measures.CoreMetrics.COMMENT_LINES_DENSITY; | |||
import static org.sonar.api.measures.CoreMetrics.COMMENT_LINES_DENSITY_KEY; |
@@ -29,7 +29,6 @@ import org.sonar.ce.task.step.ComputationStep; | |||
import org.sonar.ce.task.step.TestComputationStepContext; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.CLASSES; | |||
import static org.sonar.api.measures.CoreMetrics.CLASSES_KEY; | |||
import static org.sonar.api.measures.CoreMetrics.CLASS_COMPLEXITY; |
@@ -28,7 +28,6 @@ import org.sonar.ce.task.step.ComputationStep; | |||
import org.sonar.ce.task.step.TestComputationStepContext; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.NCLOC_LANGUAGE_DISTRIBUTION; | |||
import static org.sonar.api.measures.CoreMetrics.NCLOC_LANGUAGE_DISTRIBUTION_KEY; | |||
import static org.sonar.ce.task.projectanalysis.component.Component.Type.PROJECT_VIEW; |
@@ -28,7 +28,6 @@ import org.sonar.ce.task.step.ComputationStep; | |||
import org.sonar.ce.task.step.TestComputationStepContext; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.guava.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.CoreMetrics.SKIPPED_TESTS; | |||
import static org.sonar.api.measures.CoreMetrics.SKIPPED_TESTS_KEY; | |||
import static org.sonar.api.measures.CoreMetrics.TESTS; |
@@ -45,7 +45,6 @@ import static com.google.common.collect.Lists.newArrayList; | |||
import static java.util.Arrays.asList; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.assertj.core.api.Assertions.fail; | |||
import static org.mockito.Answers.CALLS_REAL_METHODS; | |||
import static org.mockito.ArgumentMatchers.any; | |||
import static org.mockito.ArgumentMatchers.eq; | |||
import static org.mockito.Mockito.doReturn; | |||
@@ -53,7 +52,6 @@ import static org.mockito.Mockito.doThrow; | |||
import static org.mockito.Mockito.mock; | |||
import static org.mockito.Mockito.spy; | |||
import static org.mockito.Mockito.verify; | |||
import static org.mockito.Mockito.when; | |||
import static org.sonar.db.DatabaseUtils.toUniqueAndSortedList; | |||
public class DatabaseUtilsTest { |
@@ -73,7 +73,7 @@ import org.sonar.db.issue.IssueChangeDto; | |||
import org.sonar.db.issue.IssueChangeMapper; | |||
import org.sonar.db.issue.IssueDto; | |||
import org.sonar.db.issue.IssueMapper; | |||
import org.sonar.db.issue.ShortBranchIssueDto; | |||
import org.sonar.db.issue.PrIssueDto; | |||
import org.sonar.db.mapping.ProjectMappingDto; | |||
import org.sonar.db.mapping.ProjectMappingsMapper; | |||
import org.sonar.db.measure.LiveMeasureMapper; | |||
@@ -190,7 +190,6 @@ public class MyBatis implements Startable { | |||
confBuilder.loadAlias("IssueChange", IssueChangeDto.class); | |||
confBuilder.loadAlias("KeyLongValue", KeyLongValue.class); | |||
confBuilder.loadAlias("Issue", IssueDto.class); | |||
confBuilder.loadAlias("ShortBranchIssue", ShortBranchIssueDto.class); | |||
confBuilder.loadAlias("Measure", MeasureDto.class); | |||
confBuilder.loadAlias("NotificationQueue", NotificationQueueDto.class); | |||
confBuilder.loadAlias("Organization", OrganizationDto.class); | |||
@@ -200,6 +199,7 @@ public class MyBatis implements Startable { | |||
confBuilder.loadAlias("PermissionTemplate", PermissionTemplateDto.class); | |||
confBuilder.loadAlias("PermissionTemplateUser", PermissionTemplateUserDto.class); | |||
confBuilder.loadAlias("Plugin", PluginDto.class); | |||
confBuilder.loadAlias("PrIssue", PrIssueDto.class); | |||
confBuilder.loadAlias("ProjectAlmBinding", ProjectAlmBindingDto.class); | |||
confBuilder.loadAlias("ProjectQgateAssociation", ProjectQgateAssociationDto.class); | |||
confBuilder.loadAlias("ProjectMapping", ProjectMappingDto.class); |
@@ -74,8 +74,8 @@ public class BranchDto { | |||
/** | |||
* UUID of the branch: | |||
* - in which the short-lived branch or pull request will be merged into | |||
* - that is the base of long-lived branch. | |||
* - in which the pull request will be merged into | |||
* - that is the base of a branch. | |||
* <p> | |||
* Can be null if information is not known. | |||
*/ |
@@ -42,7 +42,6 @@ import org.sonar.db.DbSession; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static org.sonar.core.component.ComponentKeys.checkProjectKey; | |||
import static org.sonar.core.component.ComponentKeys.isValidProjectKey; | |||
/** | |||
* Class used to rename the key of a project and its resources. |
@@ -200,7 +200,7 @@ public class ComponentQuery { | |||
/** | |||
* Filter on date of last analysis. On projects, all branches and pull requests are taken into | |||
* account. For example the analysis of a short-lived branch is included in the filter | |||
* account. For example the analysis of a branch is included in the filter | |||
* even if the main branch has never been analyzed. | |||
*/ | |||
public Builder setAnyBranchAnalyzedAfter(@Nullable Long l) { |
@@ -23,7 +23,6 @@ import java.util.Collection; | |||
import java.util.List; | |||
import java.util.Optional; | |||
import java.util.Set; | |||
import org.sonar.db.Dao; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.RowNotFoundException; | |||
@@ -74,7 +73,7 @@ public class IssueDao implements Dao { | |||
return mapper(dbSession).selectNonClosedByModuleOrProject(module.projectUuid(), likeModuleUuidPath); | |||
} | |||
public List<ShortBranchIssueDto> selectOpenByComponentUuids(DbSession dbSession, Collection<String> componentUuids) { | |||
public List<PrIssueDto> selectOpenByComponentUuids(DbSession dbSession, Collection<String> componentUuids) { | |||
return executeLargeInputs(componentUuids, mapper(dbSession)::selectOpenByComponentUuids); | |||
} | |||
@@ -38,7 +38,7 @@ public interface IssueMapper { | |||
List<IssueDto> selectByKeysIfNotUpdatedAt(@Param("keys") List<String> keys, @Param("updatedAt") long updatedAt); | |||
List<ShortBranchIssueDto> selectOpenByComponentUuids(List<String> componentUuids); | |||
List<PrIssueDto> selectOpenByComponentUuids(List<String> componentUuids); | |||
void insert(IssueDto issue); | |||
@@ -27,7 +27,7 @@ import org.apache.commons.lang.builder.ToStringStyle; | |||
import org.sonar.api.rule.RuleKey; | |||
import org.sonar.db.component.KeyType; | |||
public final class ShortBranchIssueDto implements Serializable { | |||
public final class PrIssueDto implements Serializable { | |||
private String kee; | |||
private String message; | |||
@@ -46,7 +46,7 @@ public final class ShortBranchIssueDto implements Serializable { | |||
return kee; | |||
} | |||
public ShortBranchIssueDto setKee(String s) { | |||
public PrIssueDto setKee(String s) { | |||
this.kee = s; | |||
return this; | |||
} | |||
@@ -56,7 +56,7 @@ public final class ShortBranchIssueDto implements Serializable { | |||
return message; | |||
} | |||
public ShortBranchIssueDto setMessage(@Nullable String s) { | |||
public PrIssueDto setMessage(@Nullable String s) { | |||
this.message = s; | |||
return this; | |||
} | |||
@@ -66,7 +66,7 @@ public final class ShortBranchIssueDto implements Serializable { | |||
return line; | |||
} | |||
public ShortBranchIssueDto setLine(@Nullable Integer i) { | |||
public PrIssueDto setLine(@Nullable Integer i) { | |||
this.line = i; | |||
return this; | |||
} | |||
@@ -78,7 +78,7 @@ public final class ShortBranchIssueDto implements Serializable { | |||
return branchKey; | |||
} | |||
public ShortBranchIssueDto setBranchKey(String s) { | |||
public PrIssueDto setBranchKey(String s) { | |||
this.branchKey = s; | |||
return this; | |||
} | |||
@@ -87,7 +87,7 @@ public final class ShortBranchIssueDto implements Serializable { | |||
return keyType; | |||
} | |||
public ShortBranchIssueDto setKeyType(KeyType s) { | |||
public PrIssueDto setKeyType(KeyType s) { | |||
this.keyType = s; | |||
return this; | |||
} | |||
@@ -96,7 +96,7 @@ public final class ShortBranchIssueDto implements Serializable { | |||
return status; | |||
} | |||
public ShortBranchIssueDto setStatus(@Nullable String s) { | |||
public PrIssueDto setStatus(@Nullable String s) { | |||
this.status = s; | |||
return this; | |||
} | |||
@@ -106,7 +106,7 @@ public final class ShortBranchIssueDto implements Serializable { | |||
return checksum; | |||
} | |||
public ShortBranchIssueDto setChecksum(@Nullable String s) { | |||
public PrIssueDto setChecksum(@Nullable String s) { | |||
this.checksum = s; | |||
return this; | |||
} | |||
@@ -127,7 +127,7 @@ public final class ShortBranchIssueDto implements Serializable { | |||
return issueUpdateDate; | |||
} | |||
public ShortBranchIssueDto setIssueUpdateDate(Long issueUpdateDate) { | |||
public PrIssueDto setIssueUpdateDate(Long issueUpdateDate) { | |||
this.issueUpdateDate = issueUpdateDate; | |||
return this; | |||
} |
@@ -289,7 +289,7 @@ | |||
and i.updated_at <> #{updatedAt,jdbcType=BIGINT} | |||
</select> | |||
<select id="selectOpenByComponentUuids" parameterType="map" resultType="ShortBranchIssue"> | |||
<select id="selectOpenByComponentUuids" parameterType="map" resultType="PrIssue"> | |||
select | |||
i.kee as kee, | |||
i.message as message, |
@@ -225,7 +225,7 @@ public class IssueDaoTest { | |||
ComponentDto file = db.components().insertComponent(newFileDto(projectBranch)); | |||
IssueDto fpIssue = db.issues().insert(rule, projectBranch, file, i -> i.setStatus("RESOLVED").setResolution("FALSE-POSITIVE")); | |||
ShortBranchIssueDto fp = underTest.selectOpenByComponentUuids(db.getSession(), Collections.singletonList(file.uuid())).get(0); | |||
PrIssueDto fp = underTest.selectOpenByComponentUuids(db.getSession(), Collections.singletonList(file.uuid())).get(0); | |||
assertThat(fp.getLine()).isEqualTo(fpIssue.getLine()); | |||
assertThat(fp.getMessage()).isEqualTo(fpIssue.getMessage()); | |||
assertThat(fp.getChecksum()).isEqualTo(fpIssue.getChecksum()); |
@@ -25,9 +25,6 @@ import org.junit.rules.ExpectedException; | |||
import static com.google.common.base.Strings.repeat; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.sonar.api.measures.Metric.ValueType.DATA; | |||
import static org.sonar.api.measures.Metric.ValueType.INT; | |||
import static org.sonar.api.measures.Metric.ValueType.STRING; | |||
public class MetricDtoTest { | |||
@Rule |
@@ -31,7 +31,6 @@ import org.sonar.api.web.UserRole; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.organization.OrganizationDto; | |||
import org.sonar.db.permission.PermissionQuery; | |||
import org.sonar.db.user.GroupDto; | |||
import org.sonar.db.user.UserDto; | |||
@@ -19,7 +19,6 @@ | |||
*/ | |||
package org.sonar.db.rule; | |||
import com.hazelcast.map.impl.querycache.accumulator.Accumulator; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.Collections; |
@@ -19,7 +19,6 @@ | |||
*/ | |||
package org.sonar.db.user; | |||
import com.tngtech.java.junit.dataprovider.DataProvider; | |||
import com.tngtech.java.junit.dataprovider.DataProviderRunner; | |||
import java.util.ArrayList; | |||
import java.util.Collection; | |||
@@ -28,9 +27,9 @@ import java.util.List; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.junit.runner.RunWith; | |||
import org.sonar.api.impl.utils.TestSystem2; | |||
import org.sonar.api.user.UserQuery; | |||
import org.sonar.api.utils.DateUtils; | |||
import org.sonar.api.impl.utils.TestSystem2; | |||
import org.sonar.db.DatabaseUtils; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; |
@@ -25,8 +25,6 @@ import javax.annotation.Nullable; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.newcodeperiod.NewCodePeriodDto; | |||
import org.sonar.db.newcodeperiod.NewCodePeriodType; | |||
import org.sonar.db.organization.OrganizationDto; | |||
import static com.google.common.base.Preconditions.checkArgument; |
@@ -20,7 +20,6 @@ | |||
package org.sonar.server.platform.db.migration.version.v80; | |||
import java.sql.SQLException; | |||
import java.time.Instant; | |||
import java.time.LocalDate; | |||
import java.time.ZoneId; | |||
import java.util.Map; |
@@ -23,7 +23,6 @@ import java.io.File; | |||
import java.io.IOException; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
import java.util.Properties; | |||
import java.util.Random; | |||
import java.util.stream.Collectors; | |||
import java.util.stream.IntStream; |
@@ -23,7 +23,6 @@ import java.io.InputStream; | |||
import org.apache.commons.io.IOUtils; | |||
import org.junit.Test; | |||
import org.slf4j.Logger; | |||
import org.sonar.application.process.StreamGobbler; | |||
import static org.mockito.Mockito.mock; | |||
import static org.mockito.Mockito.verify; |
@@ -22,8 +22,6 @@ package org.sonar.server.issue.workflow; | |||
import org.junit.Test; | |||
import org.mockito.Mockito; | |||
import org.sonar.api.issue.Issue; | |||
import org.sonar.server.issue.workflow.Condition; | |||
import org.sonar.server.issue.workflow.NotCondition; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.mockito.ArgumentMatchers.any; |
@@ -23,9 +23,6 @@ import org.junit.After; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.junit.rules.ExpectedException; | |||
import org.sonar.server.setting.DatabaseSettingLoader; | |||
import org.sonar.server.setting.DatabaseSettingsEnabler; | |||
import org.sonar.server.setting.ThreadLocalSettings; | |||
import static org.mockito.Mockito.mock; | |||
import static org.mockito.Mockito.verify; |
@@ -30,7 +30,7 @@ public class BranchTest { | |||
@Rule | |||
public ExpectedException expectedException = ExpectedException.none(); | |||
private Branch underTest = new Branch(true, "b", Branch.Type.SHORT); | |||
private Branch underTest = new Branch(true, "b", Branch.Type.LONG); | |||
@Test | |||
public void constructor_throws_NPE_if_type_is_null() { | |||
@@ -44,7 +44,7 @@ public class BranchTest { | |||
public void verify_getters() { | |||
assertThat(underTest.isMain()).isTrue(); | |||
assertThat(underTest.getName()).contains("b"); | |||
assertThat(underTest.getType()).isEqualTo(Branch.Type.SHORT); | |||
assertThat(underTest.getType()).isEqualTo(Branch.Type.LONG); | |||
Branch underTestWithNull = new Branch(false, null, Branch.Type.LONG); |
@@ -39,7 +39,7 @@ public class ProjectAnalysisTest { | |||
private final CeTask ceTask = new CeTask("id", CeTask.Status.SUCCESS); | |||
private final Project project = new Project("uuid", "key", "name"); | |||
private final Analysis analysis = new Analysis("analysis_uuid", 1_500L, "sha1"); | |||
private final Branch branch = new Branch(true, "name", Branch.Type.SHORT); | |||
private final Branch branch = new Branch(true, "name", Branch.Type.LONG); | |||
private final EvaluatedQualityGate qualityGate = EvaluatedQualityGate.newBuilder() | |||
.setQualityGate(new QualityGate("id", "name", emptySet())) | |||
.setStatus(Metric.Level.ERROR) | |||
@@ -105,7 +105,7 @@ public class ProjectAnalysisTest { | |||
assertThat(underTest).isNotEqualTo(new ProjectAnalysis(project, ceTask, null, null, qualityGate, 1L, properties)); | |||
assertThat(underTest).isNotEqualTo(new ProjectAnalysis(project, ceTask, new Analysis("foo", 1_500L, "sha1"), null, qualityGate, 1L, properties)); | |||
assertThat(underTest).isNotEqualTo(new ProjectAnalysis(project, ceTask, analysis, null, qualityGate, 1L, properties)); | |||
assertThat(underTest).isNotEqualTo(new ProjectAnalysis(project, ceTask, analysis, new Branch(false, "B", Branch.Type.SHORT), qualityGate, 1L, properties)); | |||
assertThat(underTest).isNotEqualTo(new ProjectAnalysis(project, ceTask, analysis, new Branch(false, "B", Branch.Type.LONG), qualityGate, 1L, properties)); | |||
assertThat(underTest).isNotEqualTo(new ProjectAnalysis(project, ceTask, analysis, branch, null, 1L, properties)); | |||
EvaluatedQualityGate otherQualityGate = EvaluatedQualityGate.newBuilder() | |||
.setQualityGate(new QualityGate("A", "B", emptySet())) |
@@ -23,7 +23,6 @@ import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.junit.rules.ExpectedException; | |||
import org.sonar.core.platform.ComponentContainer; | |||
import org.sonar.server.webhook.WebhookModule; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.sonar.core.platform.ComponentContainer.COMPONENTS_IN_EMPTY_COMPONENT_CONTAINER; |
@@ -231,23 +231,6 @@ public class WebhookPayloadFactoryImplTest { | |||
"}"); | |||
} | |||
@Test | |||
public void create_payload_on_short_branch() { | |||
CeTask task = new CeTask("#1", CeTask.Status.SUCCESS); | |||
ProjectAnalysis analysis = newAnalysis(task, null, new Branch(false, "feature/foo", Branch.Type.SHORT), 1_500_000_000_000L, emptyMap()); | |||
WebhookPayload payload = underTest.create(analysis); | |||
assertJson(payload.getJson()) | |||
.isSimilarTo("{" + | |||
"\"branch\": {" + | |||
" \"name\": \"feature/foo\"," + | |||
" \"type\": \"SHORT\"," + | |||
" \"isMain\": false," + | |||
" \"url\": \"http://foo/dashboard?id=P1&branch=feature%2Ffoo\"" + | |||
"}" + | |||
"}"); | |||
} | |||
@Test | |||
public void create_payload_on_pull_request() { | |||
CeTask task = new CeTask("#1", CeTask.Status.SUCCESS); |
@@ -40,7 +40,6 @@ import org.sonar.server.authentication.CredentialsLocalAuthentication; | |||
import org.sonar.server.es.EsTester; | |||
import org.sonar.server.exceptions.BadRequestException; | |||
import org.sonar.server.organization.DefaultOrganizationProvider; | |||
import org.sonar.server.organization.OrganizationUpdater; | |||
import org.sonar.server.organization.TestDefaultOrganizationProvider; | |||
import org.sonar.server.organization.TestOrganizationFlags; | |||
import org.sonar.server.user.index.UserIndexDefinition; |
@@ -22,10 +22,8 @@ package org.sonar.server.platform.db.migration; | |||
import java.util.Collection; | |||
import java.util.List; | |||
import java.util.concurrent.Callable; | |||
import java.util.concurrent.ExecutionException; | |||
import java.util.concurrent.Future; | |||
import java.util.concurrent.TimeUnit; | |||
import java.util.concurrent.TimeoutException; | |||
/** | |||
* Adaptor for the DatabaseMigrationExecutorService interface which implementation of methods all throw |
@@ -68,7 +68,7 @@ public class Duplication { | |||
/** | |||
* can be null if the file wasn't found in DB. This can happen if the target was removed (cross-project duplications) or | |||
* if the target refers to an unchanged file in SLBs/PRs. | |||
* if the target refers to an unchanged file in PRs. | |||
*/ | |||
@CheckForNull | |||
public ComponentDto componentDto() { |
@@ -73,7 +73,7 @@ public class DuplicationsParser { | |||
String componentDbKey = bCursor.getAttrValue("r"); | |||
if (from != null && size != null && componentDbKey != null) { | |||
if (disableLink) { | |||
// flag means that the target refers to an unchanged file in SLBs/PRs that doesn't exist in DB. | |||
// flag means that the target refers to an unchanged file in PRs that doesn't exist in DB. | |||
// Display as text without a link or other details. | |||
duplications.add(Duplication.newTextComponent(componentDbKey, Integer.valueOf(from), Integer.valueOf(size))); | |||
} else { |
@@ -123,7 +123,7 @@ public class LiveMeasureComputerImpl implements LiveMeasureComputer { | |||
components.forEach(c -> { | |||
IssueCounter issueCounter = new IssueCounter(dbClient.issueDao().selectIssueGroupsByBaseComponent(dbSession, c, beginningOfLeak)); | |||
for (IssueMetricFormula formula : formulaFactory.getFormulas()) { | |||
// use formulas when the leak period is defined, it's a PR/SLB, or the formula is not about the leak period | |||
// use formulas when the leak period is defined, it's a PR, or the formula is not about the leak period | |||
if (shouldUseLeakFormulas(lastAnalysis.get(), branch) || !formula.isOnLeak()) { | |||
context.change(c, formula); | |||
try { |
@@ -23,7 +23,6 @@ import com.google.common.collect.Table; | |||
import java.util.function.Predicate; | |||
import javax.annotation.Nonnull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.db.component.ComponentDto; | |||
import org.sonar.db.metric.MetricDto; | |||
@@ -24,7 +24,6 @@ import java.util.List; | |||
import java.util.Map; | |||
import java.util.Set; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.server.ws.Change; | |||
import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
@@ -44,7 +43,6 @@ import org.sonar.server.user.UserSession; | |||
import org.sonarqube.ws.Projects.SearchWsResponse; | |||
import static com.google.common.base.Preconditions.checkArgument; | |||
import static java.lang.String.format; | |||
import static java.util.Optional.ofNullable; | |||
import static java.util.function.Function.identity; | |||
import static org.sonar.api.resources.Qualifiers.APP; | |||
@@ -52,8 +50,6 @@ import static org.sonar.api.resources.Qualifiers.PROJECT; | |||
import static org.sonar.api.resources.Qualifiers.VIEW; | |||
import static org.sonar.api.utils.DateUtils.formatDateTime; | |||
import static org.sonar.api.utils.DateUtils.parseDateOrDateTime; | |||
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_01; | |||
import static org.sonar.core.util.Uuids.UUID_EXAMPLE_02; | |||
import static org.sonar.server.project.Visibility.PRIVATE; | |||
import static org.sonar.server.project.Visibility.PUBLIC; | |||
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001; | |||
@@ -67,7 +63,6 @@ import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_ANALYZE | |||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_ON_PROVISIONED_ONLY; | |||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_ORGANIZATION; | |||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_PROJECTS; | |||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_PROJECT_IDS; | |||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_QUALIFIERS; | |||
import static org.sonarqube.ws.client.project.ProjectsWsParameters.PARAM_VISIBILITY; | |||
@@ -27,7 +27,6 @@ import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.measures.CoreMetrics; | |||
import org.sonar.api.resources.Qualifiers; | |||
import org.sonar.api.server.ws.Change; | |||
import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; |
@@ -22,9 +22,7 @@ package org.sonar.server.projectanalysis.ws; | |||
import com.google.common.collect.ImmutableSet; | |||
import java.util.EnumSet; | |||
import java.util.List; | |||
import java.util.Optional; | |||
import java.util.Set; | |||
import javax.annotation.Nullable; | |||
import org.sonar.api.resources.Qualifiers; | |||
import org.sonar.api.resources.Scopes; | |||
import org.sonar.api.server.ws.Change; | |||
@@ -36,8 +34,6 @@ import org.sonar.api.web.UserRole; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.BranchDao; | |||
import org.sonar.db.component.BranchDto; | |||
import org.sonar.db.component.BranchType; | |||
import org.sonar.db.component.ComponentDto; | |||
import org.sonar.db.component.SnapshotDto; | |||
import org.sonar.db.component.SnapshotQuery; |
@@ -29,7 +29,6 @@ import org.sonar.core.util.Uuids; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.component.BranchDto; | |||
import org.sonar.db.component.BranchType; | |||
import org.sonar.db.component.ComponentDto; | |||
import org.sonar.db.component.SnapshotDto; | |||
import org.sonar.db.newcodeperiod.NewCodePeriodDto; |