@Test public void create_quality_gate() { OrganizationDto organization = db.organizations().insert(); QualityGateDto result = underTest.create(dbSession, organization, QGATE_NAME); assertThat(result).isNotNull(); assertThat(result.getName()).isEqualTo(QGATE_NAME); assertThat(result.getCreatedAt()).isNotNull(); assertThat(result.isBuiltIn()).isFalse(); QualityGateDto reloaded = dbClient.qualityGateDao().selectByName(dbSession, QGATE_NAME); assertThat(reloaded).isNotNull(); }
@Test public void fail_to_create_when_name_already_exists() { OrganizationDto org = db.organizations().insert(); underTest.create(dbSession, org, QGATE_NAME); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Name has already been taken"); underTest.create(dbSession, org, QGATE_NAME); } }
@Override public void handle(Request request, Response response) { try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organizationDto = wsSupport.getOrganization(dbSession, request); userSession.checkPermission(OrganizationPermission.ADMINISTER_QUALITY_GATES, organizationDto.getUuid()); String name = request.mandatoryParam(PARAM_NAME); checkArgument(!name.isEmpty(), "The 'name' parameter is empty"); QualityGateDto newQualityGate = qualityGateUpdater.create(dbSession, organizationDto, name); CreateResponse.Builder createResponse = CreateResponse.newBuilder() .setId(newQualityGate.getId()) .setName(newQualityGate.getName()); dbSession.commit(); writeProtobuf(createResponse.build(), request, response); } } }
public QualityGateDto copy(DbSession dbSession, OrganizationDto organizationDto, QualityGateDto qualityGateDto, String destinationName) { QualityGateDto destinationGate = create(dbSession, organizationDto, destinationName); for (QualityGateConditionDto sourceCondition : dbClient.gateConditionDao().selectForQualityGate(dbSession, qualityGateDto.getId())) { dbClient.gateConditionDao().insert(new QualityGateConditionDto() .setQualityGateId(destinationGate.getId()) .setMetricId(sourceCondition.getMetricId()) .setOperator(sourceCondition.getOperator()) .setErrorThreshold(sourceCondition.getErrorThreshold()), dbSession); } return destinationGate; }
@Override public void handle(Request request, Response response) { try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organizationDto = wsSupport.getOrganization(dbSession, request); userSession.checkPermission(OrganizationPermission.ADMINISTER_QUALITY_GATES, organizationDto.getUuid()); String name = request.mandatoryParam(PARAM_NAME); checkArgument(!name.isEmpty(), "The 'name' parameter is empty"); QualityGateDto newQualityGate = qualityGateUpdater.create(dbSession, organizationDto, name); CreateResponse.Builder createResponse = CreateResponse.newBuilder() .setId(newQualityGate.getId()) .setName(newQualityGate.getName()); dbSession.commit(); writeProtobuf(createResponse.build(), request, response); } } }
public QualityGateDto copy(DbSession dbSession, OrganizationDto organizationDto, QualityGateDto qualityGateDto, String destinationName) { QualityGateDto destinationGate = create(dbSession, organizationDto, destinationName); for (QualityGateConditionDto sourceCondition : dbClient.gateConditionDao().selectForQualityGate(dbSession, qualityGateDto.getId())) { dbClient.gateConditionDao().insert(new QualityGateConditionDto().setQualityGateId(destinationGate.getId()) .setMetricId(sourceCondition.getMetricId()).setOperator(sourceCondition.getOperator()) .setWarningThreshold(sourceCondition.getWarningThreshold()).setErrorThreshold(sourceCondition.getErrorThreshold()).setPeriod(sourceCondition.getPeriod()), dbSession); } return destinationGate; }