cloudron-e2e-test/common.js

85 lines
2.6 KiB
JavaScript
Raw Permalink Normal View History

2015-06-17 02:13:17 +00:00
'use strict';
2015-09-29 20:34:43 +00:00
var debug = require('debug')('e2e:common'),
path = require('path'),
2015-09-15 18:55:06 +00:00
safe = require('safetydance'),
util = require('util'),
2015-09-15 18:55:06 +00:00
_ = require('underscore');
2015-06-20 18:49:12 +00:00
2015-06-17 02:13:17 +00:00
exports = module.exports = {
TESTAPP_ID: 'io.cloudron.testapp',
2017-05-02 03:53:01 +00:00
PREV_TESTAPP_VERSION : '22.0.0',
2017-05-02 04:30:21 +00:00
TESTAPP_VERSION : '23.0.6',
2015-06-19 20:06:00 +00:00
cloudronDomain: cloudronDomain,
2016-01-27 17:21:41 +00:00
verifyResponse2xx: verifyResponse2xx,
verifyResponse: verifyResponse,
2015-07-23 20:46:47 +00:00
getOwner: getOwner,
getAdmin: getAdmin,
2015-09-15 18:55:06 +00:00
stripeSecret: stripeSecret,
2016-06-24 17:38:26 +00:00
stripUnreachable: stripUnreachable,
regexp: regexp
2015-06-17 02:13:17 +00:00
};
var gEcosystem = safe.require(path.join(__dirname, '../secrets/e2e-test/ecosystem-staging.json'));
2015-07-27 20:31:50 +00:00
2016-06-24 17:38:26 +00:00
function regexp(str) {
return new RegExp(str.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'));
}
2015-06-19 20:06:00 +00:00
function cloudronDomain(filename) {
2015-11-04 17:52:41 +00:00
return 't' + path.basename(filename.replace(/-/g,''), 'test.js') + '.selfhost.io';
2015-06-19 20:06:00 +00:00
}
2015-09-15 18:55:06 +00:00
function stripUnreachable(releases) {
var reachableVersions = [ ];
2016-10-07 12:12:15 +00:00
var curVersion = '0.20.0';
2015-09-15 18:55:06 +00:00
while (true) {
reachableVersions.push(curVersion);
var nextVersion = releases[curVersion].next;
if (!nextVersion) break;
curVersion = nextVersion;
}
return _.pick(releases, reachableVersions);
}
2016-01-27 17:21:41 +00:00
function verifyResponse2xx(res, args) {
if (res.statusCode < 200 || res.statusCode > 299) {
debug('Response error statusCode:%s error:%s body:%j', res.statusCode, res.error, res.body);
var errorMessage = util.format.apply(util, Array.prototype.slice.call(arguments, 1));
debug(errorMessage.red);
throw new Error(errorMessage);
}
}
function verifyResponse(res, args) {
2015-09-16 19:31:00 +00:00
if (res.statusCode < 200 || res.statusCode > 399) {
debug('Response error statusCode:%s error:%s body:%j', res.statusCode, res.error, res.body);
var errorMessage = util.format.apply(util, Array.prototype.slice.call(arguments, 1));
2015-09-16 19:31:00 +00:00
debug(errorMessage.red);
throw new Error(errorMessage);
}
}
2015-07-23 20:46:47 +00:00
function getOwner() {
return {
2015-07-27 20:31:50 +00:00
username: process.env.APPSTORE_USERNAME || gEcosystem.env.APPSTORE_USERNAME,
password: process.env.APPSTORE_PASSWORD || gEcosystem.env.APPSTORE_PASSWORD,
email: process.env.APPSTORE_EMAIL || gEcosystem.env.APPSTORE_EMAIL
2015-07-23 20:46:47 +00:00
};
}
2015-06-19 20:06:00 +00:00
function getAdmin() {
return {
username: process.env.APPSTORE_ADMIN_USERNAME || gEcosystem.env.APPSTORE_ADMIN_USERNAME,
password: process.env.APPSTORE_ADMIN_PASSWORD || gEcosystem.env.APPSTORE_ADMIN_PASSWORD,
email: process.env.APPSTORE_ADMIN_EMAIL || gEcosystem.env.APPSTORE_ADMIN_EMAIL
};
}
2015-07-27 20:21:38 +00:00
function stripeSecret() {
2015-07-27 20:31:50 +00:00
return process.env.STRIPE_SECRET || gEcosystem.env.STRIPE_SECRET;
2015-07-27 20:21:38 +00:00
}