suite.test(
"Client operation queue: enqueue_operation, next_operation, ack_operation",
async () => {
const client = await createClient(redisConfig, "operation_queue_client");
init_client(client);
enqueue_operation(client, {
request_id: "1",
payload: "init"
});
enqueue_operation(client, {
request_id: "1",
payload: "dedupe_test"
});
enqueue_operation(client, {
request_id: "2",
payload: "second"
});
const next1 = next_operation(client);
const next2 = next_operation(client);
ack_operation(client, "1");
const next3 = next_operation(client);
ack_operation(client, "2");
const next4 = next_operation(client);
expect(await next1).toEqual({
request_id: "1",
payload: "init"
});
expect(await next2).toEqual({
request_id: "1",
payload: "init"
});
expect(await next3).toEqual({
request_id: "2",
payload: "second"
});
expect(await next4).toEqual(null);
}
)