aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-06-19 12:38:00 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-06-19 15:42:25 +0200
commit8efd88fe45abf50406b2d94638ba1161e88db5f1 (patch)
tree568b21285b77c0b95f7a251045d2f9f8b2d9409b
parent2003124958b865cbd8bb0ec7ff6fcb72e769865d (diff)
downloadsonarqube-8efd88fe45abf50406b2d94638ba1161e88db5f1.tar.gz
sonarqube-8efd88fe45abf50406b2d94638ba1161e88db5f1.zip
add QualityGateHolderRule
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/qualitygate/QualityGateHolderRule.java49
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/step/QualityGateMeasuresStepTest.java6
2 files changed, 52 insertions, 3 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/qualitygate/QualityGateHolderRule.java b/server/sonar-server/src/test/java/org/sonar/server/computation/qualitygate/QualityGateHolderRule.java
new file mode 100644
index 00000000000..1d97909e8ac
--- /dev/null
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/qualitygate/QualityGateHolderRule.java
@@ -0,0 +1,49 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.computation.qualitygate;
+
+import com.google.common.base.Optional;
+import javax.annotation.Nullable;
+import org.junit.rules.ExternalResource;
+
+import static com.google.common.base.Preconditions.checkState;
+
+public class QualityGateHolderRule extends ExternalResource implements QualityGateHolder {
+ private Optional<QualityGate> qualityGate;
+
+ public void setQualityGate(@Nullable QualityGate qualityGate) {
+ this.qualityGate = Optional.fromNullable(qualityGate);
+ }
+
+ @Override
+ public Optional<QualityGate> getQualityGate() {
+ checkState(qualityGate != null, "Holder has not been initialized");
+ return qualityGate;
+ }
+
+ @Override
+ protected void after() {
+ reset();
+ }
+
+ public void reset() {
+ this.qualityGate = null;
+ }
+}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/QualityGateMeasuresStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/QualityGateMeasuresStepTest.java
index e316ad7b33a..a21099c5f37 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/QualityGateMeasuresStepTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/QualityGateMeasuresStepTest.java
@@ -42,8 +42,8 @@ import org.sonar.server.computation.metric.MetricRepository;
import org.sonar.server.computation.qualitygate.Condition;
import org.sonar.server.computation.qualitygate.EvaluationResult;
import org.sonar.server.computation.qualitygate.EvaluationResultTextConverter;
-import org.sonar.server.computation.qualitygate.MutableQualityGateHolderRule;
import org.sonar.server.computation.qualitygate.QualityGate;
+import org.sonar.server.computation.qualitygate.QualityGateHolderRule;
import static com.google.common.collect.ImmutableList.of;
import static org.mockito.Matchers.any;
@@ -66,7 +66,7 @@ public class QualityGateMeasuresStepTest {
@Rule
public TreeRootHolderRule treeRootHolder = new TreeRootHolderRule();
@Rule
- public MutableQualityGateHolderRule qualityGateHolder = new MutableQualityGateHolderRule();
+ public QualityGateHolderRule qualityGateHolder = new QualityGateHolderRule();
private static final Metric ALERT_STATUS_METRIC = mock(Metric.class);
private static final Metric QUALITY_GATE_DETAILS_METRIC = mock(Metric.class);
@@ -114,7 +114,7 @@ public class QualityGateMeasuresStepTest {
@Test
public void no_measure_if_there_is_no_qualitygate() {
- qualityGateHolder.setNoQualityGate();
+ qualityGateHolder.setQualityGate(null);
underTest.execute();