nitrogen-core
Version:
Core services used across ingestion, registry, and consumption servers.
52 lines (41 loc) • 1.6 kB
JavaScript
var assert = require('assert')
, async = require('async')
, azureProviders = require('nitrogen-azure-providers')
, config = require('./config')
, log = require('winston')
, core = require('../lib')
, mongodbProviders = require('nitrogen-mongodb-providers')
, mongoose = require('mongoose');
core.config = config;
core.log = log;
config.archive_providers = [];
var azureTableStorageProvider = new azureProviders.AzureTableStorageProvider(config, log);
config.archive_providers.push(azureTableStorageProvider);
config.primary_archive_provider = azureTableStorageProvider;
var removeAll = function (modelType, callback) {
modelType.remove({}, callback);
};
before(function(done) {
core.services.global.connectDatabase(function(err) {
assert(!err);
log.debug('mongo connected');
var modelTypes = Object.keys(core.models).map(function(key) { return core.models[key]; });
async.each(modelTypes, removeAll, function(err) {
assert(!err);
log.debug('cleared models');
core.services.initialize(function(err) {
assert(!err);
log.debug('services initialized');
config.pubsub_provider.resetForTest(function(err) {
assert(!err);
log.debug('pubsub reset');
core.fixtures.reset(function(err) {
assert(!err);
log.debug('fixtures put in place');
done();
});
});
});
});
});
});