Search in sources :

Example 1 with HashicorpSigningMetadataFile

use of tech.pegasys.signers.secp256k1.multikey.metadata.HashicorpSigningMetadataFile in project signers by ConsenSys.

the class HashicorpSigningMetadataTomlConfigLoaderTest method hashicorpConfigIsLoadedIfHashicorpMetadataFileInDirectory.

@Test
void hashicorpConfigIsLoadedIfHashicorpMetadataFileInDirectory() throws IOException {
    final String hashicorpSignerToml = HashicorpConfigUtil.createTomlConfig("Host", 9999, "token", "/path/to/key", "key_name", 10000, true, null, null, null);
    final TomlStringBuilder tomlBuilder = new TomlStringBuilder("signing");
    tomlBuilder.withQuotedString("type", "hashicorp-signer");
    final String toml = tomlBuilder.build() + hashicorpSignerToml;
    createTomlFile(toml);
    final Collection<SigningMetadataFile> metadataFiles = loader.loadAvailableSigningMetadataTomlConfigs(entry -> true);
    assertThat(metadataFiles.size()).isOne();
    assertThat(metadataFiles.toArray()[0]).isInstanceOf(HashicorpSigningMetadataFile.class);
    final HashicorpSigningMetadataFile metadataFile = (HashicorpSigningMetadataFile) metadataFiles.toArray()[0];
    final HashicorpKeyConfig hashicorpConfig = metadataFile.getConfig();
    final ConnectionParameters connectionParams = hashicorpConfig.getConnectionParams();
    assertThat(connectionParams.getServerHost()).isEqualTo("Host");
    assertThat(connectionParams.getServerPort().get()).isEqualTo(9999);
    assertThat(connectionParams.getTimeoutMilliseconds().get()).isEqualTo(10000);
    assertThat(connectionParams.getTlsOptions()).isNotEmpty();
    assertThat(connectionParams.getTlsOptions().get().getTrustStoreType()).isEmpty();
    assertThat(hashicorpConfig.getKeyDefinition().getKeyPath()).isEqualTo("/path/to/key");
    assertThat(hashicorpConfig.getKeyDefinition().getKeyName().get()).isEqualTo("key_name");
    assertThat(hashicorpConfig.getKeyDefinition().getToken()).isEqualTo("token");
}
Also used : SigningMetadataFile(tech.pegasys.signers.secp256k1.multikey.metadata.SigningMetadataFile) HashicorpSigningMetadataFile(tech.pegasys.signers.secp256k1.multikey.metadata.HashicorpSigningMetadataFile) TomlStringBuilder(tech.pegasys.signers.secp256k1.common.TomlStringBuilder) HashicorpKeyConfig(tech.pegasys.signers.hashicorp.config.HashicorpKeyConfig) ConnectionParameters(tech.pegasys.signers.hashicorp.config.ConnectionParameters) HashicorpSigningMetadataFile(tech.pegasys.signers.secp256k1.multikey.metadata.HashicorpSigningMetadataFile) Test(org.junit.jupiter.api.Test)

Example 2 with HashicorpSigningMetadataFile

use of tech.pegasys.signers.secp256k1.multikey.metadata.HashicorpSigningMetadataFile in project signers by ConsenSys.

the class SigningMetadataTomlConfigLoader method getHashicorpMetadataFromToml.

private Optional<SigningMetadataFile> getHashicorpMetadataFromToml(final Path inputFile, final TomlParseResult result) {
    final String filename = inputFile.getFileName().toString();
    final Optional<TomlTableAdapter> signingTable = getSigningTableFrom(filename, result);
    if (signingTable.isEmpty()) {
        return Optional.empty();
    }
    final HashicorpKeyConfig config = TomlConfigLoader.fromToml(inputFile, "signing");
    return Optional.of(new HashicorpSigningMetadataFile(filename, config));
}
Also used : HashicorpKeyConfig(tech.pegasys.signers.hashicorp.config.HashicorpKeyConfig) HashicorpSigningMetadataFile(tech.pegasys.signers.secp256k1.multikey.metadata.HashicorpSigningMetadataFile)

Aggregations

HashicorpKeyConfig (tech.pegasys.signers.hashicorp.config.HashicorpKeyConfig)2 HashicorpSigningMetadataFile (tech.pegasys.signers.secp256k1.multikey.metadata.HashicorpSigningMetadataFile)2 Test (org.junit.jupiter.api.Test)1 ConnectionParameters (tech.pegasys.signers.hashicorp.config.ConnectionParameters)1 TomlStringBuilder (tech.pegasys.signers.secp256k1.common.TomlStringBuilder)1 SigningMetadataFile (tech.pegasys.signers.secp256k1.multikey.metadata.SigningMetadataFile)1