public void testDataStoreChangePostInsert() { InsertElementType insert = mock(InsertElementType.class); TransactionEvent event = mock(TransactionEvent.class); QName layerName = new QName("testType"); when(event.getLayerName()).thenReturn(layerName); when(event.getSource()).thenReturn(insert); when(event.getType()).thenReturn(TransactionEventType.POST_INSERT); listener.dataStoreChange(event); // no need to do anything at post insert, bounds computed at pre_insert verifyNoMoreInteractions(mediator); }
public void testDataStoreChangeOfNoInterest() { TransactionEvent event = mock(TransactionEvent.class); when(event.getSource()).thenReturn(new Object()); listener.dataStoreChange(event); verify(event, times(1)).getLayerName(); verify(event, times(1)).getType(); verify(event, times(1)).getSource(); verifyNoMoreInteractions(event, mediator); }
public void testDataStoreChangeDoesNotPropagateExceptions() { TransactionEvent event = mock(TransactionEvent.class); when(event.getSource()).thenThrow(new RuntimeException("fake")); try { listener.dataStoreChange(event); } catch (RuntimeException e) { fail("Exception should have been eaten to prevent the transaction from failing due to a gwc integration error"); } }
public void testDataStoreChangeDoesNotAffectTileLayer() { InsertElementType insert = mock(InsertElementType.class); TransactionEvent event = mock(TransactionEvent.class); QName layerName = new QName("testType"); when(event.getLayerName()).thenReturn(layerName); when(event.getSource()).thenReturn(insert); when(event.getType()).thenReturn(TransactionEventType.PRE_INSERT); when( mediator.getTileLayersByFeatureType(eq(layerName.getNamespaceURI()), eq(layerName.getLocalPart()))).thenReturn(Collections.EMPTY_SET); listener.dataStoreChange(event); // nothing else to do verify(mediator, times(1)).getTileLayersByFeatureType(eq(layerName.getNamespaceURI()), eq(layerName.getLocalPart())); verifyNoMoreInteractions(mediator); }
when(event.getAffectedFeatures()).thenReturn(affectedFeatures); listener.dataStoreChange(event);