diff --git a/packages/server/modules/auth/defaultApps.js b/packages/server/modules/auth/defaultApps.js index 7f1f34349..aebf1802e 100644 --- a/packages/server/modules/auth/defaultApps.js +++ b/packages/server/modules/auth/defaultApps.js @@ -65,6 +65,7 @@ async function updateDefaultApp(app, existingApp) { await Apps().where({ id: app.id }).update(app) } +// this is exported to be able to test the retention of permissions module.exports.updateDefaultApp = updateDefaultApp const SpeckleWebApp = { @@ -100,7 +101,6 @@ const SpeckleDesktopApp = { public: true, redirectUrl: 'speckle://account', scopes: [ - ScopesConst.Streams.Read, ScopesConst.Streams.Read, ScopesConst.Streams.Write, ScopesConst.Profile.Read, diff --git a/packages/server/modules/auth/tests/apps.spec.js b/packages/server/modules/auth/tests/apps.spec.js index 85e084558..2ad14a73b 100644 --- a/packages/server/modules/auth/tests/apps.spec.js +++ b/packages/server/modules/auth/tests/apps.spec.js @@ -18,6 +18,7 @@ const { } = require('../services/apps') const { Scopes } = require('@/modules/core/helpers/mainConstants') +const { updateDefaultApp } = require('@/modules/auth/defaultApps') describe('Services @apps-services', () => { const actor = { @@ -219,17 +220,19 @@ describe('Services @apps-services', () => { const defaultApps = ['spklwebapp', 'explorer', 'sdm', 'sca', 'spklexcel'] defaultApps.forEach((speckleAppId) => { it(`Should not invalidate tokens, refresh tokens and access codes for default app: ${speckleAppId}, if updated`, async () => { - const { updateDefaultApp } = require('@/modules/auth/defaultApps') - const unusedAccessCode = await createAuthorizationCode({ - appId: speckleAppId, - userId: actor.id, - challenge - }) - const usedAccessCode = await createAuthorizationCode({ - appId: speckleAppId, - userId: actor.id, - challenge - }) + const [unusedAccessCode, usedAccessCode] = await Promise.all([ + createAuthorizationCode({ + appId: speckleAppId, + userId: actor.id, + challenge + }), + createAuthorizationCode({ + appId: speckleAppId, + userId: actor.id, + challenge + }) + ]) + const apiTokenResponse = await createAppTokenFromAccessCode({ appId: speckleAppId, appSecret: speckleAppId,