Search in sources :

Example 1 with HttpRequest

use of com.github.dreamhead.moco.HttpRequest in project moco by dreamhead.

the class AbstractContentResponseHandler method writeToResponse.

@Override
public final void writeToResponse(final SessionContext context) {
    Request request = context.getRequest();
    Response response = context.getResponse();
    if (HttpRequest.class.isInstance(request) && MutableHttpResponse.class.isInstance(response)) {
        HttpRequest httpRequest = HttpRequest.class.cast(request);
        MutableHttpResponse httpResponse = MutableHttpResponse.class.cast(response);
        doWriteToResponse(httpRequest, httpResponse);
        return;
    }
    MutableResponse mutableResponse = MutableResponse.class.cast(response);
    mutableResponse.setContent(requireResponseContent(request));
}
Also used : MutableResponse(com.github.dreamhead.moco.MutableResponse) MutableHttpResponse(com.github.dreamhead.moco.MutableHttpResponse) Response(com.github.dreamhead.moco.Response) HttpRequest(com.github.dreamhead.moco.HttpRequest) MutableResponse(com.github.dreamhead.moco.MutableResponse) MutableHttpResponse(com.github.dreamhead.moco.MutableHttpResponse) HttpRequest(com.github.dreamhead.moco.HttpRequest) Request(com.github.dreamhead.moco.Request)

Example 2 with HttpRequest

use of com.github.dreamhead.moco.HttpRequest in project moco by dreamhead.

the class AbstractHttpResponseHandler method writeToResponse.

@Override
public final void writeToResponse(final SessionContext context) {
    Request request = context.getRequest();
    Response response = context.getResponse();
    if (HttpRequest.class.isInstance(request) && MutableHttpResponse.class.isInstance(response)) {
        HttpRequest httpRequest = HttpRequest.class.cast(request);
        MutableHttpResponse httpResponse = MutableHttpResponse.class.cast(response);
        doWriteToResponse(httpRequest, httpResponse);
    }
}
Also used : MutableHttpResponse(com.github.dreamhead.moco.MutableHttpResponse) Response(com.github.dreamhead.moco.Response) HttpRequest(com.github.dreamhead.moco.HttpRequest) MutableHttpResponse(com.github.dreamhead.moco.MutableHttpResponse) HttpRequest(com.github.dreamhead.moco.HttpRequest) Request(com.github.dreamhead.moco.Request)

Example 3 with HttpRequest

use of com.github.dreamhead.moco.HttpRequest in project moco by dreamhead.

the class HttpRequestMatcherTest method should_be_match_if_failover_field_is_null.

@Test
public void should_be_match_if_failover_field_is_null() {
    HttpRequest request = DefaultHttpRequest.builder().withUri("/uri").withVersion(HttpProtocolVersion.VERSION_1_1).withMethod(HttpMethod.POST).withTextContent("proxy").withHeaders(of("Cookie", "loggedIn=true", "Host", "localhost:12306")).build();
    HttpRequest failover = DefaultHttpRequest.builder().withUri("/uri").withMethod(HttpMethod.POST).withTextContent("proxy").withHeaders(of("Cookie", "loggedIn=true", "Host", "localhost:12306")).build();
    assertThat(new HttpRequestFailoverMatcher(failover).match(request), is(true));
}
Also used : HttpRequest(com.github.dreamhead.moco.HttpRequest) DefaultHttpRequest(com.github.dreamhead.moco.model.DefaultHttpRequest) HttpRequestFailoverMatcher(com.github.dreamhead.moco.model.HttpRequestFailoverMatcher) Test(org.junit.Test)

Example 4 with HttpRequest

use of com.github.dreamhead.moco.HttpRequest in project moco by dreamhead.

the class HttpRequestMatcherTest method should_be_match_even_if_target_request_has_more_headers.

@Test
public void should_be_match_even_if_target_request_has_more_headers() {
    HttpRequest request = DefaultHttpRequest.builder().withUri("/uri").withVersion(HttpProtocolVersion.VERSION_1_1).withMethod(HttpMethod.POST).withTextContent("proxy").withHeaders(of("Cookie", "loggedIn=true", "Host", "localhost:12306")).build();
    HttpRequest failover = DefaultHttpRequest.builder().withUri("/uri").withVersion(HttpProtocolVersion.VERSION_1_1).withMethod(HttpMethod.POST).withTextContent("proxy").withHeaders(of("Host", "localhost:12306")).build();
    assertThat(new HttpRequestFailoverMatcher(failover).match(request), is(true));
}
Also used : HttpRequest(com.github.dreamhead.moco.HttpRequest) DefaultHttpRequest(com.github.dreamhead.moco.model.DefaultHttpRequest) HttpRequestFailoverMatcher(com.github.dreamhead.moco.model.HttpRequestFailoverMatcher) Test(org.junit.Test)

Example 5 with HttpRequest

use of com.github.dreamhead.moco.HttpRequest in project moco by dreamhead.

the class TemplateRequest method getQueries.

public ImmutableMap<String, String> getQueries() {
    if (this.request instanceof HttpRequest) {
        HttpRequest httpRequest = (HttpRequest) this.request;
        ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
        ImmutableMap<String, String[]> queries = httpRequest.getQueries();
        for (String key : queries.keySet()) {
            builder.put(key, queries.get(key)[0]);
        }
        return builder.build();
    }
    throw new IllegalArgumentException("Request is not HTTP request");
}
Also used : HttpRequest(com.github.dreamhead.moco.HttpRequest) DefaultHttpRequest(com.github.dreamhead.moco.model.DefaultHttpRequest) ImmutableMap(com.google.common.collect.ImmutableMap)

Aggregations

HttpRequest (com.github.dreamhead.moco.HttpRequest)13 DefaultHttpRequest (com.github.dreamhead.moco.model.DefaultHttpRequest)10 Test (org.junit.Test)8 HttpRequestFailoverMatcher (com.github.dreamhead.moco.model.HttpRequestFailoverMatcher)5 MutableHttpResponse (com.github.dreamhead.moco.MutableHttpResponse)2 Request (com.github.dreamhead.moco.Request)2 Response (com.github.dreamhead.moco.Response)2 MutableResponse (com.github.dreamhead.moco.MutableResponse)1 ContentRequestExtractor (com.github.dreamhead.moco.extractor.ContentRequestExtractor)1 DefaultMutableHttpResponse (com.github.dreamhead.moco.model.DefaultMutableHttpResponse)1 ImmutableMap (com.google.common.collect.ImmutableMap)1 FullHttpRequest (io.netty.handler.codec.http.FullHttpRequest)1 FullHttpResponse (io.netty.handler.codec.http.FullHttpResponse)1