summaryrefslogtreecommitdiffstats
path: root/jdisc_core/src/test/java
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2018-06-19 15:19:50 +0200
committerHåkon Hallingstad <hakon@oath.com>2018-06-19 15:19:50 +0200
commit4b0cb1bcc2a6ee5890e59360bcb70d591a3a590e (patch)
treee82b5384a48ac78513896fdaa3bdf3b9189be58c /jdisc_core/src/test/java
parent324d68bb381d070e8a419948d74509d4136cae3a (diff)
Add timeout to set-node-state calls from Orchestrator
Diffstat (limited to 'jdisc_core/src/test/java')
-rw-r--r--jdisc_core/src/test/java/com/yahoo/jdisc/TimeBudgetTestCase.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/jdisc_core/src/test/java/com/yahoo/jdisc/TimeBudgetTestCase.java b/jdisc_core/src/test/java/com/yahoo/jdisc/TimeBudgetTestCase.java
new file mode 100644
index 00000000000..5afc205beb3
--- /dev/null
+++ b/jdisc_core/src/test/java/com/yahoo/jdisc/TimeBudgetTestCase.java
@@ -0,0 +1,29 @@
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.jdisc;
+
+import org.junit.Test;
+
+import java.time.Duration;
+import java.time.Instant;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class TimeBudgetTestCase {
+ private final Timer timer = mock(Timer.class);
+
+ @Test
+ public void testBasics() {
+ when(timer.currentTime()).thenReturn(Instant.ofEpochSecond(0));
+ TimeBudget timeBudget = TimeBudget.fromNow(timer, Duration.ofSeconds(10));
+
+ when(timer.currentTime()).thenReturn(Instant.ofEpochSecond(7));
+ assertEquals(Duration.ofSeconds(3), timeBudget.timeBeforeDeadline(Duration.ofSeconds(0)));
+ assertEquals(Duration.ofSeconds(1), timeBudget.timeBeforeDeadline(Duration.ofSeconds(2)));
+ assertEquals(Duration.ofSeconds(0), timeBudget.timeBeforeDeadline(Duration.ofSeconds(5)));
+
+ when(timer.currentTime()).thenReturn(Instant.ofEpochSecond(11));
+ assertEquals(Duration.ofSeconds(0), timeBudget.timeBeforeDeadline(Duration.ofSeconds(0)));
+ }
+} \ No newline at end of file