import org.opendaylight.openflowplugin.api.openflow.device.XidSequencer;
import org.opendaylight.openflowplugin.api.openflow.rpc.RpcContext;
import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.MessageSpy;
+import org.opendaylight.openflowplugin.extension.api.core.extension.ExtensionConverterProvider;
+import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorExecutor;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeContext;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
@Mock
private DeviceContext deviceContext;
@Mock
- private BindingAwareBroker.RoutedRpcRegistration routedRpcReg;
+ private BindingAwareBroker.RoutedRpcRegistration<TestRpcService> routedRpcReg;
+
+ private Class<TestRpcService> serviceClass;
@Mock
private NotificationPublishService notificationPublishService;
@Mock
private TestRpcService serviceInstance;
@Mock
private DeviceInfo deviceInfo;
+ @Mock
+ private ExtensionConverterProvider extensionConverterProvider;
+ @Mock
+ private ConvertorExecutor convertorExecutor;
private KeyedInstanceIdentifier<Node, NodeKey> nodeInstanceIdentifier;
when(deviceInfo.getNodeInstanceIdentifier()).thenReturn(nodeInstanceIdentifier);
when(deviceContext.getMessageSpy()).thenReturn(messageSpy);
- rpcContext = new RpcContextImpl(rpcProviderRegistry,deviceContext, messageSpy, MAX_REQUESTS,nodeInstanceIdentifier);
+ rpcContext = new RpcContextImpl(
+ deviceInfo,
+ rpcProviderRegistry,
+ messageSpy,
+ MAX_REQUESTS,
+ nodeInstanceIdentifier,
+ deviceContext,
+ extensionConverterProvider,
+ convertorExecutor,
+ notificationPublishService);
when(rpcProviderRegistry.addRoutedRpcImplementation(TestRpcService.class, serviceInstance)).thenReturn(routedRpcReg);
@Test
public void testStoreOrFail() throws Exception {
- try (final RpcContext rpcContext = new RpcContextImpl(rpcProviderRegistry, xidSequencer,
- messageSpy, 100, nodeInstanceIdentifier)) {
+ try (final RpcContext rpcContext = new RpcContextImpl(
+ deviceInfo,
+ rpcProviderRegistry,
+ messageSpy,
+ 100,
+ nodeInstanceIdentifier,
+ deviceContext,
+ extensionConverterProvider,
+ convertorExecutor,
+ notificationPublishService)){
final RequestContext<?> requestContext = rpcContext.createRequestContext();
assertNotNull(requestContext);
}
@Test
public void testStoreOrFailThatFails() throws Exception {
- try (final RpcContext rpcContext = new RpcContextImpl(rpcProviderRegistry, xidSequencer,
- messageSpy, 0, nodeInstanceIdentifier)) {
+ try (final RpcContext rpcContext = new RpcContextImpl(
+ deviceInfo,
+ rpcProviderRegistry,
+ messageSpy,
+ 0,
+ nodeInstanceIdentifier,
+ deviceContext,
+ extensionConverterProvider,
+ convertorExecutor,
+ notificationPublishService)){
final RequestContext<?> requestContext = rpcContext.createRequestContext();
assertNull(requestContext);
}
@Test
public void testStoreAndCloseOrFail() throws Exception {
- try (final RpcContext rpcContext = new RpcContextImpl(rpcProviderRegistry, deviceContext, messageSpy,
- 100, nodeInstanceIdentifier)) {
+ try (final RpcContext rpcContext = new RpcContextImpl(
+ deviceInfo,
+ rpcProviderRegistry,
+ messageSpy,
+ 100,
+ nodeInstanceIdentifier,
+ deviceContext,
+ extensionConverterProvider,
+ convertorExecutor,
+ notificationPublishService)){
final RequestContext<?> requestContext = rpcContext.createRequestContext();
assertNotNull(requestContext);
requestContext.close();
@Test
public void testClose() {
+ serviceClass = TestRpcService.class;
+ when(routedRpcReg.getServiceType()).thenReturn(serviceClass);
rpcContext.registerRpcServiceImplementation(TestRpcService.class, serviceInstance);
rpcContext.close();
assertEquals(rpcContext.isEmptyRpcRegistrations(), true);
*/
@Test
public void testCreateRequestContext1() throws InterruptedException {
- when(deviceContext.reserveXidForDeviceMessage()).thenReturn(null);
+ when(deviceInfo.reserveXidForDeviceMessage()).thenReturn(null);
assertEquals(rpcContext.createRequestContext(),null);
}