mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 09:57:02 +01:00
Clean up Migrator test cases (#7835)
This commit is contained in:
parent
948a2ce831
commit
76a31c3175
@ -167,6 +167,7 @@ async function initialize () {
|
||||
async function loadStateFromPersistence () {
|
||||
// migrations
|
||||
const migrator = new Migrator({ migrations })
|
||||
migrator.on('error', console.warn)
|
||||
|
||||
// read from disk
|
||||
// first from preferred, async API:
|
||||
|
@ -52,7 +52,6 @@ class Migrator extends EventEmitter {
|
||||
// rewrite error message to add context without clobbering stack
|
||||
const originalErrorMessage = err.message
|
||||
err.message = `MetaMask Migration Error #${migration.version}: ${originalErrorMessage}`
|
||||
console.warn(err.stack)
|
||||
// emit error instead of throw so as to not break the run (gracefully fail)
|
||||
this.emit('error', err)
|
||||
// stop migrating and use state as is
|
||||
|
@ -60,33 +60,27 @@ describe('liveMigrations require list', () => {
|
||||
|
||||
describe('Migrator', () => {
|
||||
const migrator = new Migrator({ migrations: stubMigrations })
|
||||
it('migratedData version should be version 3', (done) => {
|
||||
migrator.migrateData(versionedData)
|
||||
.then((migratedData) => {
|
||||
assert.equal(migratedData.meta.version, stubMigrations[2].version)
|
||||
done()
|
||||
}).catch(done)
|
||||
it('migratedData version should be version 3', async () => {
|
||||
const migratedData = await migrator.migrateData(versionedData)
|
||||
assert.equal(migratedData.meta.version, stubMigrations[2].version)
|
||||
})
|
||||
|
||||
it('should match the last version in live migrations', (done) => {
|
||||
it('should match the last version in live migrations', async () => {
|
||||
const migrator = new Migrator({ migrations: liveMigrations })
|
||||
migrator.migrateData(firstTimeState)
|
||||
.then((migratedData) => {
|
||||
const last = liveMigrations.length - 1
|
||||
assert.equal(migratedData.meta.version, liveMigrations[last].version)
|
||||
done()
|
||||
}).catch(done)
|
||||
const migratedData = await migrator.migrateData(firstTimeState)
|
||||
const last = liveMigrations.length - 1
|
||||
assert.equal(migratedData.meta.version, liveMigrations[last].version)
|
||||
})
|
||||
|
||||
it('should emit an error', function (done) {
|
||||
this.timeout(15000)
|
||||
const migrator = new Migrator({ migrations: [{ version: 1, migrate: async () => {
|
||||
throw new Error('test')
|
||||
} } ] })
|
||||
migrator.on('error', () => done())
|
||||
migrator.migrateData({ meta: { version: 0 } })
|
||||
.then(() => {
|
||||
}).catch(done)
|
||||
it('should emit an error', async () => {
|
||||
const migrator = new Migrator({
|
||||
migrations: [{
|
||||
version: 1,
|
||||
async migrate () {
|
||||
throw new Error('test')
|
||||
},
|
||||
}],
|
||||
})
|
||||
await assert.rejects(migrator.migrateData({ meta: { version: 0 } }))
|
||||
})
|
||||
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user