@Test public void shouldAddSingleValidNode() { final JsonRpcRequest request = buildRequest(Lists.newArrayList(enode1)); final JsonRpcResponse expected = new JsonRpcSuccessResponse(request.getId(), JSON_SUCCESS); when(p2pNetwork.getNodeWhitelistController()).thenReturn(nodeWhitelistController); when(nodeWhitelistController.addNodes(any())) .thenReturn(new NodesWhitelistResult(NodesWhitelistResultType.SUCCESS)); final JsonRpcResponse actual = method.response(request); assertThat(actual).isEqualToComparingFieldByFieldRecursively(expected); verify(nodeWhitelistController, times(1)).addNodes(any()); verifyNoMoreInteractions(nodeWhitelistController); }
@Test public void shouldReturnFailResponseWhenListNotSet() { final JsonRpcRequest request = buildRequest(); final JsonRpcResponse expected = new JsonRpcErrorResponse(request.getId(), JsonRpcError.NODE_WHITELIST_NOT_SET); when(p2pNetwork.getNodeWhitelistController()).thenReturn(nodeWhitelistController); when(nodeWhitelistController.nodeWhitelistSet()).thenReturn(false); final JsonRpcResponse actual = method.response(request); assertThat(actual).isEqualToComparingFieldByFieldRecursively(expected); verify(nodeWhitelistController, times(1)).nodeWhitelistSet(); verifyNoMoreInteractions(nodeWhitelistController); }
@Test public void shouldAddMultipleValidNodes() { final JsonRpcRequest request = buildRequest(Lists.newArrayList(enode1, enode2, enode3)); final JsonRpcResponse expected = new JsonRpcSuccessResponse(request.getId(), JSON_SUCCESS); when(p2pNetwork.getNodeWhitelistController()).thenReturn(nodeWhitelistController); when(nodeWhitelistController.addNodes(any())) .thenReturn(new NodesWhitelistResult(NodesWhitelistResultType.SUCCESS)); final JsonRpcResponse actual = method.response(request); assertThat(actual).isEqualToComparingFieldByFieldRecursively(expected); verify(nodeWhitelistController, times(1)).addNodes(any()); verifyNoMoreInteractions(nodeWhitelistController); }
@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 shouldReturnSuccessResponseWhenListPopulated() { final JsonRpcRequest request = buildRequest(); final JsonRpcResponse expected = new JsonRpcSuccessResponse(request.getId(), Lists.newArrayList(enode1, enode2, enode3)); when(p2pNetwork.getNodeWhitelistController()).thenReturn(nodeWhitelistController); when(nodeWhitelistController.nodeWhitelistSet()).thenReturn(true); when(nodeWhitelistController.getNodesWhitelist()) .thenReturn(buildNodesList(enode1, enode2, enode3)); final JsonRpcResponse actual = method.response(request); assertThat(actual).isEqualToComparingFieldByFieldRecursively(expected); verify(nodeWhitelistController, times(1)).nodeWhitelistSet(); verify(nodeWhitelistController, times(1)).getNodesWhitelist(); verifyNoMoreInteractions(nodeWhitelistController); }
@Test public void shouldReturnSuccessResponseWhenListSetAndEmpty() { final JsonRpcRequest request = buildRequest(); final JsonRpcResponse expected = new JsonRpcSuccessResponse(request.getId(), Lists.emptyList()); when(p2pNetwork.getNodeWhitelistController()).thenReturn(nodeWhitelistController); when(nodeWhitelistController.nodeWhitelistSet()).thenReturn(true); when(nodeWhitelistController.getNodesWhitelist()).thenReturn(buildNodesList()); final JsonRpcResponse actual = method.response(request); assertThat(actual).isEqualToComparingFieldByFieldRecursively(expected); verify(nodeWhitelistController, times(1)).nodeWhitelistSet(); verify(nodeWhitelistController, times(1)).getNodesWhitelist(); verifyNoMoreInteractions(nodeWhitelistController); }
@Test public void shouldFailWhenP2pDisabled() { when(p2pNetwork.getNodeWhitelistController()) .thenThrow(new P2pDisabledException("P2P disabled.")); final JsonRpcRequest request = buildRequest(); final JsonRpcResponse expectedResponse = new JsonRpcErrorResponse(request.getId(), JsonRpcError.P2P_DISABLED); assertThat(method.response(request)).isEqualToComparingFieldByField(expectedResponse); }
@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.addNodes(any())) .thenReturn(new NodesWhitelistResult(NodesWhitelistResultType.ERROR_DUPLICATED_ENTRY)); final JsonRpcResponse actual = method.response(request); assertThat(actual).isEqualToComparingFieldByFieldRecursively(expected); }
@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); }
@Test public void shouldFailWhenP2pDisabled() { when(p2pNetwork.getNodeWhitelistController()) .thenThrow(new P2pDisabledException("P2P disabled.")); final JsonRpcRequest request = buildRequest(Lists.newArrayList(enode1, enode2, enode3)); ; final JsonRpcResponse expectedResponse = new JsonRpcErrorResponse(request.getId(), JsonRpcError.P2P_DISABLED); assertThat(method.response(request)).isEqualToComparingFieldByField(expectedResponse); }
@Test public void shouldFailWhenP2pDisabled() { when(p2pNetwork.getNodeWhitelistController()) .thenThrow(new P2pDisabledException("P2P disabled.")); final JsonRpcRequest request = buildRequest(Lists.newArrayList(enode1, enode2, enode3)); final JsonRpcResponse expectedResponse = new JsonRpcErrorResponse(request.getId(), JsonRpcError.P2P_DISABLED); assertThat(method.response(request)).isEqualToComparingFieldByField(expectedResponse); }