Skip to content

Commit

Permalink
SONAR-10088 Replace id by dto when creating condition
Browse files Browse the repository at this point in the history
  • Loading branch information
julienlancelot authored and ehartmann committed Dec 4, 2017
1 parent 0bcf71b commit fb63d5d
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 65 deletions.
Expand Up @@ -58,14 +58,13 @@ public QualityGateConditionsUpdater(DbClient dbClient) {
this.dbClient = dbClient; this.dbClient = dbClient;
} }


public QualityGateConditionDto createCondition(DbSession dbSession, long qGateId, String metricKey, String operator, public QualityGateConditionDto createCondition(DbSession dbSession, QualityGateDto qualityGate, String metricKey, String operator,
@Nullable String warningThreshold, @Nullable String errorThreshold, @Nullable Integer period) { @Nullable String warningThreshold, @Nullable String errorThreshold, @Nullable Integer period) {
getNonNullQgate(dbSession, qGateId);
MetricDto metric = getNonNullMetric(dbSession, metricKey); MetricDto metric = getNonNullMetric(dbSession, metricKey);
validateCondition(metric, operator, warningThreshold, errorThreshold, period); validateCondition(metric, operator, warningThreshold, errorThreshold, period);
checkConditionDoesNotAlreadyExistOnSameMetricAndPeriod(getConditions(dbSession, qGateId, null), metric, period); checkConditionDoesNotAlreadyExistOnSameMetricAndPeriod(getConditions(dbSession, qualityGate.getId(), null), metric, period);


QualityGateConditionDto newCondition = new QualityGateConditionDto().setQualityGateId(qGateId) QualityGateConditionDto newCondition = new QualityGateConditionDto().setQualityGateId(qualityGate.getId())
.setMetricId(metric.getId()).setMetricKey(metric.getKey()) .setMetricId(metric.getId()).setMetricKey(metric.getKey())
.setOperator(operator) .setOperator(operator)
.setWarningThreshold(warningThreshold) .setWarningThreshold(warningThreshold)
Expand All @@ -92,14 +91,6 @@ public QualityGateConditionDto updateCondition(DbSession dbSession, QualityGateC
return condition; return condition;
} }


private QualityGateDto getNonNullQgate(DbSession dbSession, long id) {
QualityGateDto qGate = dbClient.qualityGateDao().selectById(dbSession, id);
if (qGate == null) {
throw new NotFoundException(format("There is no quality gate with id=%s", id));
}
return qGate;
}

private MetricDto getNonNullMetric(DbSession dbSession, String metricKey) { private MetricDto getNonNullMetric(DbSession dbSession, String metricKey) {
MetricDto metric = dbClient.metricDao().selectByKey(dbSession, metricKey); MetricDto metric = dbClient.metricDao().selectByKey(dbSession, metricKey);
if (metric == null) { if (metric == null) {
Expand Down
Expand Up @@ -63,8 +63,7 @@ public class RegisterQualityGates implements Startable {
new QualityGateCondition().setMetricKey(NEW_RELIABILITY_RATING_KEY).setOperator(OPERATOR_GREATER_THAN).setPeriod(LEAK_PERIOD).setErrorThreshold(A_RATING), new QualityGateCondition().setMetricKey(NEW_RELIABILITY_RATING_KEY).setOperator(OPERATOR_GREATER_THAN).setPeriod(LEAK_PERIOD).setErrorThreshold(A_RATING),
new QualityGateCondition().setMetricKey(NEW_MAINTAINABILITY_RATING_KEY).setOperator(OPERATOR_GREATER_THAN).setPeriod(LEAK_PERIOD).setErrorThreshold(A_RATING), new QualityGateCondition().setMetricKey(NEW_MAINTAINABILITY_RATING_KEY).setOperator(OPERATOR_GREATER_THAN).setPeriod(LEAK_PERIOD).setErrorThreshold(A_RATING),
new QualityGateCondition().setMetricKey(NEW_COVERAGE_KEY).setOperator(OPERATOR_LESS_THAN).setPeriod(LEAK_PERIOD).setErrorThreshold("80"), new QualityGateCondition().setMetricKey(NEW_COVERAGE_KEY).setOperator(OPERATOR_LESS_THAN).setPeriod(LEAK_PERIOD).setErrorThreshold("80"),
new QualityGateCondition().setMetricKey(NEW_DUPLICATED_LINES_DENSITY_KEY).setOperator(OPERATOR_GREATER_THAN).setPeriod(LEAK_PERIOD).setErrorThreshold("3") new QualityGateCondition().setMetricKey(NEW_DUPLICATED_LINES_DENSITY_KEY).setOperator(OPERATOR_GREATER_THAN).setPeriod(LEAK_PERIOD).setErrorThreshold("3"));
);


private final DbClient dbClient; private final DbClient dbClient;
private final QualityGateConditionsUpdater qualityGateConditionsUpdater; private final QualityGateConditionsUpdater qualityGateConditionsUpdater;
Expand Down Expand Up @@ -138,10 +137,8 @@ private void updateQualityConditionsIfRequired(DbSession dbSession, QualityGateD
List<QualityGateCondition> qgConditionsToBeCreated = new ArrayList<>(QUALITY_GATE_CONDITIONS); List<QualityGateCondition> qgConditionsToBeCreated = new ArrayList<>(QUALITY_GATE_CONDITIONS);
qgConditionsToBeCreated.removeAll(qualityGateConditions); qgConditionsToBeCreated.removeAll(qualityGateConditions);
qgConditionsToBeCreated.stream() qgConditionsToBeCreated.stream()
.forEach(qgc -> .forEach(qgc -> qualityGateConditionsUpdater.createCondition(dbSession, builtin, qgc.getMetricKey(), qgc.getOperator(), qgc.getWarningThreshold(),
qualityGateConditionsUpdater.createCondition(dbSession, builtin.getId(), qgc.getMetricKey(), qgc.getOperator(), qgc.getWarningThreshold(), qgc.getErrorThreshold(), qgc.getPeriod()));
qgc.getErrorThreshold(), qgc.getPeriod())
);


if (!qgConditionsToBeCreated.isEmpty() || !qgConditionsToBeDeleted.isEmpty()) { if (!qgConditionsToBeCreated.isEmpty() || !qgConditionsToBeDeleted.isEmpty()) {
LOGGER.info("Built-in quality gate's conditions of [{}] has been updated", BUILTIN_QUALITY_GATE_NAME); LOGGER.info("Built-in quality gate's conditions of [{}] has been updated", BUILTIN_QUALITY_GATE_NAME);
Expand Down
Expand Up @@ -26,8 +26,10 @@
import org.sonar.db.DbSession; import org.sonar.db.DbSession;
import org.sonar.db.permission.OrganizationPermission; import org.sonar.db.permission.OrganizationPermission;
import org.sonar.db.qualitygate.QualityGateConditionDto; import org.sonar.db.qualitygate.QualityGateConditionDto;
import org.sonar.db.qualitygate.QualityGateDto;
import org.sonar.server.organization.DefaultOrganizationProvider; import org.sonar.server.organization.DefaultOrganizationProvider;
import org.sonar.server.qualitygate.QualityGateConditionsUpdater; import org.sonar.server.qualitygate.QualityGateConditionsUpdater;
import org.sonar.server.qualitygate.QualityGateFinder;
import org.sonar.server.user.UserSession; import org.sonar.server.user.UserSession;
import org.sonarqube.ws.Qualitygates.CreateConditionResponse; import org.sonarqube.ws.Qualitygates.CreateConditionResponse;


Expand All @@ -48,13 +50,15 @@ public class CreateConditionAction implements QualityGatesWsAction {
private final DbClient dbClient; private final DbClient dbClient;
private final QualityGateConditionsUpdater qualityGateConditionsUpdater; private final QualityGateConditionsUpdater qualityGateConditionsUpdater;
private final DefaultOrganizationProvider defaultOrganizationProvider; private final DefaultOrganizationProvider defaultOrganizationProvider;
private final QualityGateFinder qualityGateFinder;


public CreateConditionAction(UserSession userSession, DbClient dbClient, QualityGateConditionsUpdater qualityGateConditionsUpdater, public CreateConditionAction(UserSession userSession, DbClient dbClient, QualityGateConditionsUpdater qualityGateConditionsUpdater,
DefaultOrganizationProvider defaultOrganizationProvider) { DefaultOrganizationProvider defaultOrganizationProvider, QualityGateFinder qualityGateFinder) {
this.userSession = userSession; this.userSession = userSession;
this.dbClient = dbClient; this.dbClient = dbClient;
this.qualityGateConditionsUpdater = qualityGateConditionsUpdater; this.qualityGateConditionsUpdater = qualityGateConditionsUpdater;
this.defaultOrganizationProvider = defaultOrganizationProvider; this.defaultOrganizationProvider = defaultOrganizationProvider;
this.qualityGateFinder = qualityGateFinder;
} }


@Override @Override
Expand Down Expand Up @@ -88,8 +92,8 @@ public void handle(Request request, Response response) {
Integer period = request.paramAsInt(PARAM_PERIOD); Integer period = request.paramAsInt(PARAM_PERIOD);


try (DbSession dbSession = dbClient.openSession(false)) { try (DbSession dbSession = dbClient.openSession(false)) {
QualityGateConditionDto condition = qualityGateConditionsUpdater.createCondition(dbSession, gateId, metric, operator, warning, error, period); QualityGateDto qualityGate = qualityGateFinder.getById(dbSession, gateId);

QualityGateConditionDto condition = qualityGateConditionsUpdater.createCondition(dbSession, qualityGate, metric, operator, warning, error, period);
CreateConditionResponse.Builder createConditionResponse = CreateConditionResponse.newBuilder() CreateConditionResponse.Builder createConditionResponse = CreateConditionResponse.newBuilder()
.setId(condition.getId()) .setId(condition.getId())
.setMetric(condition.getMetricKey()) .setMetric(condition.getMetricKey())
Expand Down
Expand Up @@ -85,7 +85,7 @@ public void setUp() throws Exception {


@Test @Test
public void create_warning_condition_without_period() { public void create_warning_condition_without_period() {
QualityGateConditionDto result = underTest.createCondition(dbSession, qualityGateDto.getId(), "coverage", "LT", "90", null, null); QualityGateConditionDto result = underTest.createCondition(dbSession, qualityGateDto, "coverage", "LT", "90", null, null);


verifyCondition(result, coverageMetricDto.getId(), "LT", "90", null, null); verifyCondition(result, coverageMetricDto.getId(), "LT", "90", null, null);
} }
Expand All @@ -98,7 +98,7 @@ public void create_error_condition_with_period() {
.setHidden(false)); .setHidden(false));
dbSession.commit(); dbSession.commit();


QualityGateConditionDto result = underTest.createCondition(dbSession, qualityGateDto.getId(), "new_coverage", "LT", null, "80", 1); QualityGateConditionDto result = underTest.createCondition(dbSession, qualityGateDto, "new_coverage", "LT", null, "80", 1);


verifyCondition(result, metricDto.getId(), "LT", null, "80", 1); verifyCondition(result, metricDto.getId(), "LT", null, "80", 1);
} }
Expand All @@ -113,7 +113,7 @@ public void fail_to_create_condition_when_condition_on_same_metric_already_exist


expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("Condition on metric 'Coverage' already exists."); expectedException.expectMessage("Condition on metric 'Coverage' already exists.");
underTest.createCondition(dbSession, qualityGateDto.getId(), coverageMetricDto.getKey(), "LT", "90", null, null); underTest.createCondition(dbSession, qualityGateDto, coverageMetricDto.getKey(), "LT", "90", null, null);
} }


@Test @Test
Expand All @@ -126,14 +126,14 @@ public void fail_to_create_condition_when_condition_on_same_metric_and_on_leak_p


expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("Condition on metric 'Coverage' over leak period already exists."); expectedException.expectMessage("Condition on metric 'Coverage' over leak period already exists.");
underTest.createCondition(dbSession, qualityGateDto.getId(), coverageMetricDto.getKey(), "LT", "90", null, 1); underTest.createCondition(dbSession, qualityGateDto, coverageMetricDto.getKey(), "LT", "90", null, 1);
} }


@Test @Test
public void fail_to_create_condition_on_missing_metric() { public void fail_to_create_condition_on_missing_metric() {
expectedException.expect(NotFoundException.class); expectedException.expect(NotFoundException.class);
expectedException.expectMessage("There is no metric with key=new_coverage"); expectedException.expectMessage("There is no metric with key=new_coverage");
underTest.createCondition(dbSession, qualityGateDto.getId(), "new_coverage", "LT", null, "80", 2); underTest.createCondition(dbSession, qualityGateDto, "new_coverage", "LT", null, "80", 2);
} }


@Test @Test
Expand All @@ -147,14 +147,14 @@ public void fail_to_create_condition_on_invalid_metric(String metricKey, Metric.


expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("Metric '" + metricKey + "' cannot be used to define a condition."); expectedException.expectMessage("Metric '" + metricKey + "' cannot be used to define a condition.");
underTest.createCondition(dbSession, qualityGateDto.getId(), metricKey, "EQ", null, "80", null); underTest.createCondition(dbSession, qualityGateDto, metricKey, "EQ", null, "80", null);
} }


@Test @Test
public void fail_to_create_condition_on_not_allowed_operator() { public void fail_to_create_condition_on_not_allowed_operator() {
expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("Operator UNKNOWN is not allowed for metric type PERCENT."); expectedException.expectMessage("Operator UNKNOWN is not allowed for metric type PERCENT.");
underTest.createCondition(dbSession, qualityGateDto.getId(), "coverage", "UNKNOWN", null, "80", 2); underTest.createCondition(dbSession, qualityGateDto, "coverage", "UNKNOWN", null, "80", 2);
} }


@Test @Test
Expand All @@ -167,19 +167,19 @@ public void fail_to_create_condition_on_missing_period() {


expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("A period must be selected for differential metrics."); expectedException.expectMessage("A period must be selected for differential metrics.");
underTest.createCondition(dbSession, qualityGateDto.getId(), "new_coverage", "EQ", null, "90", null); underTest.createCondition(dbSession, qualityGateDto, "new_coverage", "EQ", null, "90", null);
} }


@Test @Test
public void fail_to_create_condition_on_invalid_period() { public void fail_to_create_condition_on_invalid_period() {
expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("The only valid quality gate period is 1, the leak period."); expectedException.expectMessage("The only valid quality gate period is 1, the leak period.");
underTest.createCondition(dbSession, qualityGateDto.getId(), "coverage", "EQ", null, "90", 6); underTest.createCondition(dbSession, qualityGateDto, "coverage", "EQ", null, "90", 6);
} }


@Test @Test
public void create_condition_on_rating_metric() { public void create_condition_on_rating_metric() {
QualityGateConditionDto result = underTest.createCondition(dbSession, qualityGateDto.getId(), ratingMetricDto.getKey(), "GT", null, "3", null); QualityGateConditionDto result = underTest.createCondition(dbSession, qualityGateDto, ratingMetricDto.getKey(), "GT", null, "3", null);


verifyCondition(result, ratingMetricDto.getId(), "GT", null, "3", null); verifyCondition(result, ratingMetricDto.getId(), "GT", null, "3", null);
} }
Expand All @@ -188,28 +188,28 @@ public void create_condition_on_rating_metric() {
public void fail_to_create_condition_on_rating_metric_on_leak_period() { public void fail_to_create_condition_on_rating_metric_on_leak_period() {
expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("The metric 'Reliability Rating' cannot be used on the leak period"); expectedException.expectMessage("The metric 'Reliability Rating' cannot be used on the leak period");
underTest.createCondition(dbSession, qualityGateDto.getId(), ratingMetricDto.getKey(), "GT", null, "3", 1); underTest.createCondition(dbSession, qualityGateDto, ratingMetricDto.getKey(), "GT", null, "3", 1);
} }


@Test @Test
public void fail_to_create_warning_condition_on_invalid_rating_metric() { public void fail_to_create_warning_condition_on_invalid_rating_metric() {
expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("'6' is not a valid rating"); expectedException.expectMessage("'6' is not a valid rating");
underTest.createCondition(dbSession, qualityGateDto.getId(), ratingMetricDto.getKey(), "GT", "6", null, null); underTest.createCondition(dbSession, qualityGateDto, ratingMetricDto.getKey(), "GT", "6", null, null);
} }


@Test @Test
public void fail_to_create_error_condition_on_invalid_rating_metric() { public void fail_to_create_error_condition_on_invalid_rating_metric() {
expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("'80' is not a valid rating"); expectedException.expectMessage("'80' is not a valid rating");
underTest.createCondition(dbSession, qualityGateDto.getId(), ratingMetricDto.getKey(), "GT", null, "80", null); underTest.createCondition(dbSession, qualityGateDto, ratingMetricDto.getKey(), "GT", null, "80", null);
} }


@Test @Test
public void fail_to_create_condition_on_greater_than_E() { public void fail_to_create_condition_on_greater_than_E() {
expectedException.expect(BadRequestException.class); expectedException.expect(BadRequestException.class);
expectedException.expectMessage("There's no worse rating than E (5)"); expectedException.expectMessage("There's no worse rating than E (5)");
underTest.createCondition(dbSession, qualityGateDto.getId(), ratingMetricDto.getKey(), "GT", "5", null, null); underTest.createCondition(dbSession, qualityGateDto, ratingMetricDto.getKey(), "GT", "5", null, null);
} }


@Test @Test
Expand Down
Expand Up @@ -123,7 +123,7 @@ public void upgrade_should_remove_deleted_condition() {
createBuiltInConditions(builtin); createBuiltInConditions(builtin);


// Add another condition // Add another condition
qualityGateConditionsUpdater.createCondition(dbSession, builtin.getId(), qualityGateConditionsUpdater.createCondition(dbSession, builtin,
NEW_SECURITY_REMEDIATION_EFFORT_KEY, OPERATOR_GREATER_THAN, null, "5", LEAK_PERIOD); NEW_SECURITY_REMEDIATION_EFFORT_KEY, OPERATOR_GREATER_THAN, null, "5", LEAK_PERIOD);


dbSession.commit(); dbSession.commit();
Expand Down Expand Up @@ -301,15 +301,15 @@ private void verifyCorrectBuiltInQualityGate() {
private List<QualityGateConditionDto> createBuiltInConditions(QualityGateDto builtin) { private List<QualityGateConditionDto> createBuiltInConditions(QualityGateDto builtin) {
List<QualityGateConditionDto> conditions = new ArrayList<>(); List<QualityGateConditionDto> conditions = new ArrayList<>();


conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin.getId(), conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin,
NEW_SECURITY_RATING_KEY, OPERATOR_GREATER_THAN, null, "1", LEAK_PERIOD)); NEW_SECURITY_RATING_KEY, OPERATOR_GREATER_THAN, null, "1", LEAK_PERIOD));
conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin.getId(), conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin,
NEW_RELIABILITY_RATING_KEY, OPERATOR_GREATER_THAN, null, "1", LEAK_PERIOD)); NEW_RELIABILITY_RATING_KEY, OPERATOR_GREATER_THAN, null, "1", LEAK_PERIOD));
conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin.getId(), conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin,
NEW_MAINTAINABILITY_RATING_KEY, OPERATOR_GREATER_THAN, null, "1", LEAK_PERIOD)); NEW_MAINTAINABILITY_RATING_KEY, OPERATOR_GREATER_THAN, null, "1", LEAK_PERIOD));
conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin.getId(), conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin,
NEW_COVERAGE_KEY, OPERATOR_LESS_THAN, null, "80", LEAK_PERIOD)); NEW_COVERAGE_KEY, OPERATOR_LESS_THAN, null, "80", LEAK_PERIOD));
conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin.getId(), conditions.add(qualityGateConditionsUpdater.createCondition(dbSession, builtin,
NEW_DUPLICATED_LINES_DENSITY_KEY, OPERATOR_GREATER_THAN, null, "3", LEAK_PERIOD)); NEW_DUPLICATED_LINES_DENSITY_KEY, OPERATOR_GREATER_THAN, null, "3", LEAK_PERIOD));


return conditions; return conditions;
Expand Down
Expand Up @@ -35,6 +35,7 @@
import org.sonar.server.exceptions.ForbiddenException; import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.organization.TestDefaultOrganizationProvider; import org.sonar.server.organization.TestDefaultOrganizationProvider;
import org.sonar.server.qualitygate.QualityGateConditionsUpdater; import org.sonar.server.qualitygate.QualityGateConditionsUpdater;
import org.sonar.server.qualitygate.QualityGateFinder;
import org.sonar.server.tester.UserSessionRule; import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.TestRequest; import org.sonar.server.ws.TestRequest;
import org.sonar.server.ws.WsActionTester; import org.sonar.server.ws.WsActionTester;
Expand Down Expand Up @@ -65,7 +66,8 @@ public class CreateConditionActionTest {
private TestDefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db); private TestDefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db);
private DbClient dbClient = db.getDbClient(); private DbClient dbClient = db.getDbClient();
private DbSession dbSession = db.getSession(); private DbSession dbSession = db.getSession();
private CreateConditionAction underTest = new CreateConditionAction(userSession, dbClient, new QualityGateConditionsUpdater(dbClient), defaultOrganizationProvider); private CreateConditionAction underTest = new CreateConditionAction(userSession, dbClient, new QualityGateConditionsUpdater(dbClient), defaultOrganizationProvider,
new QualityGateFinder(dbClient));


private WsActionTester ws = new WsActionTester(underTest); private WsActionTester ws = new WsActionTester(underTest);


Expand Down
Expand Up @@ -72,7 +72,6 @@ public void setUp() {
new CopyAction(qGates), new CopyAction(qGates),
new DestroyAction(qGates), new DestroyAction(qGates),
new SetAsDefaultAction(qGates), new SetAsDefaultAction(qGates),
new CreateConditionAction(null, null, null, null),
new DeleteConditionAction(null, null, null), new DeleteConditionAction(null, null, null),
selectAction, selectAction,
new DeselectAction(qGates, mock(DbClient.class), mock(ComponentFinder.class)))); new DeselectAction(qGates, mock(DbClient.class), mock(ComponentFinder.class))));
Expand All @@ -84,15 +83,7 @@ public void define_ws() {
assertThat(controller).isNotNull(); assertThat(controller).isNotNull();
assertThat(controller.path()).isEqualTo("api/qualitygates"); assertThat(controller.path()).isEqualTo("api/qualitygates");
assertThat(controller.description()).isNotEmpty(); assertThat(controller.description()).isNotEmpty();
assertThat(controller.actions()).hasSize(10); assertThat(controller.actions()).hasSize(9);

Action create = controller.action("create");
assertThat(create).isNotNull();
assertThat(create.handler()).isNotNull();
assertThat(create.since()).isEqualTo("4.3");
assertThat(create.isPost()).isTrue();
assertThat(create.param("name")).isNotNull();
assertThat(create.isInternal()).isFalse();


Action copy = controller.action("copy"); Action copy = controller.action("copy");
assertThat(copy).isNotNull(); assertThat(copy).isNotNull();
Expand Down Expand Up @@ -132,19 +123,6 @@ public void define_ws() {
assertThat(unsetDefault.handler()).isEqualTo(RemovedWebServiceHandler.INSTANCE); assertThat(unsetDefault.handler()).isEqualTo(RemovedWebServiceHandler.INSTANCE);
assertThat(unsetDefault.responseExample()).isEqualTo(RemovedWebServiceHandler.INSTANCE.getResponseExample()); assertThat(unsetDefault.responseExample()).isEqualTo(RemovedWebServiceHandler.INSTANCE.getResponseExample());
assertThat(unsetDefault.isInternal()).isFalse(); assertThat(unsetDefault.isInternal()).isFalse();

Action createCondition = controller.action("create_condition");
assertThat(createCondition).isNotNull();
assertThat(createCondition.handler()).isNotNull();
assertThat(createCondition.since()).isEqualTo("4.3");
assertThat(createCondition.isPost()).isTrue();
assertThat(createCondition.param("gateId")).isNotNull();
assertThat(createCondition.param("metric")).isNotNull();
assertThat(createCondition.param("op")).isNotNull();
assertThat(createCondition.param("warning")).isNotNull();
assertThat(createCondition.param("error")).isNotNull();
assertThat(createCondition.param("period")).isNotNull();
assertThat(createCondition.isInternal()).isFalse();
} }


@Test @Test
Expand Down

0 comments on commit fb63d5d

Please sign in to comment.