Clean up Migrator test cases (#7835)

feature/default_network_editable
Whymarrh Whitby 5 years ago committed by Frankie
parent 948a2ce831
commit 76a31c3175
  1. 1
      app/scripts/background.js
  2. 1
      app/scripts/lib/migrator/index.js
  3. 32
      test/unit/migrations/migrator-test.js

@ -167,6 +167,7 @@ async function initialize () {
async function loadStateFromPersistence () { async function loadStateFromPersistence () {
// migrations // migrations
const migrator = new Migrator({ migrations }) const migrator = new Migrator({ migrations })
migrator.on('error', console.warn)
// read from disk // read from disk
// first from preferred, async API: // first from preferred, async API:

@ -52,7 +52,6 @@ class Migrator extends EventEmitter {
// rewrite error message to add context without clobbering stack // rewrite error message to add context without clobbering stack
const originalErrorMessage = err.message const originalErrorMessage = err.message
err.message = `MetaMask Migration Error #${migration.version}: ${originalErrorMessage}` 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) // emit error instead of throw so as to not break the run (gracefully fail)
this.emit('error', err) this.emit('error', err)
// stop migrating and use state as is // stop migrating and use state as is

@ -60,33 +60,27 @@ describe('liveMigrations require list', () => {
describe('Migrator', () => { describe('Migrator', () => {
const migrator = new Migrator({ migrations: stubMigrations }) const migrator = new Migrator({ migrations: stubMigrations })
it('migratedData version should be version 3', (done) => { it('migratedData version should be version 3', async () => {
migrator.migrateData(versionedData) const migratedData = await migrator.migrateData(versionedData)
.then((migratedData) => {
assert.equal(migratedData.meta.version, stubMigrations[2].version) assert.equal(migratedData.meta.version, stubMigrations[2].version)
done()
}).catch(done)
}) })
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 }) const migrator = new Migrator({ migrations: liveMigrations })
migrator.migrateData(firstTimeState) const migratedData = await migrator.migrateData(firstTimeState)
.then((migratedData) => {
const last = liveMigrations.length - 1 const last = liveMigrations.length - 1
assert.equal(migratedData.meta.version, liveMigrations[last].version) assert.equal(migratedData.meta.version, liveMigrations[last].version)
done()
}).catch(done)
}) })
it('should emit an error', function (done) { it('should emit an error', async () => {
this.timeout(15000) const migrator = new Migrator({
const migrator = new Migrator({ migrations: [{ version: 1, migrate: async () => { migrations: [{
version: 1,
async migrate () {
throw new Error('test') throw new Error('test')
} } ] }) },
migrator.on('error', () => done()) }],
migrator.migrateData({ meta: { version: 0 } }) })
.then(() => { await assert.rejects(migrator.migrateData({ meta: { version: 0 } }))
}).catch(done)
}) })
}) })

Loading…
Cancel
Save