use of io.vertx.mutiny.sqlclient.Tuple in project kogito-apps by kiegroup.
the class PostgreSqlJobRepositoryTest method delete.
@Test
void delete() {
CompletionStage<JobDetails> result = repository.delete("test");
assertEquals(completableFuture, result);
ArgumentCaptor<String> queryCaptor = ArgumentCaptor.forClass(String.class);
ArgumentCaptor<Tuple> parameterCaptor = ArgumentCaptor.forClass(Tuple.class);
verify(client, times(1)).preparedQuery(queryCaptor.capture());
verify(query, times(1)).execute(parameterCaptor.capture());
String query = "DELETE FROM job_details WHERE id = $1 " + "RETURNING id, correlation_id, status, last_update, retries, " + "execution_counter, scheduled_id, payload, type, priority, recipient, trigger";
String parameter = "test";
assertEquals(query, queryCaptor.getValue());
assertEquals(parameter, parameterCaptor.getValue().getValue(0));
}
use of io.vertx.mutiny.sqlclient.Tuple in project kogito-apps by kiegroup.
the class PostgreSqlJobRepositoryTest method exists.
@Test
void exists() {
CompletionStage<Boolean> result = repository.exists("test");
assertEquals(completableFuture, result);
ArgumentCaptor<String> queryCaptor = ArgumentCaptor.forClass(String.class);
ArgumentCaptor<Tuple> parameterCaptor = ArgumentCaptor.forClass(Tuple.class);
verify(client, times(1)).preparedQuery(queryCaptor.capture());
verify(query, times(1)).execute(parameterCaptor.capture());
String query = "SELECT id FROM job_details WHERE id = $1";
String parameter = "test";
assertEquals(query, queryCaptor.getValue());
assertEquals(parameter, parameterCaptor.getValue().getValue(0));
}
use of io.vertx.mutiny.sqlclient.Tuple in project kogito-apps by kiegroup.
the class PostgreSqlJobRepositoryTest method doSave.
@Test
void doSave() {
PointInTimeTrigger trigger = new PointInTimeTrigger(time.toInstant().getEpochSecond(), null, null);
Recipient recipient = new Recipient.HTTPRecipient("test");
JobDetails job = JobDetails.builder().id("test").correlationId("test").status(JobStatus.SCHEDULED).lastUpdate(time).retries(1).executionCounter(1).scheduledId("test").payload("{\"payload\": \"test\"}").type(JobDetails.Type.HTTP).priority(1).recipient(recipient).trigger(trigger).build();
CompletionStage<JobDetails> result = repository.doSave(job);
assertEquals(completableFuture, result);
ArgumentCaptor<String> queryCaptor = ArgumentCaptor.forClass(String.class);
ArgumentCaptor<Tuple> parameterCaptor = ArgumentCaptor.forClass(Tuple.class);
verify(client, times(1)).preparedQuery(queryCaptor.capture());
verify(query, times(1)).execute(parameterCaptor.capture());
String query = "INSERT INTO job_details (id, correlation_id, status, last_update, retries, execution_counter, scheduled_id, " + "payload, type, priority, recipient, trigger) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) " + "ON CONFLICT (id) DO UPDATE SET correlation_id = $2, status = $3, last_update = $4, retries = $5, " + "execution_counter = $6, scheduled_id = $7, payload = $8, type = $9, priority = $10, " + "recipient = $11, trigger = $12 RETURNING id, correlation_id, status, last_update, retries, " + "execution_counter, scheduled_id, payload, type, priority, recipient, trigger";
Tuple parameter = Tuple.tuple(Stream.of(job.getId(), job.getCorrelationId(), job.getStatus().name(), job.getLastUpdate().toOffsetDateTime(), job.getRetries(), job.getExecutionCounter(), job.getScheduledId(), new JsonObject(job.getPayload().toString()), job.getType().name(), job.getPriority(), new JsonObject().put("recipientMarshaller", "test"), new JsonObject().put("triggerMarshaller", "test")).collect(toList()));
assertEquals(query, queryCaptor.getValue());
assertEquals(parameter.getString(0), parameterCaptor.getValue().getString(0));
assertEquals(parameter.getString(1), parameterCaptor.getValue().getString(1));
assertEquals(parameter.getString(2), parameterCaptor.getValue().getString(2));
assertEquals(parameter.getOffsetDateTime(3), parameterCaptor.getValue().getOffsetDateTime(3));
assertEquals(parameter.getInteger(4), parameterCaptor.getValue().getInteger(4));
assertEquals(parameter.getInteger(5), parameterCaptor.getValue().getInteger(5));
assertEquals(parameter.getString(6), parameterCaptor.getValue().getString(6));
assertEquals(parameter.getJson(7), parameterCaptor.getValue().getJson(7));
assertEquals(parameter.getString(8), parameterCaptor.getValue().getString(8));
assertEquals(parameter.getInteger(9), parameterCaptor.getValue().getInteger(9));
assertEquals(parameter.getJson(10), parameterCaptor.getValue().getJson(10));
assertEquals(parameter.getJson(11), parameterCaptor.getValue().getJson(11));
}
use of io.vertx.mutiny.sqlclient.Tuple in project kogito-apps by kiegroup.
the class PostgreSqlJobRepositoryTest method get.
@Test
void get() {
CompletionStage<JobDetails> result = repository.get("test");
assertEquals(completableFuture, result);
ArgumentCaptor<String> queryCaptor = ArgumentCaptor.forClass(String.class);
ArgumentCaptor<Tuple> parameterCaptor = ArgumentCaptor.forClass(Tuple.class);
verify(client, times(1)).preparedQuery(queryCaptor.capture());
verify(query, times(1)).execute(parameterCaptor.capture());
String query = "SELECT id, correlation_id, status, last_update, retries, execution_counter, scheduled_id, " + "payload, type, priority, recipient, trigger FROM job_details WHERE id = $1";
String parameter = "test";
assertEquals(query, queryCaptor.getValue());
assertEquals(parameter, parameterCaptor.getValue().getValue(0));
}
use of io.vertx.mutiny.sqlclient.Tuple in project FrameworkBenchmarks by TechEmpower.
the class WorldRepository method update.
public Uni<Void> update(World[] worlds) {
Arrays.sort(worlds);
List<Tuple> args = new ArrayList<>(worlds.length);
for (World world : worlds) {
args.add(Tuple.of(world.getId(), world.getRandomNumber()));
}
return clients.getPool().preparedQuery("UPDATE World SET randomNumber = $2 WHERE id = $1").executeBatch(args).map(v -> null);
}
Aggregations