diff options
Diffstat (limited to 'container-disc/src/test/java/com/yahoo/container/jdisc/ContainerThreadFactoryTest.java')
-rw-r--r-- | container-disc/src/test/java/com/yahoo/container/jdisc/ContainerThreadFactoryTest.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/container-disc/src/test/java/com/yahoo/container/jdisc/ContainerThreadFactoryTest.java b/container-disc/src/test/java/com/yahoo/container/jdisc/ContainerThreadFactoryTest.java new file mode 100644 index 00000000000..408eb813eb3 --- /dev/null +++ b/container-disc/src/test/java/com/yahoo/container/jdisc/ContainerThreadFactoryTest.java @@ -0,0 +1,46 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.container.jdisc; + +import com.yahoo.container.jdisc.metric.MetricConsumerProvider; +import com.yahoo.jdisc.application.ContainerThread; +import org.junit.Test; +import org.mockito.Mockito; + +import java.util.concurrent.ThreadFactory; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +/** + * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen Hult</a> + */ +public class ContainerThreadFactoryTest { + + @Test + public void requireThatMetricConsumerProviderCanNotBeNull() { + try { + new ContainerThreadFactory(null); + fail(); + } catch (NullPointerException e) { + + } + } + + @Test + public void requireThatThreadsCreatedAreJDiscContainerThreads() { + assertEquals(ContainerThread.class, + new ContainerThreadFactory(Mockito.mock(MetricConsumerProvider.class)) + .newThread(Mockito.mock(Runnable.class)) + .getClass()); + } + + @Test + public void requireThatThreadFactoryCallsProvider() { + MetricConsumerProvider provider = Mockito.mock(MetricConsumerProvider.class); + ThreadFactory factory = new ContainerThreadFactory(provider); + factory.newThread(Mockito.mock(Runnable.class)); + Mockito.verify(provider, Mockito.times(1)).newInstance(); + factory.newThread(Mockito.mock(Runnable.class)); + Mockito.verify(provider, Mockito.times(2)).newInstance(); + } +} |