Skip to content

Commit 7482b0b

Browse files
committed
small tweaks, fix tests
Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
1 parent df599e1 commit 7482b0b

File tree

4 files changed

+49
-19
lines changed

4 files changed

+49
-19
lines changed

indexer/lib/advertisement-walker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export async function fetchAdvertisedPayload (providerAddress, advertisementCid)
7070
Entries: { '/': string },
7171
IsRm: false,
7272
Metadata: { '/': { bytes: string } },
73-
PreviousID?: { '/': string ,
73+
PreviousID?: { '/': string },
7474
Provider: string
7575
Signature: {
7676
'/': {

indexer/lib/typings.d.ts

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,37 @@ export interface ProviderInfo {
88

99
export type ProviderToInfoMap = Map<string, ProviderInfo>;
1010

11+
/**
12+
lastAdCID --> [ ] -\
13+
↓ |
14+
... | entries announced after we started the current walk
15+
↓ |
16+
[ ] -/
17+
18+
head --> [ ] -\
19+
↓ |
20+
... | entries visited in this walk
21+
↓ |
22+
[ ] -/
23+
24+
tail --> [ ] -\
25+
↓ |
26+
... | entries NOT visited yet
27+
↓ |
28+
[ ] -/
29+
30+
last_head --> [ ] -\
31+
↓ |
32+
... | entries visited in the previous walks
33+
↓ |
34+
[ ] -/
35+
36+
(null)
37+
*/
1138
export interface WalkerState {
12-
lastHead: string;
1339
head: string;
1440
tail: string | undefined
41+
lastHead: string;
1542
status: string;
1643
}
1744

indexer/test/advertisement-walker.test.js

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,38 +11,42 @@ import { FRISBII_ADDRESS, FRISBII_AD_CID } from './helpers/test-data.js'
1111
const debug = createDebug('test')
1212

1313
// TODO(bajtos) We may need to replace this with a mock index provider
14-
const providerId = '12D3KooWDYiKtcxTrjNFtR6UqKRkJpESYHmmFznQAAkDX2ZHQ49t'
15-
const providerAddress = 'http://222.214.219.200:3104'
16-
const knownAdvertisementCID = 'baguqeeradb34kxwvi5fs3gj6wrxfkcqntzklq4qdallcejqfhyryftnpd25a'
17-
const knownPrevAdvertisementCID = 'baguqeerawqvze5suesscwzsmpgemthwv6hx2yi2rg35zt7jdlmxapjf5qfdq'
14+
const providerId = '12D3KooWHKeaNCnYByQUMS2n5PAZ1KZ9xKXqsb4bhpxVJ6bBJg5V'
15+
const providerAddress = 'http://f010479.twinquasar.io:3104'
16+
const knownAdvertisement = {
17+
adCid: 'baguqeerarbmakqcnzzuhki25xs357xyin4ieqxvumrp5cy7s44v7tzwwmg3q',
18+
previousAdCid: 'baguqeerau2rz67nvzcaotgowm2olalanx3eynr2asbjwdkaq3y5umqvdi2ea',
19+
payloadCid: 'bafkreigrnnl64xuevvkhknbhrcqzbdvvmqnchp7ae2a4ulninsjoc5svoq',
20+
pieceCid: 'baga6ea4seaqlwzed5tgjtyhrugjziutzthx2wrympvsuqhfngwdwqzvosuchmja'
21+
}
1822

1923
describe('processNextAdvertisement', () => {
2024
it('handles a new index provider not seen before', async () => {
2125
/** @type {ProviderInfo} */
2226
const providerInfo = {
2327
providerAddress,
24-
lastAdvertisementCID: knownAdvertisementCID
28+
lastAdvertisementCID: knownAdvertisement.adCid
2529
}
2630
const walkerState = undefined
2731
const { indexEntry, newState } = await processNextAdvertisement(providerId, providerInfo, walkerState)
2832
assert.deepStrictEqual(newState, /** @type {WalkerState} */({
2933
head: providerInfo.lastAdvertisementCID,
3034
lastHead: providerInfo.lastAdvertisementCID,
31-
tail: knownPrevAdvertisementCID,
32-
status: `Walking the advertisements from ${knownAdvertisementCID}, next step: ${knownPrevAdvertisementCID}`
35+
tail: knownAdvertisement.previousAdCid,
36+
status: `Walking the advertisements from ${knownAdvertisement.adCid}, next step: ${knownAdvertisement.previousAdCid}`
3337
}))
3438

3539
assert.deepStrictEqual(indexEntry, {
36-
payloadCid: 'bafk2bzaceaybhh2uenrbiuv4x6xywbv6oxizamydggd5r2xgnnvr53uwnjqea',
37-
pieceCid: 'baga6ea4seaqjk25ts2kekzqa5jplj6uyzk7qpiigg4koiqjz26dtmzooiocwuoa'
40+
payloadCid: knownAdvertisement.payloadCid,
41+
pieceCid: knownAdvertisement.pieceCid
3842
})
3943
})
4044

4145
it('does nothing when the last advertisement has been already processed', async () => {
4246
/** @type {ProviderInfo} */
4347
const providerInfo = {
4448
providerAddress,
45-
lastAdvertisementCID: knownAdvertisementCID
49+
lastAdvertisementCID: knownAdvertisement.adCid
4650
}
4751

4852
let result = await processNextAdvertisement(providerId, providerInfo, undefined)
@@ -57,11 +61,11 @@ describe('processNextAdvertisement', () => {
5761

5862
describe('fetchAdvertisedPayload', () => {
5963
it('returns previousAdvertisementCid, pieceCid and payloadCid for Graphsync retrievals', async () => {
60-
const result = await fetchAdvertisedPayload(providerAddress, knownAdvertisementCID)
64+
const result = await fetchAdvertisedPayload(providerAddress, knownAdvertisement.adCid)
6165
assert.deepStrictEqual(result, /** @type {AdvertisedPayload} */({
62-
payloadCid: 'bafk2bzaceaybhh2uenrbiuv4x6xywbv6oxizamydggd5r2xgnnvr53uwnjqea',
63-
pieceCid: 'baga6ea4seaqjk25ts2kekzqa5jplj6uyzk7qpiigg4koiqjz26dtmzooiocwuoa',
64-
previousAdvertisementCid: 'baguqeerawqvze5suesscwzsmpgemthwv6hx2yi2rg35zt7jdlmxapjf5qfdq'
66+
payloadCid: knownAdvertisement.payloadCid,
67+
pieceCid: knownAdvertisement.pieceCid,
68+
previousAdvertisementCid: knownAdvertisement.previousAdCid
6569
}))
6670
})
6771

indexer/test/ipni-watcher.test.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ describe('getProvidersWithMetadata', () => {
1515
const providers = await getProvidersWithMetadata()
1616
debug(JSON.stringify(providers, null, 2))
1717

18-
const frisbiiOnFly = providers.find(
19-
p => p.providerId === FRISBII_ID && p.providerAddress === FRISBII_ADDRESS
20-
)
18+
const frisbiiOnFly = providers.get(FRISBII_ID)
2119

2220
assert(frisbiiOnFly)
21+
assert.strictEqual(frisbiiOnFly.providerAddress, FRISBII_ADDRESS)
2322
assert.match(frisbiiOnFly.lastAdvertisementCID, /^bagu/)
2423
})
2524
})

0 commit comments

Comments
 (0)