check version of app
This commit is contained in:
parent
da5045537a
commit
2017ec1841
15
cloudron.js
15
cloudron.js
|
@ -116,7 +116,7 @@ Cloudron.prototype.activate = function (user) {
|
||||||
assert.strictEqual(res.body.version, this._box.version);
|
assert.strictEqual(res.body.version, this._box.version);
|
||||||
};
|
};
|
||||||
|
|
||||||
Cloudron.prototype.waitForApp = function (appId) {
|
Cloudron.prototype.waitForApp = function (appId, version) {
|
||||||
// wait for app to come up
|
// wait for app to come up
|
||||||
process.stdout.write('Waiting for app to come up.');
|
process.stdout.write('Waiting for app to come up.');
|
||||||
|
|
||||||
|
@ -134,7 +134,8 @@ Cloudron.prototype.waitForApp = function (appId) {
|
||||||
}
|
}
|
||||||
assert.strictEqual(res.body.installationState, 'installed');
|
assert.strictEqual(res.body.installationState, 'installed');
|
||||||
assert.strictEqual(res.body.runState, 'running');
|
assert.strictEqual(res.body.runState, 'running');
|
||||||
assert.strictEqual(res.body.health, 'healthy');
|
assert.strictEqual(res.body.runState, 'running');
|
||||||
|
if (version) assert.strictEqual(res.body.manifest.version, version);
|
||||||
|
|
||||||
return res.body;
|
return res.body;
|
||||||
};
|
};
|
||||||
|
@ -166,6 +167,8 @@ Cloudron.prototype.setCredentials = function (password, accessToken) {
|
||||||
Cloudron.prototype.installApp = function (location, manifestOrAppstoreId, portBindings) {
|
Cloudron.prototype.installApp = function (location, manifestOrAppstoreId, portBindings) {
|
||||||
portBindings = portBindings || null; // null binds nothing
|
portBindings = portBindings || null; // null binds nothing
|
||||||
|
|
||||||
|
var version = typeof manifestOrAppstoreId === 'object' ? manifestOrAppstoreId.version : manifestOrAppstoreId.split('@')[1];
|
||||||
|
|
||||||
var data = {
|
var data = {
|
||||||
manifest: typeof manifestOrAppstoreId === 'object' ? manifestOrAppstoreId : null,
|
manifest: typeof manifestOrAppstoreId === 'object' ? manifestOrAppstoreId : null,
|
||||||
appStoreId: typeof manifestOrAppstoreId === 'string' ? manifestOrAppstoreId : null,
|
appStoreId: typeof manifestOrAppstoreId === 'string' ? manifestOrAppstoreId : null,
|
||||||
|
@ -183,7 +186,7 @@ Cloudron.prototype.installApp = function (location, manifestOrAppstoreId, portBi
|
||||||
debug('App installed at %s'.green, location);
|
debug('App installed at %s'.green, location);
|
||||||
var appId = res.body.id;
|
var appId = res.body.id;
|
||||||
|
|
||||||
var app = this.waitForApp(appId);
|
var app = this.waitForApp(appId, version);
|
||||||
debug('App is running'.green);
|
debug('App is running'.green);
|
||||||
|
|
||||||
res = request.get('https://' + app.fqdn).end();
|
res = request.get('https://' + app.fqdn).end();
|
||||||
|
@ -233,6 +236,8 @@ Cloudron.prototype.uninstallApp = function (appId) {
|
||||||
Cloudron.prototype.updateApp = function (appId, manifestOrAppstoreId) {
|
Cloudron.prototype.updateApp = function (appId, manifestOrAppstoreId) {
|
||||||
process.stdout.write('Trying to update');
|
process.stdout.write('Trying to update');
|
||||||
|
|
||||||
|
var version = typeof manifestOrAppstoreId === 'object' ? manifestOrAppstoreId.version : manifestOrAppstoreId.split('@')[1];
|
||||||
|
|
||||||
var data = {
|
var data = {
|
||||||
password: this._credentials.password,
|
password: this._credentials.password,
|
||||||
manifest: typeof manifestOrAppstoreId === 'object' ? manifestOrAppstoreId : null,
|
manifest: typeof manifestOrAppstoreId === 'object' ? manifestOrAppstoreId : null,
|
||||||
|
@ -247,12 +252,12 @@ Cloudron.prototype.updateApp = function (appId, manifestOrAppstoreId) {
|
||||||
|
|
||||||
console.log('Update started'.green);
|
console.log('Update started'.green);
|
||||||
|
|
||||||
var app = this.waitForApp(appId);
|
var app = this.waitForApp(appId, version);
|
||||||
debug('App is running'.green);
|
debug('App is running'.green);
|
||||||
|
|
||||||
res = request.get('https://' + app.fqdn).end();
|
res = request.get('https://' + app.fqdn).end();
|
||||||
common.verifyResponse2xx(res, 'App is unreachable');
|
common.verifyResponse2xx(res, 'App is unreachable');
|
||||||
console.log('App updated'.green);
|
console.log('App updated to '.green);
|
||||||
};
|
};
|
||||||
|
|
||||||
Cloudron.prototype.update = function (toVersion) {
|
Cloudron.prototype.update = function (toVersion) {
|
||||||
|
|
Loading…
Reference in New Issue