From 46328a95b880139471ea309c67226b642a8a941e Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Tue, 27 Jun 2023 14:34:48 +1000 Subject: [PATCH 1/8] Support aliases in environment variables --- .../EnvironmentVariableDefaultProvider.java | 12 +++++++++--- .../commandline/valueprovider/DemoCommand.java | 5 +++++ .../EnvironmentVariableDefaultProviderTest.java | 17 +++++++++++++++++ 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/commandline/src/main/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProvider.java b/commandline/src/main/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProvider.java index 8b983380a..5dd708bb4 100644 --- a/commandline/src/main/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProvider.java +++ b/commandline/src/main/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProvider.java @@ -33,9 +33,15 @@ public String defaultValue(final ArgSpec argSpec) { final OptionSpec optionSpec = (OptionSpec) argSpec; final String qualifiedPrefix = optionSpec.command().qualifiedName("_").replace("-", "_").toUpperCase(); - final String key = stripPrefix(optionSpec.longestName()).replace("-", "_").toUpperCase(); - final String qualifiedKey = qualifiedPrefix + "_" + key; - return environment.get(qualifiedKey); + + for (final String alias : optionSpec.names()) { + final String key = stripPrefix(alias).replace("-", "_").toUpperCase(); + final String qualifiedKey = qualifiedPrefix + "_" + key; + final String value = environment.get(qualifiedKey); + if (value != null) { + return value; + } + } } return null; // currently not supporting positional parameters diff --git a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/DemoCommand.java b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/DemoCommand.java index 92a5f9ac4..b23020030 100644 --- a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/DemoCommand.java +++ b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/DemoCommand.java @@ -32,6 +32,11 @@ public class DemoCommand { @Option(names = "--name", description = "Name") String name; + @Option( + names = {"--alias", "--aliases"}, + description = "Aliases") + String alias; + @Command(name = "country", description = "Country Codes") static class SubCommand { @Option(names = "--codes", split = ",") diff --git a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProviderTest.java b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProviderTest.java index b83b9ed46..e85725d36 100644 --- a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProviderTest.java +++ b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProviderTest.java @@ -83,6 +83,23 @@ void emptyEnvironmentVariablesResultsNullValues() { assertThat(subCommand.countryCodes).isNullOrEmpty(); } + @Test + void environmentVariablesAreCreatedForAliases() { + + assertAliasCreated("DEMO_ALIAS", "testValue"); + assertAliasCreated("DEMO_ALIASES", "testValue2"); + } + + private void assertAliasCreated(String envKey, String envValue) { + final EnvironmentVariableDefaultProvider defaultProvider = + new EnvironmentVariableDefaultProvider(Map.of(envKey, envValue)); + + commandLine.setDefaultValueProvider(defaultProvider); + commandLine.parseArgs(); + + assertThat(demoCommand.alias).isEqualTo(envValue); + } + private Map validEnvMap() { return Map.of( "DEMO_X", "10", "DEMO_Y", "20", "DEMO_NAME", "test name", "DEMO_COUNTRY_CODES", "AU,US"); From f37550efec0e45ebda7cc52bff977d37e4350d8d Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Tue, 27 Jun 2023 14:35:13 +1000 Subject: [PATCH 2/8] Simplify bouncycastle exclude config --- gradle/versions.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/versions.gradle b/gradle/versions.gradle index fd065f5e1..a3df10814 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -119,9 +119,9 @@ dependencyManagement { entry 'besu' entry ('core') { exclude group: 'com.github.jnr', name: 'jnr-unixsocket' + exclude group: 'org.bouncycastle', name: 'bcprov-jdk15on' } - entry 'crypto' - entry ('utils') { + entry ('crypto') { exclude group: 'org.bouncycastle', name: 'bcprov-jdk15on' } } From 5c8af63eeecd3fc0f1085b8a259e97bfe6933fe6 Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Tue, 27 Jun 2023 17:03:35 +1000 Subject: [PATCH 3/8] Support aliases in yaml config file --- .../YamlConfigFileDefaultProvider.java | 24 +++++++------- .../pegasys/web3signer/CmdlineHelpers.java | 5 +++ .../YamlConfigFileDefaultProviderTest.java | 32 ++++++++++++++++++- 3 files changed, 49 insertions(+), 12 deletions(-) diff --git a/commandline/src/main/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProvider.java b/commandline/src/main/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProvider.java index a8de27e02..a091f0b9f 100644 --- a/commandline/src/main/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProvider.java +++ b/commandline/src/main/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProvider.java @@ -13,15 +13,16 @@ package tech.pegasys.web3signer.commandline.valueprovider; import static java.util.function.Predicate.not; -import static tech.pegasys.web3signer.commandline.valueprovider.PrefixUtil.stripPrefix; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.file.NoSuchFileException; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.TreeSet; import java.util.stream.Collectors; @@ -107,14 +108,14 @@ private void checkUnknownOptions(final Map result) { // parent command options final Set mainCommandOptions = commandLine.getCommandSpec().options().stream() - .map(YamlConfigFileDefaultProvider::buildOptionName) + .flatMap(YamlConfigFileDefaultProvider::buildOptionNames) .collect(Collectors.toSet()); // subcommands options final Set subCommandsOptions = subCommandValues(commandLine) .flatMap(YamlConfigFileDefaultProvider::allSubCommandOptions) - .map(YamlConfigFileDefaultProvider::buildQualifiedOptionName) + .flatMap(YamlConfigFileDefaultProvider::buildQualifiedOptionNames) .collect(Collectors.toSet()); picoCliOptionsKeys.addAll(mainCommandOptions); @@ -142,15 +143,16 @@ private void checkConfigurationValidity(final boolean isEmpty) { } private String getConfigurationValue(final OptionSpec optionSpec) { - final String keyName; + final Stream keyAliases; if (commandLine.getCommandName().equals(optionSpec.command().name())) { - keyName = buildOptionName(optionSpec); + keyAliases = buildOptionNames(optionSpec); } else { // subcommand option - keyName = buildQualifiedOptionName(optionSpec); + keyAliases = buildQualifiedOptionNames(optionSpec); } - final Object value = result.get(keyName); + final Object value = + keyAliases.map(k -> result.get(k)).filter(Objects::nonNull).findFirst().orElse(null); if (value == null) { return null; @@ -173,13 +175,13 @@ private static Stream allSubCommandOptions(final CommandLine subcomm subCommandValues(subcommand).flatMap(YamlConfigFileDefaultProvider::allSubCommandOptions)); } - private static String buildQualifiedOptionName(final OptionSpec optionSpec) { + private static Stream buildQualifiedOptionNames(final OptionSpec optionSpec) { final String cmdPrefix = optionSpec.command().qualifiedName("."); final String prefixWithoutWeb3Signer = cmdPrefix.replaceFirst(WEB3SIGNER_CMD_PREFIX, ""); - return prefixWithoutWeb3Signer + "." + buildOptionName(optionSpec); + return buildOptionNames(optionSpec).map(s -> prefixWithoutWeb3Signer + "." + s); } - private static String buildOptionName(final OptionSpec optionSpec) { - return stripPrefix(optionSpec.longestName()); + private static Stream buildOptionNames(final OptionSpec optionSpec) { + return Arrays.stream(optionSpec.names()).map(PrefixUtil::stripPrefix); } } diff --git a/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java b/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java index 968d7f04f..351080319 100644 --- a/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java +++ b/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java @@ -28,9 +28,14 @@ public static String validBaseYamlOptions() { return "http-listen-port: 6001\n" + "http-listen-host: \"localhost\"\n" + "key-store-path: \"./keys_yaml\"\n" + + "metrics-categories: \"HTTP\"\n" + "logging: \"INFO\"\n"; } + public static String validBaseYamlAliasOptions() { + return "metrics-category: \"HTTP\"\n" + "l: \"INFO\"\n"; + } + public static Map validBaseEnvironmentVariableOptions() { return Map.of( "WEB3SIGNER_HTTP_LISTEN_PORT", diff --git a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProviderTest.java b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProviderTest.java index 4d701fc69..5f5a52199 100644 --- a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProviderTest.java +++ b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProviderTest.java @@ -21,11 +21,13 @@ import tech.pegasys.web3signer.CmdlineHelpers; import tech.pegasys.web3signer.commandline.Web3SignerBaseCommand; import tech.pegasys.web3signer.commandline.valueprovider.DemoCommand.SubCommand; +import tech.pegasys.web3signer.common.Web3SignerMetricCategory; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; +import java.util.Set; import org.apache.logging.log4j.Level; import org.junit.jupiter.api.Test; @@ -51,13 +53,21 @@ void valuesFromConfigFileArePopulated(@TempDir final Path tempDir) throws IOExce assertThat(web3SignerBaseCommand.getHttpListenPort()).isEqualTo(6001); assertThat(web3SignerBaseCommand.getKeyConfigPath()).isEqualTo(Path.of("./keys_yaml")); + assertThat(web3SignerBaseCommand.getMetricCategories()) + .isEqualTo(Set.of(Web3SignerMetricCategory.HTTP)); + assertThat(web3SignerBaseCommand.getLogLevel()).isEqualTo(Level.INFO); } @Test void valuesFromConfigFileWithSubcommandArePopulated(@TempDir final Path tempDir) throws IOException { final String subcommandOptions = - String.join(lineSeparator(), "demo.x: 10", "demo.y: 2", "demo.name: \"test name\""); + String.join( + lineSeparator(), + "demo.x: 10", + "demo.y: 2", + "demo.name: \"test name\"", + "demo.aliases: \"test alias\""); final String config = CmdlineHelpers.validBaseYamlOptions() + subcommandOptions; final File configFile = Files.writeString(tempDir.resolve("config.yaml"), config).toFile(); @@ -74,6 +84,26 @@ void valuesFromConfigFileWithSubcommandArePopulated(@TempDir final Path tempDir) assertThat(subCommand.x).isEqualTo(10); assertThat(subCommand.y).isEqualTo(2); assertThat(subCommand.name).isEqualTo("test name"); + assertThat(subCommand.alias).isEqualTo("test alias"); + } + + @Test + void aliasesFromConfigFileArePopulated(@TempDir final Path tempDir) throws IOException { + final String subcommandOptions = String.join(lineSeparator(), "demo.alias: \"test alias\""); + final String config = CmdlineHelpers.validBaseYamlAliasOptions() + subcommandOptions; + final File configFile = Files.writeString(tempDir.resolve("config.yaml"), config).toFile(); + final Web3SignerBaseCommand web3SignerBaseCommand = new Web3SignerBaseCommand(); + final DemoCommand subCommand = new DemoCommand(); + final CommandLine commandLine = new CommandLine(web3SignerBaseCommand); + commandLine.registerConverter(Level.class, Level::valueOf); + commandLine.addSubcommand("demo", subCommand); + commandLine.setDefaultValueProvider(new YamlConfigFileDefaultProvider(commandLine, configFile)); + commandLine.parseArgs("demo"); + + assertThat(web3SignerBaseCommand.getMetricCategories()) + .isEqualTo(Set.of(Web3SignerMetricCategory.HTTP)); + assertThat(web3SignerBaseCommand.getLogLevel()).isEqualTo(Level.INFO); + assertThat(subCommand.alias).isEqualTo("test alias"); } @Test From 41d18f8b3d85a10848da1a46b941fa37d4efd05e Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Tue, 27 Jun 2023 17:14:05 +1000 Subject: [PATCH 4/8] Add extra units for env var subcommand aliases --- .../commandline/valueprovider/DemoCommand.java | 5 +++++ .../EnvironmentVariableDefaultProviderTest.java | 12 +++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/DemoCommand.java b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/DemoCommand.java index b23020030..65b83524c 100644 --- a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/DemoCommand.java +++ b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/DemoCommand.java @@ -41,5 +41,10 @@ public class DemoCommand { static class SubCommand { @Option(names = "--codes", split = ",") List countryCodes; + + @Option( + names = {"--subalias", "--subaliases"}, + description = "Subcommand Alias") + String subalias; } } diff --git a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProviderTest.java b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProviderTest.java index e85725d36..ef6bbf151 100644 --- a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProviderTest.java +++ b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/EnvironmentVariableDefaultProviderTest.java @@ -88,16 +88,22 @@ void environmentVariablesAreCreatedForAliases() { assertAliasCreated("DEMO_ALIAS", "testValue"); assertAliasCreated("DEMO_ALIASES", "testValue2"); + assertAliasCreated("DEMO_COUNTRY_SUBALIAS", "testValue3", "country"); + assertAliasCreated("DEMO_COUNTRY_SUBALIASES", "testValue4", "country"); } - private void assertAliasCreated(String envKey, String envValue) { + private void assertAliasCreated(String envKey, String envValue, String... subCommandName) { final EnvironmentVariableDefaultProvider defaultProvider = new EnvironmentVariableDefaultProvider(Map.of(envKey, envValue)); commandLine.setDefaultValueProvider(defaultProvider); - commandLine.parseArgs(); + commandLine.parseArgs(subCommandName); - assertThat(demoCommand.alias).isEqualTo(envValue); + if (subCommandName.length > 0) { + assertThat(subCommand.subalias).isEqualTo(envValue); + } else { + assertThat(demoCommand.alias).isEqualTo(envValue); + } } private Map validEnvMap() { From 168764429dda992f48f57c0ae263806f0c54184c Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Tue, 27 Jun 2023 17:25:08 +1000 Subject: [PATCH 5/8] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1dec4779..b8f3dcbdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Hashicorp connection properties can now override http protocol to HTTP/1.1 from the default of HTTP/2. [#817](https://github.com/ConsenSys/web3signer/pull/817) ### Bugs fixed +- Support long name aliases in environment variables and YAML configuration [#825](https://github.com/Consensys/web3signer/pull/825) --- ## 23.6.0 From 07c953c7fde605e69e13256607be747c23d65b20 Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Thu, 22 Jun 2023 10:10:04 +1000 Subject: [PATCH 6/8] Add key-config-path alias for key-store-path Changes units to use key-config-path as new default --- .../dsl/signer/runner/CmdLineParamsDefaultImpl.java | 2 +- .../web3signer/commandline/Web3SignerBaseCommand.java | 2 +- .../java/tech/pegasys/web3signer/CmdlineHelpers.java | 8 ++++---- .../CommandlineParserWithEnvAndConfigFileTest.java | 2 +- .../valueprovider/YamlConfigFileDefaultProviderTest.java | 3 ++- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/acceptance-tests/src/test/java/tech/pegasys/web3signer/dsl/signer/runner/CmdLineParamsDefaultImpl.java b/acceptance-tests/src/test/java/tech/pegasys/web3signer/dsl/signer/runner/CmdLineParamsDefaultImpl.java index 3a4c5fc85..dad592ea9 100644 --- a/acceptance-tests/src/test/java/tech/pegasys/web3signer/dsl/signer/runner/CmdLineParamsDefaultImpl.java +++ b/acceptance-tests/src/test/java/tech/pegasys/web3signer/dsl/signer/runner/CmdLineParamsDefaultImpl.java @@ -64,7 +64,7 @@ public List createCmdLineParams() { params.add("--http-host-allowlist"); params.add(String.join(",", signerConfig.getHttpHostAllowList())); } - params.add("--key-store-path"); + params.add("--key-config-path"); params.add(signerConfig.getKeyStorePath().toString()); if (signerConfig.isMetricsEnabled()) { params.add("--metrics-enabled"); diff --git a/commandline/src/main/java/tech/pegasys/web3signer/commandline/Web3SignerBaseCommand.java b/commandline/src/main/java/tech/pegasys/web3signer/commandline/Web3SignerBaseCommand.java index 2ad6a630e..f36ca028c 100644 --- a/commandline/src/main/java/tech/pegasys/web3signer/commandline/Web3SignerBaseCommand.java +++ b/commandline/src/main/java/tech/pegasys/web3signer/commandline/Web3SignerBaseCommand.java @@ -85,7 +85,7 @@ public class Web3SignerBaseCommand implements BaseConfig, Runnable { private Path dataPath; @Option( - names = {"--key-store-path"}, + names = {"--key-config-path", "--key-store-path"}, description = "The path to a directory storing yaml files defining available keys", paramLabel = DefaultCommandValues.PATH_FORMAT_HELP, arity = "1") diff --git a/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java b/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java index 351080319..fb678ccc3 100644 --- a/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java +++ b/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java @@ -19,7 +19,7 @@ public class CmdlineHelpers { public static String validBaseCommandOptions() { return "--http-listen-port=5001 " + "--http-listen-host=localhost " - + "--key-store-path=./keys " + + "--key-config-path=./keys " + "--idle-connection-timeout-seconds=45 " + "--logging=INFO "; } @@ -27,13 +27,13 @@ public static String validBaseCommandOptions() { public static String validBaseYamlOptions() { return "http-listen-port: 6001\n" + "http-listen-host: \"localhost\"\n" - + "key-store-path: \"./keys_yaml\"\n" + + "key-config-path: \"./keys_yaml\"\n" + "metrics-categories: \"HTTP\"\n" + "logging: \"INFO\"\n"; } public static String validBaseYamlAliasOptions() { - return "metrics-category: \"HTTP\"\n" + "l: \"INFO\"\n"; + return "metrics-category: \"HTTP\"\n" + "l: \"INFO\"\n" + "key-store-path: \"./keys_yaml_alias\"\n"; } public static Map validBaseEnvironmentVariableOptions() { @@ -42,7 +42,7 @@ public static Map validBaseEnvironmentVariableOptions() { "7001", "WEB3SIGNER_HTTP_LISTEN_HOST", "localhost", - "WEB3SIGNER_KEY_STORE_PATH", + "WEB3SIGNER_KEY_CONFIG_PATH", "./keys_env", "WEB3SIGNER_LOGGING", "INFO"); diff --git a/commandline/src/test/java/tech/pegasys/web3signer/commandline/CommandlineParserWithEnvAndConfigFileTest.java b/commandline/src/test/java/tech/pegasys/web3signer/commandline/CommandlineParserWithEnvAndConfigFileTest.java index 78cc48b2f..a737aa195 100644 --- a/commandline/src/test/java/tech/pegasys/web3signer/commandline/CommandlineParserWithEnvAndConfigFileTest.java +++ b/commandline/src/test/java/tech/pegasys/web3signer/commandline/CommandlineParserWithEnvAndConfigFileTest.java @@ -52,7 +52,7 @@ void optionsPopulatesWithEnvPrecedence(@TempDir final Path tempDir) throws IOExc // remove keystorepath from cli. // The environment option should take precedence over config file. final String[] args = - removeFieldFrom(configArg + validBaseCommandOptions(), "key-store-path").split(" "); + removeFieldFrom(configArg + validBaseCommandOptions(), "key-config-path").split(" "); final int result = parser.parseCommandLine(args); diff --git a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProviderTest.java b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProviderTest.java index 5f5a52199..36f4ea13a 100644 --- a/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProviderTest.java +++ b/commandline/src/test/java/tech/pegasys/web3signer/commandline/valueprovider/YamlConfigFileDefaultProviderTest.java @@ -47,7 +47,7 @@ void valuesFromConfigFileArePopulated(@TempDir final Path tempDir) throws IOExce commandLine.setDefaultValueProvider(new YamlConfigFileDefaultProvider(commandLine, configFile)); final String cmdArgs = - removeFieldFrom(validBaseCommandOptions(), "http-listen-port", "key-store-path"); + removeFieldFrom(validBaseCommandOptions(), "http-listen-port", "key-config-path"); final String[] args = cmdArgs.split(" "); commandLine.parseArgs(args); @@ -103,6 +103,7 @@ void aliasesFromConfigFileArePopulated(@TempDir final Path tempDir) throws IOExc assertThat(web3SignerBaseCommand.getMetricCategories()) .isEqualTo(Set.of(Web3SignerMetricCategory.HTTP)); assertThat(web3SignerBaseCommand.getLogLevel()).isEqualTo(Level.INFO); + assertThat(web3SignerBaseCommand.getKeyConfigPath()).isEqualTo(Path.of("./keys_yaml_alias")); assertThat(subCommand.alias).isEqualTo("test alias"); } From 5f39d268e301a5bce2569c0417a904161eed571c Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Tue, 27 Jun 2023 18:03:05 +1000 Subject: [PATCH 7/8] Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8f3dcbdb..3e30e9d7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Next release ### Features Added - Hashicorp connection properties can now override http protocol to HTTP/1.1 from the default of HTTP/2. [#817](https://github.com/ConsenSys/web3signer/pull/817) +- Add --key-config-path as preferred alias to --key-store-path [#826](https://github.com/Consensys/web3signer/pull/826) ### Bugs fixed - Support long name aliases in environment variables and YAML configuration [#825](https://github.com/Consensys/web3signer/pull/825) From 42e89dd31dd7e826a357f76a07912ff9f0e33659 Mon Sep 17 00:00:00 2001 From: Simon Dudley Date: Tue, 27 Jun 2023 18:03:38 +1000 Subject: [PATCH 8/8] spotless --- .../java/tech/pegasys/web3signer/CmdlineHelpers.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java b/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java index fb678ccc3..127fa8569 100644 --- a/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java +++ b/commandline/src/test-support/java/tech/pegasys/web3signer/CmdlineHelpers.java @@ -33,7 +33,9 @@ public static String validBaseYamlOptions() { } public static String validBaseYamlAliasOptions() { - return "metrics-category: \"HTTP\"\n" + "l: \"INFO\"\n" + "key-store-path: \"./keys_yaml_alias\"\n"; + return "metrics-category: \"HTTP\"\n" + + "l: \"INFO\"\n" + + "key-store-path: \"./keys_yaml_alias\"\n"; } public static Map validBaseEnvironmentVariableOptions() {