private GenesisConfigFile configWithProperty(final String key, final String value) { return GenesisConfigFile.fromConfig("{\"" + key + "\":\"" + value + "\"}"); }
private CliqueConfigOptions fromConfigOptions(final Map<String, Object> cliqueConfigOptions) { return GenesisConfigFile.fromConfig( new JsonObject(singletonMap("config", singletonMap("clique", cliqueConfigOptions)))) .getConfigOptions() .getCliqueConfigOptions(); } }
private IbftConfigOptions fromConfigOptions(final Map<String, Object> ibftConfigOptions) { return GenesisConfigFile.fromConfig( new JsonObject(singletonMap("config", singletonMap("ibft", ibftConfigOptions)))) .getConfigOptions() .getIbftConfigOptions(); } }
private int cliqueBlockPeriod(final PantheonNode node) { final String config = node.genesisConfigProvider().createGenesisConfig(emptyList()).get(); final GenesisConfigFile genesisConfigFile = GenesisConfigFile.fromConfig(config); final CliqueConfigOptions cliqueConfigOptions = genesisConfigFile.getConfigOptions().getCliqueConfigOptions(); return cliqueConfigOptions.getBlockPeriodSeconds(); }
@Test public void shouldFallbackToDefaultBlockPeriod() { final CliqueConfigOptions config = fromConfigOptions(emptyMap()); assertThat(config.getBlockPeriodSeconds()).isEqualTo(EXPECTED_DEFAULT_BLOCK_PERIOD); }
@Test public void shouldGetBlockPeriodFromConfig() { final IbftConfigOptions config = fromConfigOptions(singletonMap("BlockPeriodSeconds", 5)); assertThat(config.getBlockPeriodSeconds()).isEqualTo(5); }
@Test public void shouldNotUseEthHashIfEthHashNotPresent() { final GenesisConfigOptions config = fromConfigOptions(emptyMap()); assertThat(config.isEthHash()).isFalse(); }
@Test public void shouldGetDifficulty() { assertThat(configWithProperty("difficulty", "1234").getDifficulty()).isEqualTo("1234"); }
@Test public void shouldGetExtraData() { assertThat(configWithProperty("extraData", "yay").getExtraData()).isEqualTo("yay"); }
@Test public void shouldGetParentHash() { assertThat(configWithProperty("parentHash", "844633").getParentHash()).isEqualTo("844633"); }
@Test public void shouldGetTimestamp() { assertThat(configWithProperty("timestamp", "0x10").getTimestamp()).isEqualTo(16L); }
@Test public void shouldGetMixHash() { assertThat(configWithProperty("mixHash", "asdf").getMixHash()).isEqualTo("asdf"); }
@Test public void shouldGetNonce() { assertThat(configWithProperty("nonce", "ABCD").getNonce()).isEqualTo("ABCD"); }
@Test public void shouldGetGasLimit() { assertThat(configWithProperty("gasLimit", "1000").getGasLimit()).isEqualTo(1000); }
@Test public void shouldGetCoinbase() { assertThat(configWithProperty("coinbase", "abcd").getCoinbase()).contains("abcd"); }
@Test public void shouldGetConstantinopleBlockNumber() { final GenesisConfigOptions config = fromConfigOptions(singletonMap("constantinopleBlock", 1000)); assertThat(config.getConstantinopleBlockNumber()).hasValue(1000); }
@Test public void shouldGetHomesteadBlockNumber() { final GenesisConfigOptions config = fromConfigOptions(singletonMap("homesteadBlock", 1000)); assertThat(config.getHomesteadBlockNumber()).hasValue(1000); }
@Test public void shouldRequireDifficulty() { assertInvalidConfiguration(EMPTY_CONFIG::getDifficulty); }
@Test public void shouldGetBlockPeriodFromConfig() { final CliqueConfigOptions config = fromConfigOptions(singletonMap("BlockPeriodSeconds", 5)); assertThat(config.getBlockPeriodSeconds()).isEqualTo(5); }
@Test public void shouldRequireGasLimit() { assertInvalidConfiguration(EMPTY_CONFIG::getGasLimit); }