Search in sources :

Example 16 with ConfigKeyPair

use of com.quorum.tessera.config.keypairs.ConfigKeyPair in project tessera by ConsenSys.

the class PeerToPeerIT method validatePartyInfoContentsOnNodeA.

/*
  Assume that not of the tests should have managed to change the initial party info
   */
private void validatePartyInfoContentsOnNodeA() {
    Party someParty = partyHelper.getParties().filter(p -> !p.getAlias().equals("A")).findAny().get();
    ServerConfig serverContext = someParty.getConfig().getP2PServerConfig();
    Client client = clientFactory.buildFrom(serverContext);
    Response response = client.target(partyA.getP2PUri()).path("partyinfo").request().get();
    assertThat(response.getStatus()).isEqualTo(200);
    JsonObject result = response.readEntity(JsonObject.class);
    Map<String, String> actual = result.getJsonArray("keys").stream().map(o -> o.asJsonObject()).collect(Collectors.toMap(o -> o.getString("key"), o -> removeTrailingSlash(o.getString("url"))));
    EncryptorConfig encryptorConfig = partyHelper.getParties().findFirst().map(Party::getConfig).map(Config::getEncryptor).get();
    KeyEncryptor keyEncryptor = KeyEncryptorFactory.newFactory().create(encryptorConfig);
    List<String> keyz = partyHelper.getParties().map(Party::getConfig).map(Config::getKeys).flatMap(k -> k.getKeyData().stream()).map(kd -> KeyDataUtil.unmarshal(kd, keyEncryptor)).map(ConfigKeyPair::getPublicKey).collect(Collectors.toList());
    List<String> urls = partyHelper.getParties().map(Party::getConfig).map(Config::getP2PServerConfig).map(ServerConfig::getServerAddress).map(s -> removeTrailingSlash(s)).collect(Collectors.toList());
    assertThat(actual).containsKeys(keyz.toArray(new String[0]));
    assertThat(actual).containsValues(urls.toArray(new String[0]));
}
Also used : Response(jakarta.ws.rs.core.Response) PublicKey(com.quorum.tessera.encryption.PublicKey) java.util(java.util) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) ServerConfig(com.quorum.tessera.config.ServerConfig) Response(jakarta.ws.rs.core.Response) After(org.junit.After) JsonObject(jakarta.json.JsonObject) StreamingOutput(jakarta.ws.rs.core.StreamingOutput) Before(org.junit.Before) PartyInfoParser(com.quorum.tessera.p2p.partyinfo.PartyInfoParser) ConfigKeyPair(com.quorum.tessera.config.keypairs.ConfigKeyPair) Client(jakarta.ws.rs.client.Client) EncryptorConfig(com.quorum.tessera.config.EncryptorConfig) KeyEncryptorFactory(com.quorum.tessera.config.keys.KeyEncryptorFactory) KeyEncryptor(com.quorum.tessera.config.keys.KeyEncryptor) ClientFactory(com.quorum.tessera.jaxrs.client.ClientFactory) Test(org.junit.Test) Collectors(java.util.stream.Collectors) Entity(jakarta.ws.rs.client.Entity) KeyDataUtil(com.quorum.tessera.config.util.KeyDataUtil) PartyInfo(com.quorum.tessera.partyinfo.model.PartyInfo) Stream(java.util.stream.Stream) MediaType(jakarta.ws.rs.core.MediaType) Recipient(com.quorum.tessera.partyinfo.model.Recipient) Config(com.quorum.tessera.config.Config) NodeAlias(suite.NodeAlias) ServerConfig(com.quorum.tessera.config.ServerConfig) ServerConfig(com.quorum.tessera.config.ServerConfig) EncryptorConfig(com.quorum.tessera.config.EncryptorConfig) Config(com.quorum.tessera.config.Config) KeyEncryptor(com.quorum.tessera.config.keys.KeyEncryptor) JsonObject(jakarta.json.JsonObject) EncryptorConfig(com.quorum.tessera.config.EncryptorConfig) Client(jakarta.ws.rs.client.Client)

Aggregations

ConfigKeyPair (com.quorum.tessera.config.keypairs.ConfigKeyPair)16 Test (org.junit.Test)11 Stream (java.util.stream.Stream)5 CliResult (com.quorum.tessera.cli.CliResult)4 Response (jakarta.ws.rs.core.Response)4 Collectors (java.util.stream.Collectors)4 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)4 CommandLine (picocli.CommandLine)4 NodeAlias (suite.NodeAlias)4 com.quorum.tessera.config (com.quorum.tessera.config)3 ServerConfig (com.quorum.tessera.config.ServerConfig)3 KeyEncryptor (com.quorum.tessera.config.keys.KeyEncryptor)3 ConfigDescriptor (config.ConfigDescriptor)3 Json (jakarta.json.Json)3 ConstraintViolation (jakarta.validation.ConstraintViolation)3 Client (jakarta.ws.rs.client.Client)3 ReceiveResponse (com.quorum.tessera.api.ReceiveResponse)2 SendRequest (com.quorum.tessera.api.SendRequest)2 SendResponse (com.quorum.tessera.api.SendResponse)2 AzureVaultKeyPair (com.quorum.tessera.config.keypairs.AzureVaultKeyPair)2