mirror of https://github.com/waku-org/js-waku.git
adjustments
This commit is contained in:
parent
0b1f2ec31d
commit
5519877b5e
|
@ -106,20 +106,32 @@ describe("Waku Store, cursor", function () {
|
|||
cursor.digest = new Uint8Array([]);
|
||||
|
||||
const messagesAfterCursor: DecodedMessage[] = [];
|
||||
for await (const page of waku.store.queryGenerator([TestDecoder], {
|
||||
cursor
|
||||
})) {
|
||||
for await (const msg of page.reverse()) {
|
||||
if (msg) {
|
||||
messagesAfterCursor.push(msg as DecodedMessage);
|
||||
try {
|
||||
for await (const page of waku.store.queryGenerator([TestDecoder], {
|
||||
cursor
|
||||
})) {
|
||||
for await (const msg of page.reverse()) {
|
||||
if (msg) {
|
||||
messagesAfterCursor.push(msg as DecodedMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
expect(messagesAfterCursor.length).to.eql(0);
|
||||
} catch (error) {
|
||||
if (
|
||||
nwaku.type() === "go-waku" &&
|
||||
typeof error === "string" &&
|
||||
error.includes("History response contains an Error: INVALID_CURSOR")
|
||||
) {
|
||||
return;
|
||||
}
|
||||
throw error instanceof Error
|
||||
? new Error(`Unexpected error: ${error.message}`)
|
||||
: error;
|
||||
}
|
||||
expect(messagesAfterCursor.length).be.eql(0);
|
||||
});
|
||||
|
||||
// Skipped because of strange results. Generator retrieves messages even if cursor is using a different customPubSubTopic.
|
||||
// My guess is that pubsubTopic is not used. Need to confirm
|
||||
// PubsubTopic is ignored in the cursor. Needs fixing so it throws an error if it doesn't match with Decoder
|
||||
it.skip("Passing cursor with wrong pubSubTopic", async function () {
|
||||
await sendMessages(nwaku, totalMsgs, TestContentTopic, DefaultPubSubTopic);
|
||||
waku = await startAndConnectLightNode(nwaku);
|
||||
|
|
|
@ -29,7 +29,7 @@ describe("Waku Store, page size", function () {
|
|||
});
|
||||
|
||||
[
|
||||
[0, 30],
|
||||
[0, 110],
|
||||
[1, 4],
|
||||
[3, 20],
|
||||
[10, 10],
|
||||
|
@ -48,7 +48,11 @@ describe("Waku Store, page size", function () {
|
|||
// Determine effectivePageSize for test expectations
|
||||
let effectivePageSize = pageSize;
|
||||
if (pageSize === 0) {
|
||||
effectivePageSize = 20;
|
||||
if (nwaku.type() == "go-waku") {
|
||||
effectivePageSize = 100;
|
||||
} else {
|
||||
effectivePageSize = 20;
|
||||
}
|
||||
} else if (pageSize > 100) {
|
||||
effectivePageSize = 100;
|
||||
}
|
||||
|
|
|
@ -28,26 +28,19 @@ describe("Waku Store, time filter", function () {
|
|||
});
|
||||
|
||||
[
|
||||
[-10000, -10, 10],
|
||||
[-10000, 1, 4],
|
||||
[-10000, -2, -1],
|
||||
[-10000, 0, 1000],
|
||||
[-10000, -1000, 0],
|
||||
[10000, 4, 1],
|
||||
[10000, -10, 10]
|
||||
].forEach(([msgTimeAdjustment, startTime, endTime]) => {
|
||||
it(`msgTime: ${adjustDate(
|
||||
new Date(),
|
||||
msgTimeAdjustment
|
||||
)}, startTime: ${adjustDate(
|
||||
adjustDate(new Date(), msgTimeAdjustment),
|
||||
startTime
|
||||
)}, endTime: ${adjustDate(
|
||||
adjustDate(new Date(), msgTimeAdjustment),
|
||||
endTime
|
||||
)}`, async function () {
|
||||
const msgTimestamp = adjustDate(new Date(), msgTimeAdjustment);
|
||||
|
||||
[-19000, -10, 10],
|
||||
[-19000, 1, 4],
|
||||
[-19000, -2, -1],
|
||||
[-19000, 0, 1000],
|
||||
[-19000, -1000, 0],
|
||||
[19000, 4, 1],
|
||||
[19000, -10010, -9990],
|
||||
[19000, -10, 10]
|
||||
].forEach(([msgTime, startTime, endTime]) => {
|
||||
it(`msgTime: ${msgTime} ms from now, startTime: ${
|
||||
msgTime + startTime
|
||||
}, endTime: ${msgTime + endTime}`, async function () {
|
||||
const msgTimestamp = adjustDate(new Date(), msgTime);
|
||||
expect(
|
||||
await nwaku.sendMessage(
|
||||
NimGoNode.toMessageRpcQuery({
|
||||
|
@ -85,4 +78,39 @@ describe("Waku Store, time filter", function () {
|
|||
}
|
||||
});
|
||||
});
|
||||
|
||||
[-20000, 40000].forEach((msgTime) => {
|
||||
it(`Timestamp too far from node time: ${msgTime} ms from now`, async function () {
|
||||
const msgTimestamp = adjustDate(new Date(), msgTime);
|
||||
expect(
|
||||
await nwaku.sendMessage(
|
||||
NimGoNode.toMessageRpcQuery({
|
||||
payload: new Uint8Array([0]),
|
||||
contentTopic: TestContentTopic,
|
||||
timestamp: msgTimestamp
|
||||
})
|
||||
)
|
||||
).to.be.true;
|
||||
|
||||
waku = await startAndConnectLightNode(nwaku);
|
||||
|
||||
const messages: IMessage[] = [];
|
||||
await waku.store.queryWithOrderedCallback(
|
||||
[TestDecoder],
|
||||
(msg) => {
|
||||
if (msg) {
|
||||
messages.push(msg);
|
||||
}
|
||||
},
|
||||
{
|
||||
timeFilter: {
|
||||
startTime: adjustDate(msgTimestamp, -1000),
|
||||
endTime: adjustDate(msgTimestamp, 1000)
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
expect(messages.length).eq(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue