Correct ActionProviderService method definition
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / test / java / org / opendaylight / mdsal / binding / dom / adapter / BindingDOMAdapterLoaderTest.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. 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.mdsal.binding.dom.adapter;
9
10 import static org.junit.Assert.assertFalse;
11 import static org.junit.Assert.assertNotNull;
12 import static org.junit.Assert.assertTrue;
13 import static org.mockito.Mockito.doReturn;
14 import static org.mockito.Mockito.mock;
15
16 import com.google.common.collect.ImmutableClassToInstanceMap;
17 import org.junit.Before;
18 import org.junit.Test;
19 import org.junit.runner.RunWith;
20 import org.mockito.Mock;
21 import org.mockito.junit.MockitoJUnitRunner;
22 import org.opendaylight.mdsal.binding.api.DataBroker;
23 import org.opendaylight.mdsal.binding.api.TransactionChainListener;
24 import org.opendaylight.mdsal.dom.api.DOMDataBroker;
25 import org.opendaylight.mdsal.dom.api.DOMService;
26
27 @RunWith(MockitoJUnitRunner.StrictStubs.class)
28 public class BindingDOMAdapterLoaderTest {
29
30     @Mock
31     private DOMDataBroker domService;
32     @Mock
33     private AdapterContext mockContext;
34
35     private BindingDOMAdapterLoader bindingDOMAdapterLoader;
36     private BindingDOMDataBrokerAdapter bindingDOMDataBrokerAdapter;
37
38     @Before
39     public void setUp() {
40         doReturn(ImmutableClassToInstanceMap.of()).when(domService).getExtensions();
41         bindingDOMAdapterLoader = new BindingDOMAdapterLoader(mockContext) {
42             @Override
43             protected DOMService getDelegate(final Class<? extends DOMService> reqDeleg) {
44                 return domService;
45             }
46         };
47     }
48
49     @Test
50     public void createBuilderTest() {
51         assertTrue(bindingDOMAdapterLoader.load(DataBroker.class).get() instanceof BindingDOMDataBrokerAdapter);
52         domService = null;
53         assertFalse(bindingDOMAdapterLoader.load(DataBroker.class).isPresent());
54     }
55
56     @Test
57     public void createChainTest() {
58         bindingDOMDataBrokerAdapter
59                 = (BindingDOMDataBrokerAdapter) bindingDOMAdapterLoader.load(DataBroker.class).get();
60         assertNotNull(bindingDOMDataBrokerAdapter.createTransactionChain(mock(TransactionChainListener.class)));
61     }
62
63     @Test(expected = UnsupportedOperationException.class)
64     public void registerWithException() {
65         bindingDOMDataBrokerAdapter
66                 = (BindingDOMDataBrokerAdapter) bindingDOMAdapterLoader.load(DataBroker.class).get();
67         bindingDOMDataBrokerAdapter.registerDataTreeChangeListener(null, null);
68     }
69 }