+ @Mock
+ private RpcContext removedContexts;
+ @Mock
+ private ConcurrentMap<DeviceInfo, RpcContext> contexts;
+ @Mock
+ private DeviceInfo deviceInfo;
+ @Mock
+ private LifecycleService lifecycleService;
+ @Mock
+ private ExtensionConverterProvider extensionConverterProvider;
+ @Mock
+ private ConvertorExecutor convertorExecutor;
+ @Mock
+ private NotificationPublishService notificationPublishService;
+
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
+
+ private KeyedInstanceIdentifier<Node, NodeKey> nodePath;
+
+ private NodeId nodeId = new NodeId("openflow-junit:1");
+
+ @Before
+ public void setUp() {
+ final NodeKey nodeKey = new NodeKey(nodeId);
+ rpcManager = new RpcManagerImpl(rpcProviderRegistry, QUOTA_VALUE, extensionConverterProvider, convertorExecutor, notificationPublishService);
+ rpcManager.setDeviceInitializationPhaseHandler(deviceINitializationPhaseHandler);
+
+ GetFeaturesOutput featuresOutput = new GetFeaturesOutputBuilder()
+ .setVersion(OFConstants.OFP_VERSION_1_3)
+ .build();
+
+ FeaturesReply features = featuresOutput;
+
+ Mockito.when(connectionContext.getFeatures()).thenReturn(features);
+ Mockito.when(deviceContext.getPrimaryConnectionContext()).thenReturn(connectionContext);
+ Mockito.when(deviceContext.getDeviceState()).thenReturn(deviceState);
+ Mockito.when(deviceContext.getItemLifeCycleSourceRegistry()).thenReturn(itemLifeCycleRegistry);
+ Mockito.when(deviceInfo.getNodeInstanceIdentifier()).thenReturn(nodePath);
+ rpcManager.setDeviceTerminationPhaseHandler(deviceTerminationPhaseHandler);
+ Mockito.when(connectionContext.getFeatures()).thenReturn(features);
+ Mockito.when(deviceContext.getPrimaryConnectionContext()).thenReturn(connectionContext);
+ Mockito.when(deviceContext.getDeviceState()).thenReturn(deviceState);
+ Mockito.when(deviceContext.getItemLifeCycleSourceRegistry()).thenReturn(itemLifeCycleRegistry);
+ Mockito.when(deviceInfo.getNodeInstanceIdentifier()).thenReturn(nodePath);
+ Mockito.when(deviceContext.getMessageSpy()).thenReturn(messageSpy);
+ Mockito.when(deviceInfo.getNodeId()).thenReturn(nodeKey.getId());
+ Mockito.when(rpcProviderRegistry.addRoutedRpcImplementation(
+ Matchers.any(), Matchers.any(RpcService.class)))
+ .thenReturn(routedRpcRegistration);
+ Mockito.when(contexts.remove(deviceInfo)).thenReturn(removedContexts);
+ Mockito.when(lifecycleService.getDeviceContext()).thenReturn(deviceContext);
+ }