1 package org.opendaylight.controller.config.threadpool.scheduled;
\r
3 import com.google.common.util.concurrent.ListenableFutureTask;
\r
4 import org.opendaylight.controller.config.api.DynamicMBeanWithInstance;
\r
5 import org.opendaylight.controller.config.api.ModuleIdentifier;
\r
6 import org.opendaylight.controller.config.manager.impl.AbstractMockedModule;
\r
7 import org.opendaylight.controller.config.spi.Module;
\r
8 import org.opendaylight.controller.config.threadpool.util.ScheduledThreadPoolWrapper;
\r
9 import org.opendaylight.controller.config.yang.threadpool.ScheduledThreadPoolServiceInterface;
\r
10 import org.opendaylight.controller.config.yang.threadpool.impl.scheduled.ScheduledThreadPoolModuleMXBean;
\r
12 import javax.management.ObjectName;
\r
13 import java.util.concurrent.ScheduledExecutorService;
\r
14 import java.util.concurrent.ScheduledFuture;
\r
15 import java.util.concurrent.TimeUnit;
\r
17 import static org.mockito.Matchers.any;
\r
18 import static org.mockito.Matchers.anyBoolean;
\r
19 import static org.mockito.Matchers.anyLong;
\r
20 import static org.mockito.Mockito.doNothing;
\r
21 import static org.mockito.Mockito.doReturn;
\r
22 import static org.mockito.Mockito.mock;
\r
24 public class TestingScheduledThreadPoolModule extends AbstractMockedModule implements
\r
25 ScheduledThreadPoolServiceInterface, Module, ScheduledThreadPoolModuleMXBean {
\r
27 public TestingScheduledThreadPoolModule(DynamicMBeanWithInstance old, ModuleIdentifier id) {
\r
32 protected AutoCloseable prepareMockedInstance() throws Exception {
\r
33 ScheduledThreadPoolWrapper instance = mock(ScheduledThreadPoolWrapper.class);
\r
34 ScheduledExecutorService ses = mock(ScheduledExecutorService.class);
\r
36 ScheduledFuture<?> future = mock(ScheduledFuture.class);
\r
37 doReturn(false).when(future).cancel(anyBoolean());
\r
39 doReturn(mock(Object.class)).when(future).get();
\r
40 } catch (Exception e) {
\r
41 throw new RuntimeException(e);
\r
43 doReturn(future).when(ses).schedule(any(Runnable.class), any(Long.class), any(TimeUnit.class));
\r
44 doReturn(future).when(ses).scheduleWithFixedDelay(any(Runnable.class), anyLong(), anyLong(),
\r
45 any(TimeUnit.class));
\r
48 doNothing().when(ses).execute(any(Runnable.class));
\r
49 doNothing().when(ses).execute(any(ListenableFutureTask.class));
\r
50 doReturn(ses).when(instance).getExecutor();
\r
51 doNothing().when(instance).close();
\r
53 doReturn(1).when(instance).getMaxThreadCount();
\r
58 public ObjectName getThreadFactory() {
\r
59 return any(ObjectName.class);
\r
63 public void setThreadFactory(ObjectName threadFactory) {
\r
67 public Integer getMaxThreadCount() {
\r
72 public void setMaxThreadCount(Integer maxThreadCount) {
\r