public void testDataStoreChangeInsert() { Map<Object, Object> extendedProperties = new HashMap<Object, Object>(); ReferencedEnvelope affectedBounds = new ReferencedEnvelope(-180, 0, 0, 90, WGS84); issueInsert(extendedProperties, affectedBounds); assertTrue(extendedProperties .containsKey(GWCTransactionListener.GWC_TRANSACTION_INFO_PLACEHOLDER)); @SuppressWarnings("unchecked") Map<String, List<ReferencedEnvelope>> placeHolder = (Map<String, List<ReferencedEnvelope>>) extendedProperties .get(GWCTransactionListener.GWC_TRANSACTION_INFO_PLACEHOLDER); assertNotNull(placeHolder.get("theLayer")); assertSame(affectedBounds, placeHolder.get("theLayer").get(0)); assertSame(affectedBounds, placeHolder.get("theGroup").get(0)); }
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 testNoInteractionsInUnusedMethods() { TransactionType request = mock(TransactionType.class); TransactionType returned = listener.beforeTransaction(request); assertSame(request, returned); verifyNoMoreInteractions(request, mediator); listener.beforeCommit(request); verifyNoMoreInteractions(request, mediator); }
public void testAfterTransaction() throws Exception { Map<Object, Object> extendedProperties = new HashMap<Object, Object>(); ReferencedEnvelope affectedBounds1 = new ReferencedEnvelope(-180, 0, 0, 90, WGS84); ReferencedEnvelope affectedBounds2 = new ReferencedEnvelope(0, 180, 0, 90, WGS84); issueInsert(extendedProperties, affectedBounds1); issueInsert(extendedProperties, affectedBounds2); TransactionType request = mock(TransactionType.class); TransactionResponseType result = mock(TransactionResponseType.class); when(request.getExtendedProperties()).thenReturn(extendedProperties); when(mediator.getDeclaredCrs(anyString())).thenReturn(WGS84); listener.afterTransaction(request, result, true); ReferencedEnvelope expectedEnv = new ReferencedEnvelope(affectedBounds1); expectedEnv.expandToInclude(affectedBounds2); verify(mediator, times(1)).truncate(eq("theLayer"), eq(expectedEnv)); verify(mediator, times(1)).truncate(eq("theGroup"), eq(expectedEnv)); }