From 4f11c696bec1de7760dcfdaf354bb3cfe1ceeb11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20B=C3=BClte?= Date: Fri, 15 Nov 2024 09:09:26 +0100 Subject: [PATCH] Draft test Add a flux command for waiting a specific time #495 --- .../flowcontrol/ObjectSleeperTest.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 metafacture-flowcontrol/src/test/java/org/metafacture/flowcontrol/ObjectSleeperTest.java diff --git a/metafacture-flowcontrol/src/test/java/org/metafacture/flowcontrol/ObjectSleeperTest.java b/metafacture-flowcontrol/src/test/java/org/metafacture/flowcontrol/ObjectSleeperTest.java new file mode 100644 index 00000000..1b6aea19 --- /dev/null +++ b/metafacture-flowcontrol/src/test/java/org/metafacture/flowcontrol/ObjectSleeperTest.java @@ -0,0 +1,73 @@ +/* + * Copyright 2016 Christoph Böhme + * + * Licensed under the Apache License, Version 2.0 the "License"; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + package org.metafacture.flowcontrol; + + import static org.mockito.ArgumentMatchers.anyString; + import static org.mockito.Mockito.doThrow; + + import org.junit.Before; + import org.junit.Test; + import org.metafacture.framework.MetafactureException; + import org.metafacture.framework.ObjectReceiver; + import org.mockito.Mock; + import org.mockito.MockitoAnnotations; + import java.time.Duration; + import java.time.Instant; + + /** + * Tests for class {@link ObjectSleeper}. + * + * @author Tobias Bülte + * + */ + public final class ObjectExceptionSleeperTest { + + @Mock + private ObjectReceiver sleepTimer; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @After + public void cleanup() { + bulk.closeStream(); + } + + + @Test + public void shouldTestIfClockedTimeExceedsDuration() { + long sleepTime = 10; + + objectSleeper = new ObjectSleeper(); + objectSleeper.setSleepTime(sleepTime); + Instant start = Instant.now(); + sleepTimer.objectSleeper(); + Instant end = Instant.now(); + + Duration timeElapsed = Duration.between(start, end); + + if (timeElampse > sleepTime) { + exception.expect(MetafactureException.class); + exception.expectMessage("Process did not sleep enough."); + } + + } + + + }