All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.tomakehurst.wiremock.stubbing.ServedStub Maven / Gradle / Ivy

package com.github.tomakehurst.wiremock.stubbing;

import com.github.tomakehurst.wiremock.http.ResponseDefinition;
import com.github.tomakehurst.wiremock.verification.LoggedRequest;
import com.github.tomakehurst.wiremock.verification.NearMiss;
import com.google.common.base.Function;
import com.google.common.base.Predicate;

import java.util.List;

public class ServedStub {

    private final LoggedRequest request;
    private final ResponseDefinition responseDefinition;

    public ServedStub(LoggedRequest request, ResponseDefinition responseDefinition) {
        this.request = request;
        this.responseDefinition = responseDefinition;
    }

    public static ServedStub noExactMatch(LoggedRequest request) {
        return new ServedStub(request, ResponseDefinition.notConfigured());
    }

    public static ServedStub exactMatch(LoggedRequest request, ResponseDefinition responseDefinition) {
        return new ServedStub(request, responseDefinition);
    }

    public boolean isNoExactMatch() {
        return !responseDefinition.wasConfigured();
    }

    public LoggedRequest getRequest() {
        return request;
    }

    public ResponseDefinition getResponseDefinition() {
        return responseDefinition;
    }

    public List getNearMisses() {
        return null;
    }

    public static final Function TO_LOGGED_REQUEST = new Function() {
        @Override
        public LoggedRequest apply(ServedStub servedStub) {
            return servedStub.getRequest();
        }
    };

    public static final Predicate NOT_MATCHED = new Predicate() {
        @Override
        public boolean apply(ServedStub servedStub) {
            return servedStub.isNoExactMatch();
        }
    };
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy