@Test public void updateWithGatewaySenders() { regionAttributes.setGatewaySenderIds("2,3"); when(region.getGatewaySenderIds()).thenReturn(new HashSet<>(Arrays.asList("1", "2"))); function.alterRegion(cache, config); verify(mutator).removeGatewaySenderId("1"); verify(mutator, times(0)).removeGatewaySenderId("2"); verify(mutator).addGatewaySenderId("3"); // asyncEventQueue is left intact verify(mutator, times(0)).addAsyncEventQueueId(any()); verify(mutator, times(0)).removeAsyncEventQueueId(any()); }
@Test public void executeAlterRegionAsyncEventQueue() throws Exception { String queueName = CreateMappingCommand.createAsyncEventQueueName(REGION_NAME); function.executeFunction(context); verify(service, times(1)).createRegionMapping(regionMapping); AttributesMutator mutator = region.getAttributesMutator(); verify(mutator, times(1)).addAsyncEventQueueId(queueName); }
@Test public void executeWithSynchronousNeverAltersRegionAsyncEventQueue() throws Exception { setupSynchronous(); function.executeFunction(context); AttributesMutator mutator = region.getAttributesMutator(); verify(mutator, never()).addAsyncEventQueueId(any()); }
/** * Change the existing region to have * the JdbcLoader as its cache-loader * and the given async-event-queue as one of its queues. */ private void alterRegion(Region<?, ?> region, String queueName, boolean synchronous) { region.getAttributesMutator().setCacheLoader(new JdbcLoader()); if (synchronous) { region.getAttributesMutator().setCacheWriter(new JdbcWriter()); } else { region.getAttributesMutator().addAsyncEventQueueId(queueName); } }
mutator.addAsyncEventQueueId(asyncEventQueueId);
.when(mockAttributesMutator).addAsyncEventQueueId(anyString());