mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-09-13 11:20:12 +00:00
53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
import { deepStrictEqual } from 'assert'
|
|
import { copy } from 'fs-extra'
|
|
import { rimraf } from 'rimraf'
|
|
import { createOrbitDB } from '../src/index.js'
|
|
import createHelia from './utils/create-helia.js'
|
|
|
|
describe('Migrations', function () {
|
|
this.timeout(10000)
|
|
|
|
let ipfs
|
|
let orbitdb
|
|
|
|
const fixturesPath = './test/fixtures/pre-2.5.0'
|
|
const testDir = './test-heads-migration'
|
|
|
|
before(async () => {
|
|
await copy(fixturesPath, testDir)
|
|
ipfs = await createHelia({ directory: `${testDir}/ipfs` })
|
|
orbitdb = await createOrbitDB({ ipfs, id: 'user1', directory: `${testDir}/orbitdb` })
|
|
})
|
|
|
|
after(async () => {
|
|
await orbitdb.stop()
|
|
await ipfs.blockstore.child.child.child.close()
|
|
await ipfs.stop()
|
|
await rimraf(testDir)
|
|
})
|
|
|
|
it('migrates the heads database from pre 2.5.0 to 2.5.0 format', async () => {
|
|
const db = await orbitdb.open('/orbitdb/zdpuAoE5P3f5zsPGkNDVgK4XF61oyE5c5JY6Yz5d74oWFCYES')
|
|
|
|
const res = []
|
|
|
|
for await (const event of db.iterator()) {
|
|
res.unshift(event)
|
|
}
|
|
|
|
deepStrictEqual(res.length, 129)
|
|
})
|
|
|
|
it('can read the database after migration to 2.5.0 format', async () => {
|
|
const db = await orbitdb.open('/orbitdb/zdpuAoE5P3f5zsPGkNDVgK4XF61oyE5c5JY6Yz5d74oWFCYES')
|
|
|
|
const res = []
|
|
|
|
for await (const event of db.iterator()) {
|
|
res.unshift(event)
|
|
}
|
|
|
|
deepStrictEqual(res.length, 129)
|
|
})
|
|
})
|