@Override public Optional<Server> getByName(String serverName) { String serverNameEncoded = UriComponent.encode(serverName, QUERY_PARAM_SPACE_ENCODED); Invocation.Builder builder = client .target(SERVERS_URL) .queryParam("filter[name]", serverNameEncoded) .request(APPLICATION_JSON_TYPE); return getPageable(builder, ServerList.class) .filter(application -> application.getName().equals(serverName)) .getSingle(); }
@Test public void getByName_shouldNotReturnServer_whenClientReturnsEmptyList() throws Exception { // given when(responseMock.readEntity(ServerList.class)).thenReturn(new ServerList(Collections.emptyList())); // when Optional<Server> serverOptional = testee.getByName("server"); // then assertThat(serverOptional).isEmpty(); } }
@Test public void getByName_shouldNotReturnServer_whenClientReturnsNotMatchingResult() throws Exception { // given when(responseMock.readEntity(ServerList.class)).thenReturn(new ServerList(Collections.singletonList( Server.builder().name("server1").build() ))); // when Optional<Server> serverOptional = testee.getByName("server"); // then assertThat(serverOptional).isEmpty(); }
@Test public void getByName_shouldReturnServer_whenClientReturnsNotUniqueResult() throws Exception { // given when(responseMock.readEntity(ServerList.class)).thenReturn(new ServerList(asList( Server.builder().name("server").build(), Server.builder().name("server1").build() ))); // when Optional<Server> serverOptional = testee.getByName("server"); // then assertThat(serverOptional).isNotEmpty(); }