@Test
public void testJAXRSTypes() {
// MediaType#toString and Link.Builder call RuntimeDelegate
final RuntimeDelegate delegateMock = mock(RuntimeDelegate.class);
final RuntimeDelegate.HeaderDelegate<MediaType> headerDelegateMock = mock(RuntimeDelegate.HeaderDelegate.class);
when(delegateMock.createHeaderDelegate(MediaType.class)).thenReturn(headerDelegateMock);
final Link.Builder linkBuilderMock = mock(Link.Builder.class);
when(delegateMock.createLinkBuilder()).thenReturn(linkBuilderMock);
when(headerDelegateMock.toString(any())).thenReturn("application/json");
when(linkBuilderMock.uri(anyString())).thenReturn(linkBuilderMock);
when(linkBuilderMock.rel(anyString())).thenReturn(linkBuilderMock);
when(linkBuilderMock.build()).thenReturn(new DummyLink("https://api.example.com/books/1", "self"),
new DummyLink("https://api.example.com/books/123", "one", "two"));
injectRuntimeDelegate(delegateMock);
final String actual = Siren.createEntityBuilder()
.setSubEntityType(MediaType.APPLICATION_JSON_TYPE)
.setSubEntityHref(URI.create("https://api.example.com/books/1"))
.addLink(Link.fromUri("https://api.example.com/books/1").rel("self").build())
.addLink(Link.fromUri("https://api.example.com/books/123").rel("one two").build())
.build().toString();
final String expected = "{" +
"\"type\":\"application/json\"," +
"\"href\":\"https://api.example.com/books/1\"," +
"\"links\":[{" +
"\"rel\":[\"self\"]," +
"\"href\":\"https://api.example.com/books/1\"" +
"},{" +
"\"rel\":[\"one\",\"two\"]," +
"\"href\":\"https://api.example.com/books/123\"}]" +
"}";
assertThat(actual, is(expected));
}
EntityBuilderTest.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:siren4javaee
作者:
评论列表
文章目录