docs/tests/SetupStore-integration.js

101 lines
2.5 KiB
JavaScript

var virtualbox = require('../build/Virtualbox');
var SetupStore = require('../build/SetupStore');
var setupUtil = require('../build/SetupUtil');
var path = require('path');
var fs = require('fs');
var child_process = require('child_process');
var exec = require('exec');
var rimraf = require('rimraf');
var packagejson = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf8'));
jasmine.DEFAULT_TIMEOUT_INTERVAL = 300000; // 5 minutes
describe('Setup', function () {
describe('without virtualbox installed or downloaded', function () {
var virtualboxFile = path.join(setupUtil.supportDir(), packagejson['virtualbox-filename']);
beforeEach(function () {
if (fs.existsSync(virtualboxFile)) {
fs.unlinkSync(virtualboxFile);
}
spyOn(virtualbox, 'installed').andCallFake(function (callback) {
callback(false);
});
});
it('downloads virtualbox', function (done) {
SetupStore.downloadVirtualboxStep.run(function (err) {
expect(err).toBeFalsy();
expect(fs.existsSync(virtualboxFile)).toBe(true);
done();
}, function (progress) {
});
});
});
describe('with virtualbox downloaded but not installed', function () {
beforeEach(function (done) {
// 5 minute timeout per test
SetupStore.downloadVirtualboxStep.run(function (err) {
if (virtualbox.installed()) {
virtualbox.kill(function (callback) {
done();
});
} else {
done();
}
}, function (progress) {});
});
it('does install virtualbox', function (done) {
SetupStore.installVirtualboxStep.run(function (err) {
expect(err).toBeFalsy();
done();
});
});
});
describe('with virtualbox installed', function () {
// Before each teardown the boot2docker VM, keys and anything else
describe('and with a kitematic vm', function () {
});
describe('and without a boot2docker vm', function () {
});
describe('and with an old boot2docker vm', function () {
});
describe('and with a very old boot2docker vm', function () {
});
describe('and with a boot2docker vm running', function () {
});
describe('and with a boot2docker vm but with no ssh keys', function () {
});
describe('and with a boot2docker vm being powered off', function () {
});
describe('and with a boot2docker vm being removed', function () {
});
describe('and with a boot2docker vm initialized but not running', function () {
});
});
});