Search in sources :

Example 41 with SubmitRecord

use of com.google.gerrit.entities.SubmitRecord in project gerrit by GerritCodeReview.

the class SubmitRequirementsAdapterTest method customSubmitRule_noLabels_withStatusOk.

@Test
public void customSubmitRule_noLabels_withStatusOk() {
    SubmitRecord submitRecord = createSubmitRecord("gerrit~IgnoreSelfApprovalRule", Status.OK, Arrays.asList());
    List<SubmitRequirementResult> requirements = SubmitRequirementsAdapter.createResult(submitRecord, labelTypes, psCommitId, /* isForced= */
    false);
    assertThat(requirements).hasSize(1);
    assertResult(requirements.get(0), /* reqName= */
    "gerrit~IgnoreSelfApprovalRule", /* submitExpression= */
    "rule:gerrit~IgnoreSelfApprovalRule", SubmitRequirementResult.Status.SATISFIED, SubmitRequirementExpressionResult.Status.PASS);
}
Also used : SubmitRecord(com.google.gerrit.entities.SubmitRecord) SubmitRequirementResult(com.google.gerrit.entities.SubmitRequirementResult) Test(org.junit.Test)

Example 42 with SubmitRecord

use of com.google.gerrit.entities.SubmitRecord in project gerrit by GerritCodeReview.

the class SubmitRequirementsAdapterTest method customSubmitRule_withMixOfPassingAndFailingLabels.

@Test
public void customSubmitRule_withMixOfPassingAndFailingLabels() {
    SubmitRecord submitRecord = createSubmitRecord("gerrit~PrologRule", Status.NOT_READY, Arrays.asList(createLabel("custom-label-1", Label.Status.OK), createLabel("custom-label-2", Label.Status.REJECT)));
    List<SubmitRequirementResult> requirements = SubmitRequirementsAdapter.createResult(submitRecord, labelTypes, psCommitId, /* isForced= */
    false);
    assertThat(requirements).hasSize(2);
    assertResult(requirements.get(0), /* reqName= */
    "custom-label-1", /* submitExpression= */
    "label:custom-label-1=gerrit~PrologRule", SubmitRequirementResult.Status.SATISFIED, SubmitRequirementExpressionResult.Status.PASS);
    assertResult(requirements.get(1), /* reqName= */
    "custom-label-2", /* submitExpression= */
    "label:custom-label-2=gerrit~PrologRule", SubmitRequirementResult.Status.UNSATISFIED, SubmitRequirementExpressionResult.Status.FAIL);
}
Also used : SubmitRecord(com.google.gerrit.entities.SubmitRecord) SubmitRequirementResult(com.google.gerrit.entities.SubmitRequirementResult) Test(org.junit.Test)

Example 43 with SubmitRecord

use of com.google.gerrit.entities.SubmitRecord in project gerrit by GerritCodeReview.

the class SubmitRequirementsAdapterTest method customSubmitRule_noLabels_withStatusNotReady.

@Test
public void customSubmitRule_noLabels_withStatusNotReady() {
    SubmitRecord submitRecord = createSubmitRecord("gerrit~IgnoreSelfApprovalRule", Status.NOT_READY, Arrays.asList());
    List<SubmitRequirementResult> requirements = SubmitRequirementsAdapter.createResult(submitRecord, labelTypes, psCommitId, /* isForced= */
    false);
    assertThat(requirements).hasSize(1);
    assertResult(requirements.get(0), /* reqName= */
    "gerrit~IgnoreSelfApprovalRule", /* submitExpression= */
    "rule:gerrit~IgnoreSelfApprovalRule", SubmitRequirementResult.Status.UNSATISFIED, SubmitRequirementExpressionResult.Status.FAIL);
}
Also used : SubmitRecord(com.google.gerrit.entities.SubmitRecord) SubmitRequirementResult(com.google.gerrit.entities.SubmitRequirementResult) Test(org.junit.Test)

Example 44 with SubmitRecord

use of com.google.gerrit.entities.SubmitRecord in project gerrit by GerritCodeReview.

the class SubmitRequirementsAdapterTest method defaultSubmitRule_withNonExistingLabel.

@Test
public void defaultSubmitRule_withNonExistingLabel() throws Exception {
    SubmitRecord submitRecord = createSubmitRecord(DefaultSubmitRule.RULE_NAME, Status.OK, Arrays.asList(createLabel("Non-Existing", Label.Status.OK)));
    List<SubmitRequirementResult> requirements = SubmitRequirementsAdapter.createResult(submitRecord, labelTypes, psCommitId, /* isForced= */
    false);
    assertThat(requirements).isEmpty();
}
Also used : SubmitRecord(com.google.gerrit.entities.SubmitRecord) SubmitRequirementResult(com.google.gerrit.entities.SubmitRequirementResult) Test(org.junit.Test)

Example 45 with SubmitRecord

use of com.google.gerrit.entities.SubmitRecord in project gerrit by GerritCodeReview.

the class SubmitRequirementsAdapterTest method createSubmitRecord.

private SubmitRecord createSubmitRecord(String ruleName, SubmitRecord.Status status, @Nullable List<Label> labels) {
    SubmitRecord record = new SubmitRecord();
    record.ruleName = ruleName;
    record.status = status;
    record.labels = labels;
    return record;
}
Also used : SubmitRecord(com.google.gerrit.entities.SubmitRecord)

Aggregations

SubmitRecord (com.google.gerrit.entities.SubmitRecord)49 Test (org.junit.Test)24 SubmitRequirementResult (com.google.gerrit.entities.SubmitRequirementResult)14 Change (com.google.gerrit.entities.Change)7 AbstractDaemonTest (com.google.gerrit.acceptance.AbstractDaemonTest)6 LabelType (com.google.gerrit.entities.LabelType)6 List (java.util.List)6 PatchSetApproval (com.google.gerrit.entities.PatchSetApproval)5 ChangeData (com.google.gerrit.server.query.change.ChangeData)5 Inject (com.google.inject.Inject)5 Optional (java.util.Optional)5 Collectors (java.util.stream.Collectors)5 ImmutableList (com.google.common.collect.ImmutableList)4 FluentLogger (com.google.common.flogger.FluentLogger)4 PushOneCommit (com.google.gerrit.acceptance.PushOneCommit)4 LabelFunction (com.google.gerrit.entities.LabelFunction)4 PatchSet (com.google.gerrit.entities.PatchSet)4 Project (com.google.gerrit.entities.Project)4 StorageException (com.google.gerrit.exceptions.StorageException)4 DefaultSubmitRule (com.google.gerrit.server.rules.DefaultSubmitRule)4