mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-07-04 11:32:30 +00:00
fix: Reintroduce putting entry to entries to trigger pin on replica.
This commit is contained in:
parent
30fbeb4243
commit
26cadb1cf9
@ -312,6 +312,9 @@ const Log = async (identity, { logId, logHeads, access, entryStorage, headsStora
|
|||||||
await _heads.remove(hash)
|
await _heads.remove(hash)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 6. Add new entry to entries (for pinning) */
|
||||||
|
await _entries.put(entry.hash, entry.bytes)
|
||||||
|
|
||||||
/* 6. Add the new entry to heads (=union with current heads) */
|
/* 6. Add the new entry to heads (=union with current heads) */
|
||||||
await _heads.add(entry)
|
await _heads.add(entry)
|
||||||
|
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
import { strictEqual } from 'assert'
|
|
||||||
import { rimraf } from 'rimraf'
|
|
||||||
import { createOrbitDB } from '../src/index.js'
|
|
||||||
import connectPeers from './utils/connect-nodes.js'
|
|
||||||
import waitFor from './utils/wait-for.js'
|
|
||||||
import createHelia from './utils/create-helia.js'
|
|
||||||
import { CID } from 'multiformats/cid'
|
|
||||||
import { base58btc } from 'multiformats/bases/base58'
|
|
||||||
|
|
||||||
describe.skip('Replicating databases', function () {
|
|
||||||
this.timeout(10000)
|
|
||||||
|
|
||||||
let ipfs1, ipfs2
|
|
||||||
let orbitdb1, orbitdb2
|
|
||||||
|
|
||||||
before(async () => {
|
|
||||||
ipfs1 = await createHelia({ directory: './ipfs1' })
|
|
||||||
ipfs2 = await createHelia({ directory: './ipfs2' })
|
|
||||||
await connectPeers(ipfs1, ipfs2)
|
|
||||||
|
|
||||||
orbitdb1 = await createOrbitDB({ ipfs: ipfs1, id: 'user1', directory: './orbitdb1' })
|
|
||||||
orbitdb2 = await createOrbitDB({ ipfs: ipfs2, id: 'user2', directory: './orbitdb2' })
|
|
||||||
})
|
|
||||||
|
|
||||||
after(async () => {
|
|
||||||
await orbitdb1.stop()
|
|
||||||
await orbitdb2.stop()
|
|
||||||
await ipfs1.stop()
|
|
||||||
await ipfs2.stop()
|
|
||||||
|
|
||||||
await rimraf('./orbitdb1')
|
|
||||||
await rimraf('./orbitdb2')
|
|
||||||
await rimraf('./ipfs1')
|
|
||||||
await rimraf('./ipfs2')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('pins all entries in the replicated database', async () => {
|
|
||||||
const db1 = await orbitdb1.open('helloworld', { referencesCount: 0 })
|
|
||||||
const hash = await db1.add('hello world')
|
|
||||||
|
|
||||||
let replicated = false
|
|
||||||
|
|
||||||
const onJoin = async (peerId, heads) => {
|
|
||||||
replicated = true
|
|
||||||
}
|
|
||||||
|
|
||||||
const db2 = await orbitdb2.open(db1.address)
|
|
||||||
|
|
||||||
db2.events.on('join', onJoin)
|
|
||||||
|
|
||||||
await waitFor(() => replicated, () => true)
|
|
||||||
|
|
||||||
const cid = CID.parse(hash, base58btc)
|
|
||||||
strictEqual(await ipfs1.pins.isPinned(cid), true)
|
|
||||||
strictEqual(await ipfs2.pins.isPinned(cid), false)
|
|
||||||
})
|
|
||||||
})
|
|
@ -1,9 +1,11 @@
|
|||||||
import { deepStrictEqual } from 'assert'
|
import { deepStrictEqual, strictEqual } from 'assert'
|
||||||
import { rimraf } from 'rimraf'
|
import { rimraf } from 'rimraf'
|
||||||
import { createOrbitDB } from '../src/index.js'
|
import { createOrbitDB } from '../src/index.js'
|
||||||
import connectPeers from './utils/connect-nodes.js'
|
import connectPeers from './utils/connect-nodes.js'
|
||||||
import waitFor from './utils/wait-for.js'
|
import waitFor from './utils/wait-for.js'
|
||||||
import createHelia from './utils/create-helia.js'
|
import createHelia from './utils/create-helia.js'
|
||||||
|
import { CID } from 'multiformats/cid'
|
||||||
|
import { base58btc } from 'multiformats/bases/base58'
|
||||||
|
|
||||||
describe('Replicating databases', function () {
|
describe('Replicating databases', function () {
|
||||||
this.timeout(10000)
|
this.timeout(10000)
|
||||||
@ -167,5 +169,26 @@ describe('Replicating databases', function () {
|
|||||||
|
|
||||||
console.log('events:', amount)
|
console.log('events:', amount)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('pins all entries in the replicated database', async () => {
|
||||||
|
const db1 = await orbitdb1.open('helloworld', { referencesCount: 0 })
|
||||||
|
const hash = await db1.add('hello world')
|
||||||
|
|
||||||
|
let replicated = false
|
||||||
|
|
||||||
|
const onJoin = async (peerId, heads) => {
|
||||||
|
replicated = true
|
||||||
|
}
|
||||||
|
|
||||||
|
const db2 = await orbitdb2.open(db1.address)
|
||||||
|
|
||||||
|
db2.events.on('join', onJoin)
|
||||||
|
|
||||||
|
await waitFor(() => replicated, () => true)
|
||||||
|
|
||||||
|
const cid = CID.parse(hash, base58btc)
|
||||||
|
strictEqual(await ipfs1.pins.isPinned(cid), true)
|
||||||
|
strictEqual(await ipfs2.pins.isPinned(cid), true)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user