.expression(((SQLDataSetDef) dataSetDef).getDbSQL()) .source(((SQLDataSetDef) dataSetDef).getDataSource()) .target(extractQueryTarget(dataSetDef)) .build() ).collect(Collectors.toSet()); registerQueriesWithRetry(serverTemplateId, serverInstanceId, queryDefinitions);
@Before public void setup() { this.dataSetDefRegistry = Mockito.mock(DataSetDefRegistry.class); this.kieServerIntegration = Mockito.mock(KieServerIntegration.class); this.event = new EventSourceMock<KieServerDataSetRegistered>() { @Override public void fire(KieServerDataSetRegistered event) { receivedEvents.add(event); } }; this.kieClient = Mockito.mock(KieServicesClient.class); this.queryClient = Mockito.mock(QueryServicesClient.class); when(kieClient.getServicesClient(any())).thenReturn(queryClient); when(kieServerIntegration.getAdminServerClient(anyString(), anyString())).thenReturn(kieClient); ExecutorService executorService = Executors.newCachedThreadPool(new DescriptiveThreadFactory()); this.kieServerDataSetManager = new KieServerDataSetManager(dataSetDefRegistry, kieServerIntegration, event, executorService, specManagementService); }
void onDataSetDefModifiedEvent(@Observes DataSetDefModifiedEvent event) { checkNotNull("event", event); DataSetDef def = event.getNewDataSetDef(); replaceQueryInKieServers(def); }
private void registerQueriesWithRetryException(Exception exception) throws Exception { QueryDefinition query = QueryDefinition.builder().name("test").expression("expression").source("jbpm").target("CUSTOM").build(); Set<QueryDefinition> definitions = new HashSet<>(); definitions.add(query); KieServicesClient kieClientRecreated = Mockito.mock(KieServicesClient.class); QueryServicesClient queryClientRecreated = Mockito.mock(QueryServicesClient.class); when(kieClientRecreated.getServicesClient(any())).thenReturn(queryClientRecreated); when(kieServerIntegration.getAdminServerClientCheckEndpoints(anyString())).thenReturn(kieClientRecreated); doThrow(exception).when(queryClient).replaceQuery(any()); kieServerDataSetManager.registerQueriesWithRetry("template", "instance", definitions); verify(kieServerIntegration, times(1)).getAdminServerClient(anyString(), anyString()); verify(kieServerIntegration, times(1)).getAdminServerClientCheckEndpoints(anyString()); verify(queryClient, times(1)).replaceQuery(any()); verify(queryClientRecreated, times(1)).replaceQuery(any()); assertEquals(1, receivedEvents.size()); }
@Test public void testRegisterKieServerWithoutProcessCapability() { final ServerInstance serverInstance = new ServerInstance(); serverInstance.setServerInstanceId("instanceId"); serverInstance.setServerTemplateId("templateId"); when(specManagementService.getServerTemplate(serverInstance.getServerTemplateId())).thenReturn(new ServerTemplate()); kieServerDataSetManager.registerInKieServer(new ServerInstanceRegistered(serverInstance)); assertEquals(1, receivedEvents.size()); verify(dataSetDefRegistry, never()).getDataSetDefs(false); }
private void registerQueriesWithRetryException(Exception exception) throws Exception { QueryDefinition query = QueryDefinition.builder().name("test").expression("expression").source("jbpm").target("CUSTOM").build(); Set<QueryDefinition> definitions = new HashSet<>(); definitions.add(query); KieServicesClient kieClientRecreated = Mockito.mock(KieServicesClient.class); QueryServicesClient queryClientRecreated = Mockito.mock(QueryServicesClient.class); when(kieClientRecreated.getServicesClient(any())).thenReturn(queryClientRecreated); when(kieServerIntegration.getAdminServerClientCheckEndpoints(anyString())).thenReturn(kieClientRecreated); doThrow(exception).when(queryClient).replaceQuery(any()); kieServerDataSetManager.registerQueriesWithRetry("template", "instance", definitions); verify(kieServerIntegration, times(1)).getAdminServerClient(anyString(), anyString()); verify(kieServerIntegration, times(1)).getAdminServerClientCheckEndpoints(anyString()); verify(queryClient, times(1)).replaceQuery(any()); verify(queryClientRecreated, times(1)).replaceQuery(any()); assertEquals(1, receivedEvents.size()); }
@Test public void testRegisterKieServerWithoutProcessCapability() { final ServerInstance serverInstance = new ServerInstance(); serverInstance.setServerInstanceId("instanceId"); serverInstance.setServerTemplateId("templateId"); when(specManagementService.getServerTemplate(serverInstance.getServerTemplateId())).thenReturn(new ServerTemplate()); kieServerDataSetManager.registerInKieServer(new ServerInstanceRegistered(serverInstance)); assertEquals(1, receivedEvents.size()); verify(dataSetDefRegistry, never()).getDataSetDefs(false); }
@Test public void testRegisterQueriesWithoutRetry() throws Exception { QueryDefinition query = QueryDefinition.builder().name("test").expression("expression").source("jbpm").target("CUSTOM").build(); Set<QueryDefinition> definitions = new HashSet<>(); definitions.add(query); kieServerDataSetManager.registerQueriesWithRetry("template", "instance", definitions); verify(kieServerIntegration, times(1)).getAdminServerClient(anyString(), anyString()); verify(queryClient, times(1)).replaceQuery(any()); assertEquals(1, receivedEvents.size()); }
@Test public void testRegisterKieServerWithProcessCapability() { final ServerInstance serverInstance = new ServerInstance(); serverInstance.setServerInstanceId("instanceId"); serverInstance.setServerTemplateId("templateId"); when(specManagementService.getServerTemplate(serverInstance.getServerTemplateId())).thenReturn(new ServerTemplate(serverInstance.getServerTemplateId(), null, singletonList(Capability.PROCESS.name()), emptyMap(), emptyList())); kieServerDataSetManager.registerInKieServer(new ServerInstanceRegistered(serverInstance)); assertEquals(0, receivedEvents.size()); verify(dataSetDefRegistry).getDataSetDefs(false); }
void onDataSetDefRegisteredEvent(@Observes DataSetDefRegisteredEvent event) { checkNotNull("event", event); DataSetDef def = event.getDataSetDef(); replaceQueryInKieServers(def); }
@Before public void setup() { this.dataSetDefRegistry = Mockito.mock(DataSetDefRegistry.class); this.kieServerIntegration = Mockito.mock(KieServerIntegration.class); this.event = new EventSourceMock<KieServerDataSetRegistered>() { @Override public void fire(KieServerDataSetRegistered event) { receivedEvents.add(event); } }; this.kieClient = Mockito.mock(KieServicesClient.class); this.queryClient = Mockito.mock(QueryServicesClient.class); when(kieClient.getServicesClient(any())).thenReturn(queryClient); when(kieServerIntegration.getAdminServerClient(anyString(), anyString())).thenReturn(kieClient); ExecutorService executorService = Executors.newCachedThreadPool(new DescriptiveThreadFactory()); this.kieServerDataSetManager = new KieServerDataSetManager(dataSetDefRegistry, kieServerIntegration, event, executorService, specManagementService); }
@Test public void testRegisterQueriesWithoutRetry() throws Exception { QueryDefinition query = QueryDefinition.builder().name("test").expression("expression").source("jbpm").target("CUSTOM").build(); Set<QueryDefinition> definitions = new HashSet<>(); definitions.add(query); kieServerDataSetManager.registerQueriesWithRetry("template", "instance", definitions); verify(kieServerIntegration, times(1)).getAdminServerClient(anyString(), anyString()); verify(queryClient, times(1)).replaceQuery(any()); assertEquals(1, receivedEvents.size()); }
@Test public void testRegisterKieServerWithProcessCapability() { final ServerInstance serverInstance = new ServerInstance(); serverInstance.setServerInstanceId("instanceId"); serverInstance.setServerTemplateId("templateId"); when(specManagementService.getServerTemplate(serverInstance.getServerTemplateId())).thenReturn(new ServerTemplate(serverInstance.getServerTemplateId(), null, singletonList(Capability.PROCESS.name()), emptyMap(), emptyList())); kieServerDataSetManager.registerInKieServer(new ServerInstanceRegistered(serverInstance)); assertEquals(0, receivedEvents.size()); verify(dataSetDefRegistry).getDataSetDefs(false); }
@Test public void testRegisterQueriesOnServerWithoutBPMCapability() throws Exception { when(kieClient.getServicesClient(any())).thenThrow(KieServicesException.class); QueryDefinition query = QueryDefinition.builder().name("test").expression("expression").source("jbpm").target("CUSTOM").build(); Set<QueryDefinition> definitions = new HashSet<>(); definitions.add(query); kieServerDataSetManager.registerQueriesWithRetry("template", "instance", definitions); verify(kieServerIntegration, times(1)).getAdminServerClient(anyString(), anyString()); verify(queryClient, never()).replaceQuery(any()); assertEquals(0, receivedEvents.size()); } }
@Test public void testRegisterQueriesOnServerWithoutBPMCapability() throws Exception { when(kieClient.getServicesClient(any())).thenThrow(KieServicesException.class); QueryDefinition query = QueryDefinition.builder().name("test").expression("expression").source("jbpm").target("CUSTOM").build(); Set<QueryDefinition> definitions = new HashSet<>(); definitions.add(query); kieServerDataSetManager.registerQueriesWithRetry("template", "instance", definitions); verify(kieServerIntegration, times(1)).getAdminServerClient(anyString(), anyString()); verify(queryClient, never()).replaceQuery(any()); assertEquals(0, receivedEvents.size()); } }