mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-04 00:18:01 +01:00
fix: Make e2e test more stable (#767)
make sure we destroy all the stores which should also cancel any background work they have for the database.
This commit is contained in:
parent
f98a902615
commit
9bd23dc735
@ -9,14 +9,15 @@ const getLogger = require('../../../fixtures/no-logger');
|
||||
const MASKED_VALUE = '*****';
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('addon_api_serial', getLogger);
|
||||
db = await dbInit('addon_api_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('gets all addons', async t => {
|
||||
|
@ -7,14 +7,15 @@ const { setupApp } = require('../../helpers/test-helper');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('context_api_serial', getLogger);
|
||||
db = await dbInit('context_api_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('gets all context fields', async t => {
|
||||
|
@ -6,14 +6,15 @@ const dbInit = require('../../helpers/database-init');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('event_api_serial', getLogger);
|
||||
db = await dbInit('event_api_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('returns events', async t => {
|
||||
|
@ -6,14 +6,15 @@ const dbInit = require('../../helpers/database-init');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('archive_serial', getLogger);
|
||||
db = await dbInit('archive_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('returns three archived toggles', async t => {
|
||||
|
@ -6,14 +6,15 @@ const dbInit = require('../../helpers/database-init');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('feature_api_auth', getLogger);
|
||||
db = await dbInit('feature_api_auth', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('creates new feature toggle with createdBy', async t => {
|
||||
|
@ -9,14 +9,15 @@ const dbInit = require('../../helpers/database-init');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('feature_api_custom_auth', getLogger);
|
||||
db = await dbInit('feature_api_custom_auth', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('should require authenticated user', async t => {
|
||||
|
@ -7,14 +7,15 @@ const { setupApp } = require('../../helpers/test-helper');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('feature_api_serial', getLogger);
|
||||
db = await dbInit('feature_api_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('returns list of feature toggles', async t => {
|
||||
|
@ -6,16 +6,17 @@ const { setupApp } = require('../../helpers/test-helper');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
let reset = () => {};
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('metrics_serial', getLogger);
|
||||
db = await dbInit('metrics_serial', getLogger);
|
||||
stores = db.stores;
|
||||
reset = db.reset;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.afterEach(async () => {
|
||||
|
@ -7,14 +7,15 @@ const { setupApp } = require('../../helpers/test-helper');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('state_api_serial', getLogger);
|
||||
db = await dbInit('state_api_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('exports strategies and features as json by default', async t => {
|
||||
|
@ -7,14 +7,15 @@ const { setupApp } = require('../../helpers/test-helper');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('strategy_api_serial', getLogger);
|
||||
db = await dbInit('strategy_api_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('gets all strategies', async t => {
|
||||
|
@ -6,14 +6,15 @@ const { setupApp } = require('../../helpers/test-helper');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('tag_types_api_serial', getLogger);
|
||||
db = await dbInit('tag_types_api_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('returns list of tag-types', async t => {
|
||||
|
@ -6,14 +6,15 @@ const { setupApp } = require('../../helpers/test-helper');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('tag_api_serial', getLogger);
|
||||
db = await dbInit('tag_api_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('returns list of tags', async t => {
|
||||
|
@ -6,14 +6,15 @@ const dbInit = require('../../helpers/database-init');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('feature_api_client', getLogger);
|
||||
db = await dbInit('feature_api_client', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('returns four feature toggles', async t => {
|
||||
|
@ -8,14 +8,15 @@ const dbInit = require('../../helpers/database-init');
|
||||
const getLogger = require('../../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('metrics_api_client', getLogger);
|
||||
db = await dbInit('metrics_api_client', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('should be possble to send metrics', async t => {
|
||||
|
@ -15,14 +15,15 @@ const asyncFilter = async (arr, predicate) => {
|
||||
};
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('register_client', getLogger);
|
||||
db = await dbInit('register_client', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('should register client', async t => {
|
||||
|
@ -6,14 +6,15 @@ const dbInit = require('./helpers/database-init');
|
||||
const getLogger = require('../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('health_api', getLogger);
|
||||
db = await dbInit('health_api', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test('returns health good', async t => {
|
||||
|
@ -107,5 +107,13 @@ module.exports = async function init(databaseSchema = 'test', getLogger) {
|
||||
await resetDatabase(stores);
|
||||
await setupDatabase(stores);
|
||||
},
|
||||
destroy: async () => {
|
||||
const { clientInstanceStore, clientMetricsStore } = stores;
|
||||
return new Promise((resolve, reject) => {
|
||||
clientInstanceStore.destroy();
|
||||
clientMetricsStore.destroy();
|
||||
db.destroy(error => (error ? reject(error) : resolve()));
|
||||
});
|
||||
},
|
||||
};
|
||||
};
|
||||
|
@ -11,6 +11,7 @@ const {
|
||||
const permissions = require('../../../lib/permissions');
|
||||
const User = require('../../../lib/user');
|
||||
|
||||
let db;
|
||||
let stores;
|
||||
let accessService;
|
||||
|
||||
@ -38,7 +39,7 @@ const createSuperUser = async () => {
|
||||
};
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('access_service_serial', getLogger);
|
||||
db = await dbInit('access_service_serial', getLogger);
|
||||
stores = db.stores;
|
||||
// projectStore = stores.projectStore;
|
||||
accessService = new AccessService(stores, { getLogger });
|
||||
@ -50,7 +51,7 @@ test.before(async () => {
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('should have access to admin addons', async t => {
|
||||
|
@ -6,10 +6,11 @@ const ClientMetricsService = require('../../../lib/services/client-metrics');
|
||||
const { APPLICATION_CREATED } = require('../../../lib/event-type');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
let clientMetricsService;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('client_metrics_service_serial', getLogger);
|
||||
db = await dbInit('client_metrics_service_serial', getLogger);
|
||||
stores = db.stores;
|
||||
clientMetricsService = new ClientMetricsService(stores, {
|
||||
getLogger,
|
||||
@ -19,7 +20,7 @@ test.before(async () => {
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
test.serial('Apps registered should be announced', async t => {
|
||||
t.plan(3);
|
||||
|
@ -11,13 +11,14 @@ const { UPDATE_PROJECT } = require('../../../lib/permissions');
|
||||
const NotFoundError = require('../../../lib/error/notfound-error');
|
||||
|
||||
let stores;
|
||||
// let projectStore;
|
||||
let db;
|
||||
|
||||
let projectService;
|
||||
let accessService;
|
||||
let user;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('project_service_serial', getLogger);
|
||||
db = await dbInit('project_service_serial', getLogger);
|
||||
stores = db.stores;
|
||||
user = await stores.userStore.insert(
|
||||
new User({ name: 'Some Name', email: 'test@getunleash.io' }),
|
||||
@ -28,7 +29,7 @@ test.before(async () => {
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('should have default project', async t => {
|
||||
|
@ -10,17 +10,18 @@ const {
|
||||
const dbInit = require('../helpers/database-init');
|
||||
const getLogger = require('../../fixtures/no-logger');
|
||||
|
||||
let db;
|
||||
let stores;
|
||||
let eventStore;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('event_store_serial', getLogger);
|
||||
db = await dbInit('event_store_serial', getLogger);
|
||||
stores = db.stores;
|
||||
eventStore = stores.eventStore;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
test.serial('Should include id and createdAt when saving', async t => {
|
||||
const clock = sinon.useFakeTimers();
|
||||
|
@ -5,16 +5,17 @@ const dbInit = require('../helpers/database-init');
|
||||
const getLogger = require('../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
let projectStore;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('project_store_serial', getLogger);
|
||||
db = await dbInit('project_store_serial', getLogger);
|
||||
stores = db.stores;
|
||||
projectStore = stores.projectStore;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('should have default project', async t => {
|
||||
|
@ -5,14 +5,15 @@ const dbInit = require('../helpers/database-init');
|
||||
const getLogger = require('../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('setting_store_serial', getLogger);
|
||||
db = await dbInit('setting_store_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('should have api secret stored', async t => {
|
||||
@ -20,7 +21,7 @@ test.serial('should have api secret stored', async t => {
|
||||
t.assert(secret);
|
||||
});
|
||||
|
||||
test.serial('should insert arbitarty value', async t => {
|
||||
test.serial('should insert arbitrary value', async t => {
|
||||
const value = { b: 'hello' };
|
||||
await stores.settingStore.insert('unleash.custom', value);
|
||||
const ret = await stores.settingStore.get('unleash.custom');
|
||||
|
@ -12,14 +12,15 @@ const dbInit = require('../helpers/database-init');
|
||||
const getLogger = require('../../fixtures/no-logger');
|
||||
|
||||
let stores;
|
||||
let db;
|
||||
|
||||
test.before(async () => {
|
||||
const db = await dbInit('user_store_serial', getLogger);
|
||||
db = await dbInit('user_store_serial', getLogger);
|
||||
stores = db.stores;
|
||||
});
|
||||
|
||||
test.after(async () => {
|
||||
await stores.db.destroy();
|
||||
await db.destroy();
|
||||
});
|
||||
|
||||
test.serial('should have no users', async t => {
|
||||
|
Loading…
Reference in New Issue
Block a user