Add blueprint XML for bgp-parser-spi
[bgpcep.git] / bgp / bmp-impl / src / test / java / org / opendaylight / controller / config / yang / bmp / impl / AbstractBmpModuleTest.java
1 /*
2  * Copyright (c) 2016 Brocade Communications 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.controller.config.yang.bmp.impl;
9
10 import static org.mockito.Matchers.any;
11 import static org.mockito.Matchers.anyString;
12 import static org.mockito.Matchers.contains;
13 import static org.mockito.Mockito.doAnswer;
14 import static org.mockito.Mockito.doReturn;
15 import static org.mockito.Mockito.mock;
16 import org.junit.Before;
17 import org.mockito.Mockito;
18 import org.mockito.invocation.InvocationOnMock;
19 import org.mockito.stubbing.Answer;
20 import org.opendaylight.controller.config.manager.impl.AbstractConfigTest;
21 import org.opendaylight.protocol.bgp.parser.spi.AddressFamilyRegistry;
22 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
23 import org.opendaylight.protocol.bgp.parser.spi.MessageRegistry;
24 import org.opendaylight.protocol.bgp.parser.spi.SubsequentAddressFamilyRegistry;
25 import org.osgi.framework.Filter;
26 import org.osgi.framework.ServiceListener;
27 import org.osgi.framework.ServiceReference;
28
29 /**
30  * Abstract base class for bmp module tests.
31  *
32  * @author Thomas Pantelis
33  */
34 public class AbstractBmpModuleTest extends AbstractConfigTest {
35     @Before
36     public void setUp() throws Exception {
37         doAnswer(new Answer<Filter>() {
38             @Override
39             public Filter answer(final InvocationOnMock invocation) {
40                 final String str = invocation.getArgumentAt(0, String.class);
41                 final Filter mockFilter = mock(Filter.class);
42                 doReturn(str).when(mockFilter).toString();
43                 return mockFilter;
44             }
45         }).when(mockedContext).createFilter(anyString());
46
47         Mockito.doNothing().when(this.mockedContext).addServiceListener(any(ServiceListener.class), Mockito.anyString());
48         Mockito.doNothing().when(this.mockedContext).removeServiceListener(any(ServiceListener.class));
49
50         BGPExtensionProviderContext mockContext = mock(BGPExtensionProviderContext.class);
51         doReturn(mock(AddressFamilyRegistry.class)).when(mockContext).getAddressFamilyRegistry();
52         doReturn(mock(MessageRegistry.class)).when(mockContext).getMessageRegistry();
53         doReturn(mock(SubsequentAddressFamilyRegistry.class)).when(mockContext).getSubsequentAddressFamilyRegistry();
54         setupMockService(BGPExtensionProviderContext.class, mockContext);
55     }
56
57     void setupMockService(final Class<?> serviceInterface, final Object instance) throws Exception {
58         final ServiceReference<?> mockServiceRef = mock(ServiceReference.class);
59         doReturn(new ServiceReference[]{mockServiceRef}).when(mockedContext).
60                 getServiceReferences(anyString(), contains(serviceInterface.getName()));
61         doReturn(new ServiceReference[]{mockServiceRef}).when(mockedContext).
62                 getServiceReferences(serviceInterface.getName(), null);
63         doReturn(instance).when(mockedContext).getService(mockServiceRef);
64     }
65 }