@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(); }
private void validateQualityGate(DbSession dbSession, OrganizationDto organizationDto, String name) { checkQualityGateDoesNotAlreadyExist(dbSession, organizationDto, name); }
public QualityGateDto create(DbSession dbSession, OrganizationDto organizationDto, String name) { validateQualityGate(dbSession, organizationDto, name); QualityGateDto newQualityGate = new QualityGateDto() .setName(name) .setBuiltIn(false) .setUuid(uuidFactory.create()); dbClient.qualityGateDao().insert(dbSession, newQualityGate); dbClient.qualityGateDao().associate(dbSession, uuidFactory.create(), organizationDto, newQualityGate); return newQualityGate; }
@Override public void handle(Request request, Response response) { Long id = parseId(request, PARAM_ID); String destinationName = request.mandatoryParam(PARAM_NAME); checkArgument(!destinationName.isEmpty(), "The 'name' parameter is empty"); try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = wsSupport.getOrganization(dbSession, request); userSession.checkPermission(ADMINISTER_QUALITY_GATES, organization); QualityGateDto qualityGate = wsSupport.getByOrganizationAndId(dbSession, organization, id); QualityGateDto copy = qualityGateUpdater.copy(dbSession, organization, qualityGate, destinationName); dbSession.commit(); writeProtobuf(newBuilder() .setId(copy.getId()) .setName(copy.getName()) .build(), request, response); } } }
public QualityGateDto create(DbSession dbSession, OrganizationDto organizationDto, String name) { validateQualityGate(dbSession, organizationDto, name); QualityGateDto newQualityGate = new QualityGateDto() .setName(name) .setBuiltIn(false) .setUuid(uuidFactory.create()); dbClient.qualityGateDao().insert(dbSession, newQualityGate); dbClient.qualityGateDao().associate(dbSession, uuidFactory.create(), organizationDto, newQualityGate); return newQualityGate; }
@Override public void handle(Request request, Response response) { Long id = parseId(request, PARAM_ID); String destinationName = request.mandatoryParam(PARAM_NAME); checkArgument(!destinationName.isEmpty(), "The 'name' parameter is empty"); try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = wsSupport.getOrganization(dbSession, request); userSession.checkPermission(ADMINISTER_QUALITY_GATES, organization); QualityGateDto qualityGate = qualityGateFinder.getByOrganizationAndId(dbSession, organization, id); QualityGateDto copy = qualityGateUpdater.copy(dbSession, organization, qualityGate, destinationName); dbSession.commit(); writeProtobuf(newBuilder() .setId(copy.getId()) .setName(copy.getName()) .build(), request, response); } } }
@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); } }
private void validateQualityGate(DbSession dbSession, OrganizationDto organizationDto, String name) { checkQualityGateDoesNotAlreadyExist(dbSession, organizationDto, 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; }