diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2015-06-19 12:38:00 +0200 |
---|---|---|
committer | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2015-06-19 15:42:25 +0200 |
commit | 8efd88fe45abf50406b2d94638ba1161e88db5f1 (patch) | |
tree | 568b21285b77c0b95f7a251045d2f9f8b2d9409b /server | |
parent | 2003124958b865cbd8bb0ec7ff6fcb72e769865d (diff) | |
download | sonarqube-8efd88fe45abf50406b2d94638ba1161e88db5f1.tar.gz sonarqube-8efd88fe45abf50406b2d94638ba1161e88db5f1.zip |
add QualityGateHolderRule
Diffstat (limited to 'server')
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(); |