/** * Given a registered object, fetchObject should get it. If an object is not registered at a key, then fetchObject * should return null. */ @Test public void testRegisterAndFetchObject() { String value = "hello world"; taskContext.registerObject("key", value); assertEquals(value, taskContext.fetchObject("key")); assertNull(taskContext.fetchObject("not a key")); } }
this.taskName = taskContext.getTaskModel().getTaskName(); this.eosStates = (EndOfStreamStates) taskContext.fetchObject(EndOfStreamStates.class.getName()); this.watermarkStates = (WatermarkStates) taskContext.fetchObject(WatermarkStates.class.getName()); this.controlMessageSender = new ControlMessageSender(taskContext.getStreamMetadataCache()); this.taskModel = taskContext.getTaskModel();
this.taskName = taskContext.getTaskModel().getTaskName(); this.eosStates = (EndOfStreamStates) taskContext.fetchObject(EndOfStreamStates.class.getName()); this.watermarkStates = (WatermarkStates) taskContext.fetchObject(WatermarkStates.class.getName()); this.controlMessageSender = new ControlMessageSender(taskContext.getStreamMetadataCache()); this.taskModel = taskContext.getTaskModel();
this.taskName = taskContext.getTaskModel().getTaskName(); this.eosStates = (EndOfStreamStates) taskContext.fetchObject(EndOfStreamStates.class.getName()); this.watermarkStates = (WatermarkStates) taskContext.fetchObject(WatermarkStates.class.getName()); this.controlMessageSender = new ControlMessageSender(taskContext.getStreamMetadataCache()); this.taskModel = taskContext.getTaskModel();
this.eosStates = (EndOfStreamStates) taskContext.fetchObject(EndOfStreamStates.class.getName()); this.watermarkStates = (WatermarkStates) taskContext.fetchObject(WatermarkStates.class.getName()); this.controlMessageSender = new ControlMessageSender(taskContext.getStreamMetadataCache()); this.taskModel = taskContext.getTaskModel();
this.taskName = taskContext.getTaskModel().getTaskName(); this.eosStates = (EndOfStreamStates) taskContext.fetchObject(EndOfStreamStates.class.getName()); this.watermarkStates = (WatermarkStates) taskContext.fetchObject(WatermarkStates.class.getName()); this.controlMessageSender = new ControlMessageSender(taskContext.getStreamMetadataCache()); this.taskModel = taskContext.getTaskModel();
"integers", new Partition(0))), Collections.emptyMap()); when(((TaskContextImpl) this.context.getTaskContext()).fetchObject(EndOfStreamStates.class.getName())).thenReturn( endOfStreamStates); when(((TaskContextImpl) this.context.getTaskContext()).fetchObject(WatermarkStates.class.getName())).thenReturn( mock(WatermarkStates.class));
@Test public void testEndOfStreamFlushesWithNoTriggerFirings() throws Exception { EndOfStreamStates endOfStreamStates = new EndOfStreamStates(ImmutableSet.of(new SystemStreamPartition("kafka", "integers", new Partition(0))), Collections.emptyMap()); when(((TaskContextImpl) this.context.getTaskContext()).fetchObject(EndOfStreamStates.class.getName())).thenReturn( endOfStreamStates); when(((TaskContextImpl) this.context.getTaskContext()).fetchObject(WatermarkStates.class.getName())).thenReturn( mock(WatermarkStates.class)); OperatorSpecGraph sgb = this.getKeyedSessionWindowStreamGraph(AccumulationMode.DISCARDING, Duration.ofMillis(500)).getOperatorSpecGraph(); TestClock testClock = new TestClock(); List<WindowPane<Integer, Collection<IntegerEnvelope>>> windowPanes = new ArrayList<>(); StreamOperatorTask task = new StreamOperatorTask(sgb, testClock); task.init(this.context); MessageCollector messageCollector = envelope -> windowPanes.add((WindowPane<Integer, Collection<IntegerEnvelope>>) envelope.getMessage()); task.process(new IntegerEnvelope(1), messageCollector, taskCoordinator); task.process(new IntegerEnvelope(1), messageCollector, taskCoordinator); task.process(new IntegerEnvelope(1), messageCollector, taskCoordinator); task.process(new IntegerEnvelope(1), messageCollector, taskCoordinator); final IncomingMessageEnvelope endOfStream = IncomingMessageEnvelope.buildEndOfStreamEnvelope( new SystemStreamPartition("kafka", "integers", new Partition(0))); task.process(endOfStream, messageCollector, taskCoordinator); Assert.assertEquals(windowPanes.size(), 1); Assert.assertEquals(windowPanes.get(0).getMessage().size(), 4); verify(taskCoordinator, times(1)).commit(TaskCoordinator.RequestScope.CURRENT_TASK); verify(taskCoordinator, times(1)).shutdown(TaskCoordinator.RequestScope.CURRENT_TASK); }
"integers", new Partition(0))), Collections.emptyMap()); when(((TaskContextImpl) this.context.getTaskContext()).fetchObject(EndOfStreamStates.class.getName())).thenReturn( endOfStreamStates); when(((TaskContextImpl) this.context.getTaskContext()).fetchObject(WatermarkStates.class.getName())).thenReturn( mock(WatermarkStates.class));