diff options
Diffstat (limited to 'orchestrator/src/test/java/com/yahoo/vespa/orchestrator/policy/SuspensionReasonsTest.java')
-rw-r--r-- | orchestrator/src/test/java/com/yahoo/vespa/orchestrator/policy/SuspensionReasonsTest.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/policy/SuspensionReasonsTest.java b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/policy/SuspensionReasonsTest.java new file mode 100644 index 00000000000..11274dc5d75 --- /dev/null +++ b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/policy/SuspensionReasonsTest.java @@ -0,0 +1,40 @@ +package com.yahoo.vespa.orchestrator.policy;// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +import com.yahoo.test.ManualClock; +import com.yahoo.vespa.applicationmodel.HostName; +import com.yahoo.vespa.applicationmodel.ServiceInstance; +import org.junit.Test; + +import java.time.Duration; +import java.time.Instant; +import java.util.Optional; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class SuspensionReasonsTest { + private final ManualClock clock = new ManualClock(Instant.ofEpochMilli(1600440708123L)); + private final ServiceInstance service = mock(ServiceInstance.class); + private final ServiceInstance service2 = mock(ServiceInstance.class); + + @Test + public void test() { + assertEquals(Optional.empty(), new SuspensionReasons().makeLogMessage()); + assertEquals(Optional.empty(), SuspensionReasons.nothingNoteworthy().makeLogMessage()); + + when(service.hostName()).thenReturn(new HostName("host1")); + when(service.descriptiveName()).thenReturn("service1"); + when(service2.hostName()).thenReturn(new HostName("host2")); + when(service2.descriptiveName()).thenReturn("service2"); + + var reasons = SuspensionReasons.downSince(service, clock.instant(), Duration.ofSeconds(30)); + reasons.mergeWith(SuspensionReasons.isDown(service2)); + assertEquals(Optional.of( + "host1 suspended because service1 has been down since 2020-09-18T14:51:48Z (30 seconds); " + + "host2 suspended because service2 is down"), + reasons.makeLogMessage()); + + } + +}
\ No newline at end of file |