@Test public void actions_on_default() { OrganizationDto organization = db.organizations().insert(); userSession.logIn("john").addPermission(ADMINISTER_QUALITY_GATES, organization); QGateWithOrgDto qualityGate = db.qualityGates().insertQualityGate(organization); db.qualityGates().setDefaultQualityGate(organization, qualityGate); ShowWsResponse response = ws.newRequest() .setParam("name", qualityGate.getName()) .setParam("organization", organization.getKey()) .executeProtobuf(ShowWsResponse.class); Actions actions = response.getActions(); assertThat(actions.getRename()).isTrue(); assertThat(actions.getManageConditions()).isTrue(); assertThat(actions.getDelete()).isFalse(); assertThat(actions.getCopy()).isTrue(); assertThat(actions.getSetAsDefault()).isFalse(); assertThat(actions.getAssociateProjects()).isFalse(); }
@Test public void actions_when_not_quality_gate_administer() { OrganizationDto organization = db.organizations().insert(); userSession.logIn("john").addPermission(ADMINISTER_QUALITY_PROFILES, organization); QGateWithOrgDto qualityGate = db.qualityGates().insertQualityGate(organization, qg -> qg.setBuiltIn(true)); db.qualityGates().setDefaultQualityGate(organization, qualityGate); ShowWsResponse response = ws.newRequest() .setParam("name", qualityGate.getName()) .setParam("organization", organization.getKey()) .executeProtobuf(ShowWsResponse.class); Actions actions = response.getActions(); assertThat(actions.getRename()).isFalse(); assertThat(actions.getManageConditions()).isFalse(); assertThat(actions.getDelete()).isFalse(); assertThat(actions.getCopy()).isFalse(); assertThat(actions.getSetAsDefault()).isFalse(); assertThat(actions.getAssociateProjects()).isFalse(); }
@Test public void actions() { OrganizationDto organization = db.organizations().insert(); userSession.logIn("john").addPermission(ADMINISTER_QUALITY_GATES, organization); QGateWithOrgDto qualityGate = db.qualityGates().insertQualityGate(organization); QGateWithOrgDto qualityGate2 = db.qualityGates().insertQualityGate(organization); db.qualityGates().setDefaultQualityGate(organization, qualityGate2); ShowWsResponse response = ws.newRequest() .setParam("name", qualityGate.getName()) .setParam("organization", organization.getKey()) .executeProtobuf(ShowWsResponse.class); Actions actions = response.getActions(); assertThat(actions.getRename()).isTrue(); assertThat(actions.getManageConditions()).isTrue(); assertThat(actions.getDelete()).isTrue(); assertThat(actions.getCopy()).isTrue(); assertThat(actions.getSetAsDefault()).isTrue(); assertThat(actions.getAssociateProjects()).isTrue(); }
@Test public void actions_with_quality_gate_administer_permission() { OrganizationDto organization = db.organizations().insert(); userSession.logIn("john").addPermission(ADMINISTER_QUALITY_GATES, organization); QualityGateDto defaultQualityGate = db.qualityGates().insertQualityGate(organization, qg -> qg.setName("Default").setBuiltIn(false)); QualityGateDto builtInQualityGate = db.qualityGates().insertQualityGate(organization, qg -> qg.setName("Sonar way").setBuiltIn(true)); QualityGateDto otherQualityGate = db.qualityGates().insertQualityGate(organization, qg -> qg.setName("Sonar way - Without Coverage").setBuiltIn(false)); db.qualityGates().setDefaultQualityGate(organization, defaultQualityGate); ListWsResponse response = ws.newRequest() .setParam("organization", organization.getKey()) .executeProtobuf(ListWsResponse.class); assertThat(response.getActions()) .extracting(ListWsResponse.RootActions::getCreate) .containsExactlyInAnyOrder(true); assertThat(response.getQualitygatesList()) .extracting(QualityGate::getName, qg -> qg.getActions().getRename(), qg -> qg.getActions().getDelete(), qg -> qg.getActions().getManageConditions(), qp -> qp.getActions().getCopy(), qp -> qp.getActions().getSetAsDefault(), qp -> qp.getActions().getAssociateProjects()) .containsExactlyInAnyOrder( tuple(defaultQualityGate.getName(), true, false, true, true, false, false), tuple(builtInQualityGate.getName(), false, false, false, true, true, true), tuple(otherQualityGate.getName(), true, true, true, true, true, true)); }
@Test public void actions_without_quality_gate_administer_permission() { OrganizationDto organization = db.organizations().insert(); userSession.logIn("john").addPermission(ADMINISTER_QUALITY_PROFILES, organization); QualityGateDto defaultQualityGate = db.qualityGates().insertQualityGate(organization, qg -> qg.setName("Sonar way").setBuiltIn(true)); QualityGateDto otherQualityGate = db.qualityGates().insertQualityGate(organization, qg -> qg.setName("Sonar way - Without Coverage").setBuiltIn(false)); db.qualityGates().setDefaultQualityGate(organization, defaultQualityGate); ListWsResponse response = ws.newRequest() .setParam("organization", organization.getKey()) .executeProtobuf(ListWsResponse.class); assertThat(response.getActions()) .extracting(ListWsResponse.RootActions::getCreate) .containsExactlyInAnyOrder(false); assertThat(response.getQualitygatesList()) .extracting(QualityGate::getName, qg -> qg.getActions().getRename(), qg -> qg.getActions().getDelete(), qg -> qg.getActions().getManageConditions(), qp -> qp.getActions().getCopy(), qp -> qp.getActions().getSetAsDefault(), qp -> qp.getActions().getAssociateProjects()) .containsExactlyInAnyOrder( tuple(defaultQualityGate.getName(), false, false, false, false, false, false), tuple(otherQualityGate.getName(), false, false, false, false, false, false)); }
@Test public void actions_on_built_in() { OrganizationDto organization = db.organizations().insert(); userSession.logIn("john").addPermission(ADMINISTER_QUALITY_GATES, organization); QGateWithOrgDto qualityGate = db.qualityGates().insertQualityGate(organization, qg -> qg.setBuiltIn(true)); QGateWithOrgDto qualityGate2 = db.qualityGates().insertQualityGate(organization, qg -> qg.setBuiltIn(false)); db.qualityGates().setDefaultQualityGate(organization, qualityGate2); ShowWsResponse response = ws.newRequest() .setParam("name", qualityGate.getName()) .setParam("organization", organization.getKey()) .executeProtobuf(ShowWsResponse.class); Actions actions = response.getActions(); assertThat(actions.getRename()).isFalse(); assertThat(actions.getManageConditions()).isFalse(); assertThat(actions.getDelete()).isFalse(); assertThat(actions.getCopy()).isTrue(); assertThat(actions.getSetAsDefault()).isTrue(); assertThat(actions.getAssociateProjects()).isTrue(); }