Search in sources :

Example 6 with BlueTestResult

use of io.jenkins.blueocean.rest.model.BlueTestResult in project blueocean-plugin by jenkinsci.

the class BlueTestResultContainerImplTest method testGetTestNotFound.

@Test
public void testGetTestNotFound() throws Exception {
    String id = "io.jenkins.blueocean.service.embedded.BlueTestResultContainerImplTest$FactoryImpl$BlueTestResultImpl:test_1";
    BlueTestResult result = container.get(id);
    assertNotNull(result);
    assertEquals(id, result.getId());
}
Also used : BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult) Test(org.junit.Test)

Example 7 with BlueTestResult

use of io.jenkins.blueocean.rest.model.BlueTestResult in project blueocean-plugin by jenkinsci.

the class BlueTestResultContainerImplTest method testsFilteredByStatus.

@Test
public void testsFilteredByStatus() throws Exception {
    List<BlueTestResult> allResults = IteratorUtils.toList(container.iterator());
    List<BlueTestResult> allSkipped = IteratorUtils.toList(container.getBlueTestResultIterator(allResults, Status.SKIPPED.name(), null, null));
    assertEquals(2, allSkipped.size());
    for (BlueTestResult tr : allSkipped) {
        assertEquals(Status.SKIPPED, tr.getStatus());
    }
}
Also used : BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult) Test(org.junit.Test)

Example 8 with BlueTestResult

use of io.jenkins.blueocean.rest.model.BlueTestResult in project blueocean-plugin by jenkinsci.

the class BlueTestResultFactory method resolve.

public static Result resolve(Run<?, ?> run, Reachable parent) {
    Iterable<BlueTestResult> results = new ArrayList<>(0);
    BlueTestSummary summary = new // 
    BlueTestSummary(// 
    0, // 
    0, // 
    0, // 
    0, // 
    0, // 
    0, // 
    0, parent == null ? null : parent.getLink());
    for (BlueTestResultFactory factory : allFactories()) {
        Result result = factory.getBlueTestResults(run, parent);
        if (result != null && result.results != null && result.summary != null) {
            results = IterableUtils.chainedIterable(result.results, results);
            summary = summary.tally(result.summary);
        }
    }
    return getResult(results, summary);
}
Also used : ArrayList(java.util.ArrayList) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult) BlueTestSummary(io.jenkins.blueocean.rest.model.BlueTestSummary) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult)

Example 9 with BlueTestResult

use of io.jenkins.blueocean.rest.model.BlueTestResult in project blueocean-plugin by jenkinsci.

the class BlueTestResultContainerImpl method filterByState.

@VisibleForTesting
public static Iterator<BlueTestResult> filterByState(Iterable<BlueTestResult> results, String state) {
    String[] stateAtoms = StringUtils.split(state, ',');
    Predicate<BlueTestResult> predicate = Predicates.alwaysFalse();
    if (stateAtoms == null || stateAtoms.length == 0) {
        throw new BadRequestException("state not provided");
    }
    for (String stateString : stateAtoms) {
        State queryState;
        try {
            queryState = State.valueOf(stateString.toUpperCase());
        } catch (IllegalArgumentException e) {
            throw new BadRequestException("bad state " + state, e);
        }
        predicate = Predicates.or(predicate, new StatePredicate(queryState));
    }
    return Iterables.filter(results, predicate).iterator();
}
Also used : State(io.jenkins.blueocean.rest.model.BlueTestResult.State) BadRequestException(io.jenkins.blueocean.commons.ServiceException.BadRequestException) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult) VisibleForTesting(com.google.common.annotations.VisibleForTesting)

Example 10 with BlueTestResult

use of io.jenkins.blueocean.rest.model.BlueTestResult in project blueocean-plugin by jenkinsci.

the class BlueTestResultContainerImpl method filterByStatus.

// for testing purpose
public static Predicate<BlueTestResult> filterByStatus(String status) {
    String[] statusAtoms = StringUtils.split(status, ',');
    Predicate<BlueTestResult> predicate = blueTestResult -> false;
    if (statusAtoms == null || statusAtoms.length == 0) {
        throw new BadRequestException("status not provided");
    }
    for (String statusString : statusAtoms) {
        Predicate<BlueTestResult> statusPredicate;
        try {
            if (statusString.startsWith("!")) {
                StatusPredicate tmp = new StatusPredicate(Status.valueOf(statusString.toUpperCase().substring(1)));
                statusPredicate = blueTestResult -> !tmp.test(blueTestResult);
            } else {
                statusPredicate = new StatusPredicate(Status.valueOf(statusString.toUpperCase()));
            }
        } catch (IllegalArgumentException e) {
            throw new BadRequestException("bad status " + status, e);
        }
        predicate = predicate.or(statusPredicate);
    }
    return predicate;
}
Also used : StringUtils(org.apache.commons.lang.StringUtils) Iterator(java.util.Iterator) StringUtils.isEmpty(org.apache.commons.lang.StringUtils.isEmpty) Predicate(java.util.function.Predicate) StaplerRequest(org.kohsuke.stapler.StaplerRequest) Reachable(io.jenkins.blueocean.rest.Reachable) IterableUtils(io.jenkins.blueocean.commons.IterableUtils) NotFoundException(io.jenkins.blueocean.commons.ServiceException.NotFoundException) Run(hudson.model.Run) BadRequestException(io.jenkins.blueocean.commons.ServiceException.BadRequestException) Status(io.jenkins.blueocean.rest.model.BlueTestResult.Status) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult) BlueTestResultFactory(io.jenkins.blueocean.rest.factory.BlueTestResultFactory) Stapler(org.kohsuke.stapler.Stapler) State(io.jenkins.blueocean.rest.model.BlueTestResult.State) BlueTestResultContainer(io.jenkins.blueocean.rest.model.BlueTestResultContainer) NonNull(edu.umd.cs.findbugs.annotations.NonNull) Nullable(edu.umd.cs.findbugs.annotations.Nullable) StreamSupport(java.util.stream.StreamSupport) Result(io.jenkins.blueocean.rest.factory.BlueTestResultFactory.Result) BadRequestException(io.jenkins.blueocean.commons.ServiceException.BadRequestException) BlueTestResult(io.jenkins.blueocean.rest.model.BlueTestResult)

Aggregations

BlueTestResult (io.jenkins.blueocean.rest.model.BlueTestResult)11 BadRequestException (io.jenkins.blueocean.commons.ServiceException.BadRequestException)4 NotFoundException (io.jenkins.blueocean.commons.ServiceException.NotFoundException)4 Result (io.jenkins.blueocean.rest.factory.BlueTestResultFactory.Result)4 Test (org.junit.Test)4 NonNull (edu.umd.cs.findbugs.annotations.NonNull)3 State (io.jenkins.blueocean.rest.model.BlueTestResult.State)3 Status (io.jenkins.blueocean.rest.model.BlueTestResult.Status)3 StaplerRequest (org.kohsuke.stapler.StaplerRequest)3 VisibleForTesting (com.google.common.annotations.VisibleForTesting)2 Nullable (edu.umd.cs.findbugs.annotations.Nullable)2 Run (hudson.model.Run)2 IterableUtils (io.jenkins.blueocean.commons.IterableUtils)2 Reachable (io.jenkins.blueocean.rest.Reachable)2 BlueTestResultFactory (io.jenkins.blueocean.rest.factory.BlueTestResultFactory)2 BlueTestResultContainer (io.jenkins.blueocean.rest.model.BlueTestResultContainer)2 Iterator (java.util.Iterator)2 Predicate (java.util.function.Predicate)2 StreamSupport (java.util.stream.StreamSupport)2 StringUtils (org.apache.commons.lang.StringUtils)2