@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 updateWithEmptyGatewaySenders() { regionAttributes.setGatewaySenderIds(""); when(region.getGatewaySenderIds()).thenReturn(new HashSet<>(Arrays.asList("1", "2"))); function.alterRegion(cache, config); verify(mutator).removeGatewaySenderId("1"); verify(mutator).removeGatewaySenderId("2"); }
@Test public void gatewaySender() { regionAttributes.setGatewaySenderIds(null); assertThat(regionAttributes.getGatewaySenderIdsAsSet()).isNull(); regionAttributes.setGatewaySenderIds(""); assertThat(regionAttributes.getGatewaySenderIdsAsSet()).isNotNull().isEmpty(); regionAttributes.setGatewaySenderIds("abc,def"); assertThat(regionAttributes.getGatewaySenderIdsAsSet()).isNotNull().hasSize(2); }
@Test public void alterWithAsyncEventQueueIds() { RegionConfig deltaConfig = getDeltaRegionConfig("alter region --name=regionA --async-event-queue-id=abc,def"); assertThat(deltaConfig.getRegionAttributes().getAsyncEventQueueIds()).isEqualTo("abc,def"); assertThat(deltaConfig.getRegionAttributes().getGatewaySenderIds()).isNull(); RegionAttributesType existingAttributes = new RegionAttributesType(); existingRegionConfig.setRegionAttributes(existingAttributes); existingAttributes.setAsyncEventQueueIds("xyz"); existingAttributes.setGatewaySenderIds("xyz"); command.updateConfigForGroup("cluster", cacheConfig, deltaConfig); assertThat(existingAttributes.getGatewaySenderIds()).isEqualTo("xyz"); assertThat(existingAttributes.getAsyncEventQueueIds()).isEqualTo("abc,def"); }
@Test public void alterWithNoAsyncEventQueueIds() { RegionConfig deltaConfig = getDeltaRegionConfig("alter region --name=regionA --async-event-queue-id=''"); assertThat(deltaConfig.getRegionAttributes().getAsyncEventQueueIds()).isEqualTo(""); assertThat(deltaConfig.getRegionAttributes().getGatewaySenderIds()).isNull(); RegionAttributesType existingAttributes = new RegionAttributesType(); existingRegionConfig.setRegionAttributes(existingAttributes); existingAttributes.setAsyncEventQueueIds("xyz"); existingAttributes.setGatewaySenderIds("xyz"); command.updateConfigForGroup("cluster", cacheConfig, deltaConfig); assertThat(existingAttributes.getGatewaySenderIds()).isEqualTo("xyz"); assertThat(existingAttributes.getAsyncEventQueueIds()).isEqualTo(""); assertThat(existingAttributes.getAsyncEventQueueIdsAsSet()).isNotNull().isEmpty(); }
regionAttributesType.setGatewaySenderIds(StringUtils.join(gatewaySenderIds, ","));
existingAttributes.setGatewaySenderIds(deltaAttributes.getGatewaySenderIds());