use of com.quorum.tessera.api.SendRequest in project tessera by ConsenSys.
the class ReceiveIT method beforeTest.
// Persist a single transaction that can be used later
@Before
public void beforeTest() throws UnsupportedEncodingException {
partyOne = partyHelper.findByAlias(NodeAlias.A);
partyTwo = partyHelper.findByAlias(NodeAlias.B);
partyThee = partyHelper.findByAlias(NodeAlias.C);
SendRequest sendRequest = new SendRequest();
sendRequest.setFrom(partyOne.getPublicKey());
sendRequest.setTo(partyTwo.getPublicKey());
sendRequest.setPayload(transactionData);
final Response response = partyOne.getRestClient().target(partyOne.getQ2TUri()).path("/send").request().post(Entity.entity(sendRequest, MediaType.APPLICATION_JSON));
assertThat(response.getStatus()).isEqualTo(201);
final SendResponse result = response.readEntity(SendResponse.class);
final String hash = result.getKey();
this.encodedHash = URLEncoder.encode(hash, UTF_8.toString());
this.encodedSender = URLEncoder.encode(partyOne.getPublicKey(), UTF_8.toString());
this.encodedRecipientOne = URLEncoder.encode(partyThee.getPublicKey(), UTF_8.toString());
}
use of com.quorum.tessera.api.SendRequest in project tessera by ConsenSys.
the class RestUtils method sendRequestAssertSuccess.
public SendResponse sendRequestAssertSuccess(Party sender, byte[] transactionData, Party... recipients) {
String[] recipientArray = Stream.of(recipients).map(Party::getPublicKey).collect(Collectors.toList()).toArray(new String[recipients.length]);
final SendRequest sendRequest = new SendRequest();
sendRequest.setFrom(sender.getPublicKey());
sendRequest.setTo(recipientArray);
sendRequest.setPayload(transactionData);
final Response response = sender.getRestClientWebTarget().path("send").request().post(Entity.entity(sendRequest, MediaType.APPLICATION_JSON));
assertThat(response).isNotNull();
assertThat(response.getStatus()).isEqualTo(201);
return response.readEntity(SendResponse.class);
}
use of com.quorum.tessera.api.SendRequest in project tessera by ConsenSys.
the class RestUtils method send.
public Response send(Party sender, byte[] transactionData, Party... recipients) {
String[] recipientArray = Stream.of(recipients).map(Party::getPublicKey).collect(Collectors.toList()).toArray(new String[recipients.length]);
final SendRequest sendRequest = new SendRequest();
sendRequest.setFrom(sender.getPublicKey());
sendRequest.setTo(recipientArray);
sendRequest.setPayload(transactionData);
return sender.getRestClientWebTarget().path("send").request().post(Entity.entity(sendRequest, MediaType.APPLICATION_JSON));
}
use of com.quorum.tessera.api.SendRequest in project tessera by ConsenSys.
the class SendIT method sendToSingleRecipient.
/**
* Quorum sends transaction with single public recipient key
*/
@Test
public void sendToSingleRecipient() {
Party firstParty = partyHelper.findByAlias("A");
Party secondParty = partyHelper.findByAlias("B");
byte[] transactionData = utils.createTransactionData();
final SendRequest sendRequest = new SendRequest();
sendRequest.setFrom(firstParty.getPublicKey());
sendRequest.setTo(secondParty.getPublicKey());
sendRequest.setPayload(transactionData);
final Response response = firstParty.getRestClient().target(firstParty.getQ2TUri()).path(SEND_PATH).request().post(Entity.entity(sendRequest, MediaType.APPLICATION_JSON));
// validate result
final SendResponse result = response.readEntity(SendResponse.class);
assertThat(result.getKey()).isNotNull().isNotBlank();
assertThat(response).isNotNull();
assertThat(response.getStatus()).isEqualTo(201);
URI location = response.getLocation();
final Response checkPersistedTxnResponse = secondParty.getRestClient().target(location).request().get();
assertThat(checkPersistedTxnResponse.getStatus()).isEqualTo(200);
ReceiveResponse receiveResponse = checkPersistedTxnResponse.readEntity(ReceiveResponse.class);
assertThat(receiveResponse.getPayload()).describedAs("The response payload should be equal to the sent txn data").isEqualTo(transactionData);
utils.findTransaction(result.getKey(), partyHelper.findByAlias("A"), partyHelper.findByAlias("B")).forEach(r -> {
assertThat(r.getStatus()).isEqualTo(200);
});
utils.findTransaction(result.getKey(), partyHelper.findByAlias("D")).forEach(r -> {
assertThat(r.getStatus()).isEqualTo(404);
});
}
use of com.quorum.tessera.api.SendRequest in project tessera by ConsenSys.
the class SendIT method sendTransactionWithMissingRecipients.
@Test
public void sendTransactionWithMissingRecipients() {
final Party sendingParty = partyHelper.getParties().findAny().get();
final byte[] transactionData = utils.createTransactionData();
final SendRequest sendRequest = new SendRequest();
sendRequest.setFrom(sendingParty.getPublicKey());
sendRequest.setPayload(transactionData);
final Response response = sendingParty.getRestClient().target(sendingParty.getQ2TUri()).path(SEND_PATH).request().post(Entity.entity(sendRequest, MediaType.APPLICATION_JSON));
final SendResponse result = response.readEntity(SendResponse.class);
assertThat(result.getKey()).isNotNull().isNotBlank();
assertThat(response).isNotNull();
assertThat(response.getStatus()).isEqualTo(201);
URI location = response.getLocation();
final Response checkPersistedTxnResponse = sendingParty.getRestClient().target(location).request().get();
assertThat(checkPersistedTxnResponse.getStatus()).isEqualTo(200);
ReceiveResponse receiveResponse = checkPersistedTxnResponse.readEntity(ReceiveResponse.class);
assertThat(receiveResponse.getPayload()).isEqualTo(transactionData);
if (sendingParty.getConfig().getServerConfigs().stream().allMatch(not(ServerConfig::isUnixSocket))) {
assertThat(location.getHost()).isEqualTo(sendingParty.getQ2TUri().getHost());
assertThat(location.getPort()).isEqualTo(sendingParty.getQ2TUri().getPort());
}
}
Aggregations