protected boolean shouldReturnWithNullResponse(ServiceResponse<?> serviceResponse) { if (serviceResponse != null && ServiceResponse.ResponseType.NO_RESPONSE.equals(serviceResponse.getType())){ logger.debug("Returning null as the response type is NO_RESPONSE"); return true; } return false; }
protected void throwExceptionOnFailure(ServiceResponse<?> serviceResponse) { if (serviceResponse != null && ServiceResponse.ResponseType.FAILURE.equals(serviceResponse.getType())){ throw new KieServicesException(serviceResponse.getMsg()); } }
protected void throwExceptionOnFailure(ServiceResponse<?> serviceResponse) { if (serviceResponse != null && ServiceResponse.ResponseType.FAILURE.equals(serviceResponse.getType())) { throw new KieServicesException(serviceResponse.getMsg()); } } }
@Override public Response createContainer(HttpHeaders headers, String id, KieContainerResource container) { ServiceResponse<KieContainerResource> response = server.createContainer(id, container); if( response.getType() == ServiceResponse.ResponseType.SUCCESS ) { return createCorrectVariant(response, headers, Status.CREATED); } return createCorrectVariant(response, headers, Status.BAD_REQUEST); }
private void assertSuccess(ServiceResponse<?> response) { assertEquals("Response type", ServiceResponse.ResponseType.SUCCESS, response.getType()); } }
@Override public Void doOperation(final KieServicesClient client, final Container container) { final ServiceResponse<KieContainerResource> response = client.activateContainer(containerSpec.getId()); if (response.getType() != ServiceResponse.ResponseType.SUCCESS) { log("Container {} failed to activate on server instance {} due to {}", container, response, containerSpec); } collectContainerInfo(containerSpec, client, container); return null; } };
@Override public Void doOperation(final KieServicesClient client, final Container container) { final ServiceResponse<KieContainerResource> response = client.deactivateContainer(containerSpec.getId()); if (response.getType() != ServiceResponse.ResponseType.SUCCESS) { log("Container {} failed to deactivate on server instance {} due to {}", container, response, containerSpec); } collectContainerInfo(containerSpec, client, container); return null; } };
@Override public Void doOperation(final KieServicesClient client, final Container container) { final KieContainerResource resource = makeContainerResource(container, containerSpec); final ServiceResponse<KieContainerResource> response = client.createContainer(containerSpec.getId(), resource); if (response.getType() != ServiceResponse.ResponseType.SUCCESS) { log("Container {} failed to start on server instance {} due to {}", container, response, containerSpec); } collectContainerInfo(containerSpec, client, container); return null; } };
@Test public void testMakeStartContainerOperationWhenResponseTypeIsSuccess() { final ServiceResponse.ResponseType responseType = ServiceResponse.ResponseType.SUCCESS; final String containerId = "id"; doReturn(containerId).when(containerSpec).getId(); doReturn(containerResource).when(instanceManager).makeContainerResource(container, containerSpec); doReturn(response).when(client).createContainer(containerId, containerResource); doReturn(responseType).when(response).getType(); doNothing().when(instanceManager).collectContainerInfo(containerSpec, client, container); instanceManager.makeStartContainerOperation(containerSpec).doOperation(client, container); verify(client).createContainer(containerId, containerResource); verify(instanceManager).collectContainerInfo(containerSpec, client, container); verify(instanceManager, never()).log(any(), any(), any(), any()); }
@Test public void testMakeUpgradeContainerOperationWhenResponseTypeIsSuccess() { final ServiceResponse.ResponseType responseType = ServiceResponse.ResponseType.SUCCESS; final String containerId = "id"; final ReleaseId releaseId = mock(ReleaseId.class); doReturn(containerId).when(containerSpec).getId(); doReturn(releaseId).when(containerSpec).getReleasedId(); doReturn(containerResource).when(instanceManager).makeContainerResource(container, containerSpec); doReturn(response).when(client).updateReleaseId(containerId, releaseId); doReturn(responseType).when(response).getType(); doNothing().when(instanceManager).collectContainerInfo(containerSpec, client, container); instanceManager.makeUpgradeContainerOperation(containerSpec).doOperation(client, container); verify(client, never()).createContainer(anyString(), any(KieContainerResource.class)); verify(client).updateReleaseId(containerId, releaseId); verify(instanceManager).collectContainerInfo(containerSpec, client, container); verify(instanceManager, never()).log(any(), any(), any(), any()); }
@Override public Void doOperation(KieServicesClient client, Container container) { ServiceResponse<Void> response = client.disposeContainer(containerSpec.getId()); if (!response.getType().equals(ServiceResponse.ResponseType.SUCCESS)) { logger.debug("Container {} failed to stop on server instance {} due to {}", containerSpec.getId(), container.getUrl(), response.getMsg()); } collectContainerInfo(containerSpec, client, container); return null; } });
@Test public void testMakeStartContainerOperationWhenResponseTypeIsNotSuccess() { final ServiceResponse.ResponseType responseType = ServiceResponse.ResponseType.FAILURE; final String containerId = "id"; doReturn(containerId).when(containerSpec).getId(); doReturn(containerResource).when(instanceManager).makeContainerResource(container, containerSpec); doReturn(response).when(client).createContainer(containerId, containerResource); doReturn(responseType).when(response).getType(); doNothing().when(instanceManager).collectContainerInfo(containerSpec, client, container); instanceManager.makeStartContainerOperation(containerSpec).doOperation(client, container); verify(client).createContainer(containerId, containerResource); verify(instanceManager).collectContainerInfo(containerSpec, client, container); verify(instanceManager).log("Container {} failed to start on server instance {} due to {}", container, response, containerSpec); }
private void assertForbiddenResponse(Response response) { assertNotNull(response); assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), response.getStatus()); ServiceResponse<?> serviceResponse = marshaller.unmarshall((String) response.getEntity(), ServiceResponse.class); assertNotNull(serviceResponse); assertEquals(ResponseType.FAILURE, serviceResponse.getType()); assertEquals("KIE Server management api is disabled", serviceResponse.getMsg()); } }
private void remoteUpgradeContainer(final KieServicesClient client, final Container container, final ContainerSpec containerSpec) { final ServiceResponse<ReleaseId> response = client.updateReleaseId(containerSpec.getId(), containerSpec.getReleasedId()); if (response.getType() != ServiceResponse.ResponseType.SUCCESS) { log("Container {} failed to upgrade on server instance {} due to {}", containerSpec.getId(), container.getUrl(), response.getMsg()); } collectContainerInfo(containerSpec, client, container); }
@Test public void testGetContainersRemoteOperationWhenResponseTypeIsSUCCESS() { doReturn(containerResource).when(response).getResult(); doReturn(response).when(client).getContainerInfo(any()); doReturn(ServiceResponse.ResponseType.SUCCESS).when(response).getType(); final KieServerInstanceManager.RemoteKieServerOperation<Void> operation = instanceManager.getContainersRemoteOperation(serverTemplate, containerSpec); operation.doOperation(client, container); verify(container).setContainerSpecId(containerResource.getContainerId()); verify(container).setContainerName(containerResource.getContainerId()); verify(container).setResolvedReleasedId(containerResource.getReleaseId()); verify(container).setServerTemplateId(serverTemplate.getId()); verify(container).setStatus(containerResource.getStatus()); verify(container).setMessages(containerResource.getMessages()); }
protected void collectContainerInfo(ContainerSpec containerSpec, KieServicesClient client, Container container) { // collect up to date information ServiceResponse<KieContainerResource> serviceResponse = client.getContainerInfo(containerSpec.getId()); if (serviceResponse.getType().equals(ServiceResponse.ResponseType.SUCCESS)) { KieContainerResource containerResource = serviceResponse.getResult(); container.setResolvedReleasedId(containerResource.getResolvedReleaseId() == null ? containerResource.getReleaseId() : containerResource.getResolvedReleaseId()); container.setMessages(containerResource.getMessages()); } }
private void checkSinglePersonFact(Object person, String kieSession) { String personListOutputId = "people-out"; // check that working memory contains just single person fact List<Command<?>> commands = new ArrayList<Command<?>>(); BatchExecutionCommand executionCommand = commandsFactory.newBatchExecution(commands, kieSession); commands.add(commandsFactory.newGetObjects(personListOutputId)); ServiceResponse<ExecutionResults> reply = ruleClient.executeCommandsWithResults(CONTAINER_ID, executionCommand); assertEquals(ServiceResponse.ResponseType.SUCCESS, reply.getType()); ExecutionResults actualData = reply.getResult(); assertNotNull(actualData); ArrayList<Object> personList = (ArrayList<Object>) actualData.getValue(personListOutputId); assertEquals(1, personList.size()); assertEquals(KieServerReflections.valueOf(person, PERSON_NAME_FIELD), KieServerReflections.valueOf(personList.get(0), PERSON_NAME_FIELD)); } }
@Test public void testGlobalVariableFromDeploymentDescriptor() throws Exception { List<Command<?>> commands = new ArrayList<Command<?>>(); BatchExecutionCommand executionCommand = commandsFactory.newBatchExecution(commands, CONTAINER_ID); // retrieve global variable set in deployment descriptor commands.add(commandsFactory.newGetGlobal(GLOBAL_PERSON_IDENTIFIER)); ServiceResponse<ExecutionResults> reply = ruleClient.executeCommandsWithResults(CONTAINER_ID, executionCommand); assertEquals(ServiceResponse.ResponseType.SUCCESS, reply.getType()); ExecutionResults actualData = reply.getResult(); assertNotNull(actualData); Object personVar = actualData.getValue(GLOBAL_PERSON_IDENTIFIER); assertNotNull(personVar); assertEquals(GLOBAL_PERSON_NAME, KieServerReflections.valueOf(personVar, PERSON_NAME_FIELD)); }
@Override public Void doOperation(KieServicesClient client, Container container) { final ServiceResponse<KieContainerResource> response = client.getContainerInfo(containerSpec.getId()); final KieContainerResource containerResource = response.getResult(); if (response.getType().equals(ServiceResponse.ResponseType.SUCCESS)) { container.setContainerSpecId(containerResource.getContainerId()); container.setContainerName(containerResource.getContainerAlias()); container.setResolvedReleasedId(containerResource.getResolvedReleaseId() == null ? containerResource.getReleaseId() : containerResource.getResolvedReleaseId()); container.setServerTemplateId(serverTemplate.getId()); container.setStatus(containerResource.getStatus()); container.setMessages(containerResource.getMessages()); } return null; } };
@BeforeClass public static void buildAndDeployArtifacts() { KieServerDeployer.buildAndDeployCommonMavenParent(); KieServerDeployer.buildAndDeployMavenProjectFromResource("/kjars-sources/query-definition-project"); kieContainer = KieServices.Factory.get().newKieContainer(releaseId); // Having timeout issues due to kjar dependencies -> raised timeout. KieServicesClient client = createDefaultStaticClient(EXTENDED_TIMEOUT); ServiceResponse<KieContainerResource> reply = client.createContainer(CONTAINER_ID, new KieContainerResource(CONTAINER_ID, releaseId)); Assume.assumeTrue(reply.getType().equals(ServiceResponse.ResponseType.SUCCESS)); }