Skip to content

Commit

Permalink
Update MockServerRequest to implement new API methods
Browse files Browse the repository at this point in the history
  • Loading branch information
jkschneider committed May 16, 2017
1 parent 24daace commit c11a324
Showing 1 changed file with 25 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.net.InetSocketAddress;
import java.net.URI;
import java.nio.charset.Charset;
import java.security.Principal;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
Expand Down Expand Up @@ -46,8 +47,6 @@
import org.springframework.web.server.WebSession;

/**
* Mock implementation of {@link ServerRequest}.
*
* @author Arjen Poutsma
*/
public class MockServerRequest implements ServerRequest {
Expand All @@ -68,11 +67,12 @@ public class MockServerRequest implements ServerRequest {

private final WebSession session;

private Principal principal;

private MockServerRequest(HttpMethod method, URI uri,
MockHeaders headers, Object body, Map<String, Object> attributes,
MultiValueMap<String, String> queryParams,
Map<String, String> pathVariables, WebSession session) {
MockHeaders headers, Object body, Map<String, Object> attributes,
MultiValueMap<String, String> queryParams,
Map<String, String> pathVariables, WebSession session, Principal principal) {

this.method = method;
this.uri = uri;
Expand All @@ -82,6 +82,7 @@ private MockServerRequest(HttpMethod method, URI uri,
this.queryParams = queryParams;
this.pathVariables = pathVariables;
this.session = session;
this.principal = principal;
}


Expand Down Expand Up @@ -150,6 +151,10 @@ public Mono<WebSession> session() {
return Mono.justOrEmpty(this.session);
}

@Override
public Mono<? extends Principal> principal() {
return Mono.justOrEmpty(this.principal);
}

public static Builder builder() {
return new BuilderImpl();
Expand Down Expand Up @@ -180,6 +185,8 @@ public interface Builder {

Builder session(WebSession session);

Builder session(Principal principal);

MockServerRequest body(Object body);

MockServerRequest build();
Expand All @@ -204,6 +211,8 @@ private static class BuilderImpl implements Builder {

private WebSession session;

private Principal principal;

@Override
public Builder method(HttpMethod method) {
Assert.notNull(method, "'method' must not be null");
Expand Down Expand Up @@ -285,17 +294,26 @@ public Builder session(WebSession session) {
return this;
}

@Override
public Builder session(Principal principal) {
Assert.notNull(principal, "'principal' must not be null");
this.principal = principal;
return this;
}

@Override
public MockServerRequest body(Object body) {
this.body = body;
return new MockServerRequest(this.method, this.uri, this.headers, this.body,
this.attributes, this.queryParams, this.pathVariables, this.session);
this.attributes, this.queryParams, this.pathVariables, this.session,
this.principal);
}

@Override
public MockServerRequest build() {
return new MockServerRequest(this.method, this.uri, this.headers, null,
this.attributes, this.queryParams, this.pathVariables, this.session);
this.attributes, this.queryParams, this.pathVariables, this.session,
this.principal);
}
}

Expand Down

0 comments on commit c11a324

Please sign in to comment.