use of org.kie.kogito.jobs.service.model.job.Recipient in project kogito-apps by kiegroup.
the class JobDetailsMarshallerTest method setUp.
@BeforeEach
void setUp() {
jobDetailsMarshaller = new JobDetailsMarshaller(new TriggerMarshaller(), new RecipientMarshaller());
String id = "testId";
String correlationId = "testCorrelationId";
JobStatus status = JobStatus.SCHEDULED;
Date date = new Date();
ZonedDateTime lastUpdate = ZonedDateTime.ofInstant(date.toInstant(), DEFAULT_ZONE);
Integer retries = 2;
Integer priority = 3;
Integer executionCounter = 4;
String scheduledId = "testScheduledId";
Object payload = new JsonObject().put("payload", "test");
Recipient.HTTPRecipient recipient = new Recipient.HTTPRecipient("testEndpoint");
Trigger trigger = new PointInTimeTrigger(new Date().toInstant().toEpochMilli(), null, null);
JobDetails.Type type = JobDetails.Type.HTTP;
jobDetails = JobDetails.builder().id(id).correlationId(correlationId).status(status).lastUpdate(lastUpdate).retries(retries).executionCounter(executionCounter).scheduledId(scheduledId).payload(payload).type(type).priority(priority).recipient(recipient).trigger(trigger).build();
jsonObject = new JsonObject().put("id", id).put("correlationId", correlationId).put("status", status.name()).put("lastUpdate", date.getTime()).put("retries", retries).put("executionCounter", executionCounter).put("scheduledId", scheduledId).put("payload", payload).put("type", type.name()).put("priority", priority).put("recipient", new JsonObject().put("endpoint", recipient.getEndpoint()).put("classType", Recipient.HTTPRecipient.class.getName())).put("trigger", new JsonObject().put("nextFireTime", trigger.hasNextFireTime().getTime()).put("classType", PointInTimeTrigger.class.getName()));
}
use of org.kie.kogito.jobs.service.model.job.Recipient in project kogito-apps by kiegroup.
the class RecipientMarshallerTest method unmarshallInvalid.
@Test
void unmarshallInvalid() {
JsonObject jsonObject = new JsonObject().put("endpoint", "test");
Recipient recipient = marshaller.unmarshall(jsonObject);
assertNull(recipient);
}
use of org.kie.kogito.jobs.service.model.job.Recipient in project kogito-apps by kiegroup.
the class RecipientMarshallerTest method unmarshallNull.
@Test
void unmarshallNull() {
Recipient recipient = marshaller.unmarshall(null);
assertNull(recipient);
}
use of org.kie.kogito.jobs.service.model.job.Recipient in project kogito-apps by kiegroup.
the class RecipientMarshallerTest method marshall.
@Test
void marshall() {
Recipient recipient = new Recipient.HTTPRecipient("test");
JsonObject jsonObject = marshaller.marshall(recipient);
assertEquals(new JsonObject().put("endpoint", "test").put("classType", Recipient.HTTPRecipient.class.getName()), jsonObject);
}
use of org.kie.kogito.jobs.service.model.job.Recipient 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));
}
Aggregations