package org.opendaylight.openflowjava.protocol.impl.connection;\r
\r
import static org.junit.Assert.fail;\r
+import static org.mockito.Mockito.times;\r
+import static org.mockito.Mockito.verify;\r
+import static org.mockito.Mockito.when;\r
+import io.netty.util.concurrent.Future;\r
\r
import java.util.Collections;\r
import java.util.concurrent.ExecutionException;\r
\r
import org.junit.Assert;\r
+import org.junit.Before;\r
import org.junit.Test;\r
+import org.mockito.Mock;\r
+import org.mockito.MockitoAnnotations;\r
import org.opendaylight.controller.sal.common.util.Rpcs;\r
import org.opendaylight.yangtools.yang.common.RpcError;\r
import org.opendaylight.yangtools.yang.common.RpcResult;\r
*/\r
public class SimpleRpcListenerTest {\r
\r
+ @Mock Future<Void> future;\r
+\r
+ /**\r
+ * Initializes mocks\r
+ */\r
+ @Before\r
+ public void startUp() {\r
+ MockitoAnnotations.initMocks(this);\r
+ }\r
+\r
/**\r
* Test SimpleRpcListener creation\r
*/\r
fail("Problem accessing result");\r
}\r
}\r
+\r
+ /**\r
+ * Test rpc success\r
+ */\r
+ @Test\r
+ public void testOperationComplete() {\r
+ when(future.isSuccess()).thenReturn(false);\r
+ SimpleRpcListener listener = new SimpleRpcListener("MESSAGE", "Failed to send message");\r
+ listener.operationComplete(future);\r
+ verify(future, times(1)).cause();\r
+ try {\r
+ Assert.assertEquals("Wrong result", 1, listener.getResult().get().getErrors().size());\r
+ } catch (InterruptedException | ExecutionException e) {\r
+ Assert.fail();\r
+ }\r
+ }\r
+\r
+ /**\r
+ * Test rpc success\r
+ */\r
+ @Test\r
+ public void testOperationComplete2() {\r
+ when(future.isSuccess()).thenReturn(true);\r
+ SimpleRpcListener listener = new SimpleRpcListener("MESSAGE", "Failed to send message");\r
+ listener.operationComplete(future);\r
+ verify(future, times(0)).cause();\r
+ try {\r
+ Assert.assertEquals("Wrong result", 0, listener.getResult().get().getErrors().size());\r
+ Assert.assertEquals("Wrong result", true, listener.getResult().get().isSuccessful());\r
+ } catch (InterruptedException | ExecutionException e) {\r
+ Assert.fail();\r
+ }\r
+ }\r
}
\ No newline at end of file