From 6e595c18f28d19bb2e39e73bbc64c62f5f41f0dc Mon Sep 17 00:00:00 2001 From: Justin Florentine Date: Mon, 14 Mar 2022 09:46:20 -0400 Subject: [PATCH] updated tests to ensure hex values are returned (#3564) Signed-off-by: Justin Florentine Co-authored-by: Sally MacFarlane --- ...ExchangeTransitionConfigurationResult.java | 9 ++------ ...neExchangeTransitionConfigurationTest.java | 22 ++++++++++++++++--- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineExchangeTransitionConfigurationResult.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineExchangeTransitionConfigurationResult.java index 69ec259bd8d..7f790268715 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineExchangeTransitionConfigurationResult.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/EngineExchangeTransitionConfigurationResult.java @@ -17,8 +17,6 @@ import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.core.Difficulty; -import java.util.Optional; - import com.fasterxml.jackson.annotation.JsonGetter; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -39,7 +37,7 @@ public EngineExchangeTransitionConfigurationResult( @JsonGetter(value = "terminalTotalDifficulty") public String getTerminalTotalDifficultyAsString() { - return terminalTotalDifficulty.toHexString(); + return Quantity.create(this.terminalTotalDifficulty.getAsBigInteger()); } public Difficulty getTerminalTotalDifficulty() { @@ -57,10 +55,7 @@ public Hash getTerminalBlockHash() { @JsonGetter(value = "terminalBlockNumber") public String getTerminalBlockNumberAsString() { - return Optional.of(terminalBlockNumber) - .filter(val -> val != 0L) - .map(Long::toHexString) - .orElse("0x0"); + return Quantity.create(this.terminalBlockNumber); } public Long getTerminalBlockNumber() { diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineExchangeTransitionConfigurationTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineExchangeTransitionConfigurationTest.java index dd65141fe5c..52c21be94c2 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineExchangeTransitionConfigurationTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineExchangeTransitionConfigurationTest.java @@ -159,8 +159,7 @@ public void shouldAlwaysReturnResultsInHex() throws JsonProcessingException { new EngineExchangeTransitionConfigurationResult(Difficulty.ZERO, Hash.ZERO, 0L); assertThat(mockResult.getTerminalBlockNumberAsString()).isEqualTo("0x0"); - assertThat(mockResult.getTerminalTotalDifficultyAsString()) - .isEqualTo(Difficulty.ZERO.toHexString()); + assertThat(mockResult.getTerminalTotalDifficultyAsString()).isEqualTo("0x0"); assertThat(mockResult.getTerminalBlockHashAsString()).isEqualTo(Hash.ZERO.toHexString()); String json = mapper.writeValueAsString(mockResult); @@ -168,8 +167,25 @@ public void shouldAlwaysReturnResultsInHex() throws JsonProcessingException { assertThat(res.get("terminalBlockNumber")).isEqualTo("0x0"); assertThat(res.get("terminalBlockHash")) .isEqualTo("0x0000000000000000000000000000000000000000000000000000000000000000"); - assertThat(res.get("terminalTotalDifficulty")) + assertThat(res.get("terminalTotalDifficulty")).isEqualTo("0x0"); + } + + @Test + public void shouldStripLeadingZeros() throws JsonProcessingException { + var mapper = new ObjectMapper(); + var mockResult = + new EngineExchangeTransitionConfigurationResult(Difficulty.ZERO, Hash.ZERO, 100); + + assertThat(mockResult.getTerminalBlockNumberAsString()).isEqualTo("0x64"); + assertThat(mockResult.getTerminalTotalDifficultyAsString()).isEqualTo("0x0"); + assertThat(mockResult.getTerminalBlockHashAsString()).isEqualTo(Hash.ZERO.toHexString()); + + String json = mapper.writeValueAsString(mockResult); + var res = mapper.readValue(json, Map.class); + assertThat(res.get("terminalBlockNumber")).isEqualTo("0x64"); + assertThat(res.get("terminalBlockHash")) .isEqualTo("0x0000000000000000000000000000000000000000000000000000000000000000"); + assertThat(res.get("terminalTotalDifficulty")).isEqualTo("0x0"); } @Test