nci/test/helpers.js
2015-07-16 22:19:43 +03:00

100 lines
2.2 KiB
JavaScript

'use strict';
var SpawnCommand = require('../lib/command/spawn').Command,
fs = require('fs'),
path = require('path'),
db = require('../db');
exports.removeDir = function(dir, callback) {
new SpawnCommand().run({cmd: 'rm', args: ['-R', dir]}, callback);
};
exports.removeDirIfExists = function(dir, done) {
if (fs.exists(dir, function(isExists) {
if (isExists) {
exports.removeDir(dir, done);
} else {
done();
}
}));
};
exports.revs = {};
// revisions for the test mercurial repo
exports.revs.mercurial = [{
id: 'da2762e71e87',
tags: ['zero-revision'],
author: 'kotbegemot',
date: new Date('Fri May 09 22:36:41 2014 +0400').getTime(),
comment: 'zero revision'
}, {
id: '98e3a18d8193',
author: 'kotbegemot',
date: new Date('Fri May 09 22:37:19 2014 +0400').getTime(),
comment: 'first revision'
}, {
id: '9d7d08445f4c',
tags: ['release-0.1.0', 'second-revision'],
author: 'kotbegemot',
date: new Date('Sat May 10 03:18:20 2014 +0400').getTime(),
comment: 'third revision'
}, {
id: '4593f737280d',
author: 'okv',
date: new Date('Sun Jun 28 10:54:22 2015 +0300').getTime(),
comment: 'add tags'
}];
exports.revs.git = [{
id: '4ec4643',
tags: ['zero-revision'],
author: 'oleg',
date: new Date('Mon Jul 13 22:30:58 2015 +0300').getTime(),
comment: 'zero revision'
}, {
id: 'f76bae6',
author: 'oleg',
date: new Date('Mon Jul 13 22:31:58 2015 +0300').getTime(),
comment: 'first revision'
}, {
id: '39245d9',
tags: ['release-0.1.0', 'second-revision'],
author: 'oleg',
date: new Date('Mon Jul 13 22:32:59 2015 +0300').getTime(),
comment: 'third revision'
}, {
id: '9577350',
author: 'oleg',
date: new Date('Thu Jul 16 22:07:40 2015 +0300').getTime(),
comment: '4th commit'
}];
exports.scm = {};
exports.scm.mercurial = {
type: 'mercurial',
repository: path.join(__dirname, 'repos', 'mercurial'),
rev: 'default'
};
exports.scm.git = {
type: 'git',
repository: path.join(__dirname, 'repos', 'git'),
rev: 'master'
};
exports.repository = {
scm: exports.scm.git,
revs: exports.revs.git
};
exports.initDb = function(callback) {
db.init('path/to/db/ignored/for/memdown', {
db: require('memdown'),
valueEncoding: 'json'
}, callback);
return db;
};