diff --git a/src/constants.js b/src/constants.js index a6951c0f1..06f039f48 100644 --- a/src/constants.js +++ b/src/constants.js @@ -63,6 +63,6 @@ exports = module.exports = { FOOTER: '© %YEAR%   [Cloudron](https://cloudron.io)       [Forum ](https://forum.cloudron.io)', - VERSION: process.env.BOX_ENV === 'cloudron' ? fs.readFileSync(path.join(__dirname, '../VERSION'), 'utf8').trim() : '6.0.1-test' + VERSION: process.env.BOX_ENV === 'cloudron' ? fs.readFileSync(path.join(__dirname, '../VERSION'), 'utf8').trim() : '6.3.0-test' }; diff --git a/src/routes/test/apps-test.js b/src/routes/test/apps-test.js index be0033c1a..deab9811b 100644 --- a/src/routes/test/apps-test.js +++ b/src/routes/test/apps-test.js @@ -170,14 +170,19 @@ function startBox(done) { superagent.post(SERVER_URL + '/api/v1/users') .query({ access_token: token }) .send({ username: USERNAME_1, email: EMAIL_1, invite: false }) - .end(function (err, res) { + .end(async function (err, res) { expect(res.statusCode).to.equal(201); user_1_id = res.body.id; token_1 = hat(8 * 32); // HACK to get a token for second user (passwords are generated and the user should have gotten a password setup link...) - tokendb.add({ id: 'tid-1', accessToken: token_1, identifier: user_1_id, clientId: tokens.ID_SDK, expires: Date.now() + 1000000, scope: 'apps', name: '' }, callback); + const token = { clientId: tokens.ID_WEBADMIN, identifier: user_1_id, expires: Date.now() + constants.DEFAULT_TOKEN_EXPIRATION_MSECS }; + const result = await tokens.add(token); + + token_1 = result.accessToken; + + callback(); }); }, @@ -404,26 +409,22 @@ describe('App API', function () { }); }); - it('app install succeeds with purchase', function (done) { + it('app install succeeds with purchase', async function () { var fake1 = nock(settings.apiServerOrigin()).get('/api/v1/apps/' + APP_STORE_ID).reply(200, { manifest: APP_MANIFEST }); var fake2 = nock(settings.apiServerOrigin()).post(function (uri) { return uri.indexOf('/api/v1/cloudronapps') >= 0; }, (body) => body.appstoreId === APP_STORE_ID && body.manifestId === APP_MANIFEST.id && body.appId).reply(201, { }); - settingsdb.set(settings.CLOUDRON_TOKEN_KEY, USER_1_APPSTORE_TOKEN, function (error) { - if (error) return done(error); + await settings.setCloudronToken(USER_1_APPSTORE_TOKEN); - superagent.post(SERVER_URL + '/api/v1/apps/install') - .query({ access_token: token }) - .send({ appStoreId: APP_STORE_ID, location: APP_LOCATION, domain: DOMAIN_0.domain, portBindings: { ECHO_SERVER_PORT: 7171 }, accessRestriction: { users: [ 'someuser' ], groups: [] } }) - .end(function (err, res) { - expect(res.statusCode).to.equal(202); - expect(res.body.id).to.be.a('string'); - APP_ID = res.body.id; - expect(fake1.isDone()).to.be.ok(); - expect(fake2.isDone()).to.be.ok(); - taskId = res.body.taskId; - done(); - }); - }); + const res = await superagent.post(SERVER_URL + '/api/v1/apps/install') + .query({ access_token: token }) + .send({ appStoreId: APP_STORE_ID, location: APP_LOCATION, domain: DOMAIN_0.domain, portBindings: { ECHO_SERVER_PORT: 7171 }, accessRestriction: { users: [ 'someuser' ], groups: [] } }) + + expect(res.statusCode).to.equal(202); + expect(res.body.id).to.be.a('string'); + APP_ID = res.body.id; + expect(fake1.isDone()).to.be.ok(); + expect(fake2.isDone()).to.be.ok(); + taskId = res.body.taskId; }); it('app install fails because of conflicting location', function (done) {