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

simplehttp.matchers.Matchers Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2011-2019, simple-http committers
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package simplehttp.matchers;

import org.apache.http.client.methods.HttpUriRequest;
import org.hamcrest.Matcher;
import simplehttp.*;
import simplehttp.matchers.apache.*;

import java.net.URL;
import java.nio.charset.Charset;

import static java.lang.String.format;

/**
 * This is your first port of call if you're looking for helpful HTTP related {@link Matcher}s.
 */
public class Matchers {

    private Matchers() { }
    
    public static  Matcher has(Matcher matcher) {
        return matcher;
    }

    public static Matcher post(Matcher matcher) {
        return (Matcher) matcher;
    }

    public static Matcher put(Matcher matcher) {
        return (Matcher) matcher;
    }

    public static  Matcher content(String content) {
        return HttpMessageContentStringMatcher.content(content);
    }

    public static  Matcher content(Matcher mather) {
        return HttpMessageContentStringMatcher.content(mather);
    }

    public static  Matcher binaryContent(Matcher matcher) {
        return HttpMessageContentByteArrayMatcher.content(matcher, Charset.defaultCharset().name());
    }

    public static  Matcher binaryContent(byte[] content) {
        return HttpMessageContentByteArrayMatcher.content(content, Charset.defaultCharset().name());
    }

    public static  Matcher binaryContent(Matcher matcher, String characterSet) {
        return HttpMessageContentByteArrayMatcher.content(matcher, characterSet);
    }

    public static  Matcher has(Header header) {
        return HttpMessageHeaderMatcher.has(header);
    }

    public static  Matcher headerWithValue(String name, Matcher value) {
        return HttpMessageHeaderValueMatcher.headerWithValue(name, value);
    }

    public static Matcher
equalTo(Header header) { return HeaderEqualityMatcher.equalTo(header); } public static Matcher
header(String name, Matcher value) { return HeaderMatcher.header(name, value); } public static Matcher hasHeader(Header header) { return HeadersEqualityMatcher.hasHeader(header); } public static Matcher hasHeaders(Header... headers) { return HeadersEqualityMatcher.hasHeaders(headers); } public static Matcher has(Header... headers) { return HeadersEqualityMatcher.hasHeaders(headers); } public static Matcher hasHeaders(Matcher
... headers) { return HeadersMatcher.hasHeaders(headers); } public static Matcher has(Matcher
... headers) { return HeadersMatcher.hasHeaders(headers); } public static Matcher status(int status) { return HttpResponseStatusCodeMatcher.status(status); } public static Matcher statusMessage(String message) { return HttpResponseStatusMessageMatcher.statusMessage(message); } public static Matcher statusMessage(Matcher matcher) { return HttpResponseStatusMessageMatcher.statusMessage(matcher); } public static Matcher containsPath(String path) { return UrlMatcher.containsPath(path); } // TODO add matcher for Apache headers (plural) @Deprecated /** @deprecated use {@link #apacheHeader(String, Matcher)} instead */ public static Matcher apacheHeader(String name, String value) { return ApacheHeaderMatcher.apacheHeader(name, value); } public static Matcher apacheHeader(String name, Matcher matcher) { return ApacheHeaderValueMatcher.apacheHeader(name, matcher); } public static Matcher requestContaining(Headers headers) { return ApacheHttpUriRequestHeaderMatcher.requestContaining(headers); } public static Matcher requestWith(URL url) { return ApacheHttpUriRequestUrlMatcher.requestWith(url); } public static Matcher messageContaining(String content) { return ApacheHttpUriRequestContentMatcher.messageContaining(content); } public static String expectedLineLeadingSpaces() { return format("%1$10s", ""); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy