- final BindingTransactionChain mockedTxChain = mock(BindingTransactionChain.class);
- final WriteTransaction mockedWTx = mock(WriteTransaction.class);
- when(mockedTxChain.newWriteOnlyTransaction()).thenReturn(mockedWTx);
- when(mockedDataBroker.createTransactionChain(any(TransactionChainListener.class))).thenReturn
- (mockedTxChain);
- when(mockedDataBroker.newWriteOnlyTransaction()).thenReturn(mockedWriteTransaction);
-
- when(mockedWriteTransaction.submit()).thenReturn(mockedFuture);
-
- final DeviceManagerImpl deviceManager = new DeviceManagerImpl(mockedDataBroker,
- TEST_VALUE_GLOBAL_NOTIFICATION_QUOTA, false, barrierIntervalNanos, barrierCountLimit, lifecycleConductor);
-
- deviceManager.setDeviceInitializationPhaseHandler(deviceInitPhaseHandler);
- deviceManager.setDeviceTerminationPhaseHandler(deviceTerminationPhaseHandler);
-
- return deviceManager;
- }
-
- public void onDeviceContextLevelUp(final boolean withException) throws Exception {
- final DeviceManagerImpl deviceManager = prepareDeviceManager(withException);
- final DeviceState mockedDeviceState = mock(DeviceState.class);
- when(mockedDeviceContext.getDeviceState()).thenReturn(mockedDeviceState);
-
- if (withException) {
- doThrow(new IllegalStateException("dummy")).when(mockedDeviceContext).initialSubmitTransaction();
- }
- deviceManager.addDeviceContextToMap(deviceInfo, mockedDeviceContext);
- deviceManager.onDeviceContextLevelUp(deviceInfo);
- if (withException) {
- verify(mockedDeviceContext).close();
- } else {
- verify(mockedDeviceContext).initialSubmitTransaction();
- verify(mockedDeviceContext).onPublished();
- }