package com.linkedin.restli.client;
import static org.testng.Assert.assertEquals;
import java.util.Optional;
import org.testng.annotations.Test;
public class TestInboundRequestContextBuilder {
@Test
public void testGet() {
InboundRequestContext ctx = new InboundRequestContextBuilder()
.setName("name")
.setMethod("method")
.build();
assertEquals(ctx.getName(), "name");
assertEquals(ctx.getMethod(), "method");
assertEquals(ctx.getActionName(), Optional.empty());
assertEquals(ctx.getFinderName(), Optional.empty());
}
@Test
public void testFullAction() {
InboundRequestContext ctx = new InboundRequestContextBuilder()
.setName("name")
.setMethod("ACTION")
.setActionName("doIt")
.build();
assertEquals(ctx.getName(), "name");
assertEquals(ctx.getMethod(), "ACTION");
assertEquals(ctx.getActionName(), Optional.of("doIt"));
assertEquals(ctx.getFinderName(), Optional.empty());
}
@Test
public void testFullFinder() {
InboundRequestContext ctx = new InboundRequestContextBuilder()
.setName("name")
.setMethod("FINDER")
.setFinderName("findIt")
.build();
assertEquals(ctx.getName(), "name");
assertEquals(ctx.getMethod(), "FINDER");
assertEquals(ctx.getActionName(), Optional.empty());
assertEquals(ctx.getFinderName(), Optional.of("findIt"));
}
@Test
public void testPartialAction() {
InboundRequestContext ctx = new InboundRequestContextBuilder()
.setName("name")
.setMethod("ACTION")
.build();
assertEquals(ctx.getName(), "name");
assertEquals(ctx.getMethod(), "ACTION");
assertEquals(ctx.getActionName(), Optional.empty());
assertEquals(ctx.getFinderName(), Optional.empty());
}
@Test
public void testPartialFinder() {
InboundRequestContext ctx = new InboundRequestContextBuilder()
.setName("name")
.setMethod("FINDER")
.build();
assertEquals(ctx.getName(), "name");
assertEquals(ctx.getMethod(), "FINDER");
assertEquals(ctx.getActionName(), Optional.empty());
assertEquals(ctx.getFinderName(), Optional.empty());
}
@Test(expectedExceptions={IllegalArgumentException.class})
public void testJustFinderName() {
new InboundRequestContextBuilder()
.setName("name")
.setMethod("GET")
.setFinderName("findIt")
.build();
}
@Test(expectedExceptions={IllegalArgumentException.class})
public void testJustActionName() {
new InboundRequestContextBuilder()
.setName("name")
.setMethod("GET")
.setActionName("doIt")
.build();
}
}