@Test public void shouldRemoveSingleValidNode() { final JsonRpcRequest request = buildRequest(Lists.newArrayList(enode1)); final JsonRpcResponse expected = new JsonRpcSuccessResponse(request.getId(), SUCCESS_RESULT); when(p2pNetwork.getNodeWhitelistController()).thenReturn(nodeWhitelistController); when(nodeWhitelistController.removeNodes(any())) .thenReturn(new NodesWhitelistResult(NodesWhitelistResultType.SUCCESS)); final JsonRpcResponse actual = method.response(request); assertThat(actual).isEqualToComparingFieldByFieldRecursively(expected); verify(nodeWhitelistController, times(1)).removeNodes(any()); verifyNoMoreInteractions(nodeWhitelistController); }
@Test public void shouldRemoveMultipleValidNodes() { final JsonRpcRequest request = buildRequest(Lists.newArrayList(enode1, enode2, enode3)); final JsonRpcResponse expected = new JsonRpcSuccessResponse(request.getId(), SUCCESS_RESULT); when(p2pNetwork.getNodeWhitelistController()).thenReturn(nodeWhitelistController); when(nodeWhitelistController.removeNodes(any())) .thenReturn(new NodesWhitelistResult(NodesWhitelistResultType.SUCCESS)); final JsonRpcResponse actual = method.response(request); assertThat(actual).isEqualToComparingFieldByFieldRecursively(expected); verify(nodeWhitelistController, times(1)).removeNodes(any()); verifyNoMoreInteractions(nodeWhitelistController); }
@Test public void whenRemoveNodesInputHasDuplicateNodesShouldReturnErrorDuplicatedEntry() { NodesWhitelistResult expected = new NodesWhitelistResult(NodesWhitelistResultType.ERROR_DUPLICATED_ENTRY); NodesWhitelistResult actualResult = controller.removeNodes( Lists.newArrayList(DefaultPeer.fromURI(enode1), DefaultPeer.fromURI(enode1))); assertThat(actualResult).isEqualToComparingOnlyGivenFields(expected, "result"); } }
@Test public void whenRemoveNodesInputHasAbsentNodeShouldReturnRemoveErrorAbsentEntry() { NodesWhitelistResult expected = new NodesWhitelistResult(NodesWhitelistResultType.ERROR_ABSENT_ENTRY); NodesWhitelistResult actualResult = controller.removeNodes( Lists.newArrayList(DefaultPeer.fromURI(enode1), DefaultPeer.fromURI(enode2))); assertThat(actualResult).isEqualToComparingOnlyGivenFields(expected, "result"); }
@Test public void whenRequestContainsDuplicatedNodesShouldReturnDuplicatedEntryError() { final JsonRpcRequest request = buildRequest(Lists.newArrayList(enode1, enode1)); final JsonRpcResponse expected = new JsonRpcErrorResponse(request.getId(), JsonRpcError.NODE_WHITELIST_DUPLICATED_ENTRY); when(p2pNetwork.getNodeWhitelistController()).thenReturn(nodeWhitelistController); when(nodeWhitelistController.removeNodes(any())) .thenReturn(new NodesWhitelistResult(NodesWhitelistResultType.ERROR_DUPLICATED_ENTRY)); final JsonRpcResponse actual = method.response(request); assertThat(actual).isEqualToComparingFieldByFieldRecursively(expected); }