Proxy controller services in DOMMountPointServiceImpl
[controller.git] / opendaylight / md-sal / sal-dom-compat / src / test / java / org / opendaylight / controller / sal / core / compat / DOMMountPointAdapterTest.java
1 /*
2  * Copyright (c) 2018 Pantheon Technologies, s.r.o. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.controller.sal.core.compat;
9
10 import static org.junit.Assert.assertFalse;
11 import static org.junit.Assert.assertTrue;
12 import static org.mockito.ArgumentMatchers.any;
13 import static org.mockito.Mockito.doReturn;
14 import static org.mockito.Mockito.mock;
15
16 import com.google.common.collect.ImmutableClassToInstanceMap;
17 import java.util.Optional;
18 import org.junit.Before;
19 import org.junit.Test;
20 import org.junit.runner.RunWith;
21 import org.mockito.Mock;
22 import org.mockito.junit.MockitoJUnitRunner;
23 import org.opendaylight.controller.md.sal.dom.api.DOMActionService;
24 import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
25 import org.opendaylight.controller.md.sal.dom.api.DOMNotificationService;
26 import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
27 import org.opendaylight.mdsal.dom.api.DOMMountPoint;
28
29 @Deprecated
30 @RunWith(MockitoJUnitRunner.StrictStubs.class)
31 public class DOMMountPointAdapterTest {
32     @Mock
33     private DOMMountPoint delegate;
34
35     private DOMMountPointAdapter adapter;
36
37     @Before
38     public void before() {
39         doReturn(Optional.empty()).when(delegate).getService(any());
40         adapter = new DOMMountPointAdapter(delegate);
41     }
42
43     @Test
44     public void testDOMActionService() {
45         assertFalse(adapter.getService(DOMActionService.class).isPresent());
46
47         org.opendaylight.mdsal.dom.api.DOMActionService mdsal =
48                 mock(org.opendaylight.mdsal.dom.api.DOMActionService.class);
49
50         doReturn(Optional.of(mdsal)).when(delegate).getService(org.opendaylight.mdsal.dom.api.DOMActionService.class);
51         assertTrue(adapter.getService(DOMActionService.class).isPresent());
52     }
53
54     @Test
55     public void testDOMDataBroker() {
56         assertFalse(adapter.getService(DOMDataBroker.class).isPresent());
57
58         org.opendaylight.mdsal.dom.api.DOMDataBroker mdsal = mock(org.opendaylight.mdsal.dom.api.DOMDataBroker.class);
59         doReturn(ImmutableClassToInstanceMap.of()).when(mdsal).getExtensions();
60
61         doReturn(Optional.of(mdsal)).when(delegate).getService(org.opendaylight.mdsal.dom.api.DOMDataBroker.class);
62         assertTrue(adapter.getService(DOMDataBroker.class).isPresent());
63     }
64
65     @Test
66     public void testDOMNotificationService() {
67         assertFalse(adapter.getService(DOMNotificationService.class).isPresent());
68
69         org.opendaylight.mdsal.dom.api.DOMNotificationService mdsal =
70                 mock(org.opendaylight.mdsal.dom.api.DOMNotificationService.class);
71
72         doReturn(Optional.of(mdsal)).when(delegate).getService(
73             org.opendaylight.mdsal.dom.api.DOMNotificationService.class);
74         assertTrue(adapter.getService(DOMNotificationService.class).isPresent());
75     }
76
77     @Test
78     public void testDOMRpcService() {
79         assertFalse(adapter.getService(DOMRpcService.class).isPresent());
80
81         org.opendaylight.mdsal.dom.api.DOMRpcService mdsal = mock(org.opendaylight.mdsal.dom.api.DOMRpcService.class);
82
83         doReturn(Optional.of(mdsal)).when(delegate).getService(org.opendaylight.mdsal.dom.api.DOMRpcService.class);
84         assertTrue(adapter.getService(DOMRpcService.class).isPresent());
85     }
86 }