private static Set<Class<?>> getExtraClasses(KieServerRegistry registry) { Set<Class<?>> extraClasses; if (registry != null) { extraClasses = registry.getExtraClasses(); } else { extraClasses = new HashSet<>(); } return extraClasses; }
@Test public void testGetHumanTasksWithFilterJSON() throws Exception { TaskSearchServiceBase tqsbMock = mock(TaskSearchServiceBase.class); KieServerRegistry contextMock = mock(KieServerRegistry.class); //Registry mock needs to return extra classes registered by the extension. Set<Class<?>> extraClasses = new HashSet<>(); extraClasses.add(TaskQueryFilterSpec.class); when(contextMock.getExtraClasses()).thenReturn(extraClasses); when(tqsbMock.getHumanTasksWithFilters(any(), any(), any(), eq("JSON"))).thenReturn(getTaskInstanceList()); TaskSearchResource tqr = new TaskSearchResource(tqsbMock, contextMock); MultivaluedMap<String, String> headers = new MultivaluedMapImpl<>(); headers.put(KieServerConstants.KIE_CONTENT_TYPE_HEADER, Collections.singletonList("JSON")); headers.put(HttpHeaders.CONTENT_TYPE, Collections.singletonList(MediaType.APPLICATION_JSON)); headers.put(HttpHeaders.ACCEPT, Collections.singletonList(MediaType.APPLICATION_JSON)); HttpHeaders httpHeaders = new ResteasyHttpHeaders(headers); Response response = tqr.getHumanTasksWithFilters(httpHeaders, 0, 10, getPayload()); String responseEntity = (String) response.getEntity(); String expectedResponseEntity = new StringBuilder().append("{").append("\"task-instance\" : null").append("}").toString(); JSONAssert.assertEquals(expectedResponseEntity, responseEntity, false); }
@Test public void testGetHumanTasksWithFiltersXML() throws Exception { TaskSearchServiceBase tqsbMock = mock(TaskSearchServiceBase.class); KieServerRegistry contextMock = mock(KieServerRegistry.class); //Registry mock needs to return extra classes registered by the extension. Set<Class<?>> extraClasses = new HashSet<>(); extraClasses.add(TaskQueryFilterSpec.class); when(contextMock.getExtraClasses()).thenReturn(extraClasses); when(tqsbMock.getHumanTasksWithFilters(any(), any(), any(), eq("JAXB"))).thenReturn(getTaskInstanceList()); TaskSearchResource tqr = new TaskSearchResource(tqsbMock, contextMock); MultivaluedMap<String, String> headers = new MultivaluedMapImpl<>(); headers.put(KieServerConstants.KIE_CONTENT_TYPE_HEADER, Collections.singletonList("JAXB")); headers.put(HttpHeaders.CONTENT_TYPE, Collections.singletonList(MediaType.APPLICATION_XML)); headers.put(HttpHeaders.ACCEPT, Collections.singletonList(MediaType.APPLICATION_JSON)); HttpHeaders httpHeaders = new ResteasyHttpHeaders(headers); Response response = tqr.getHumanTasksWithFilters(httpHeaders, 0, 10, getPayload()); String responseEntity = (String) response.getEntity(); String expectedResponseEntity = "<task-instance-list/>"; assertThat(responseEntity, CompareMatcher.isIdenticalTo(expectedResponseEntity).ignoreWhitespace()); }