diff --git a/packages/fxa-auth-server/lib/email/utils/helpers.js b/packages/fxa-auth-server/lib/email/utils/helpers.js index 3352d8ba4f2..5763380d9bf 100644 --- a/packages/fxa-auth-server/lib/email/utils/helpers.js +++ b/packages/fxa-auth-server/lib/email/utils/helpers.js @@ -4,10 +4,8 @@ 'use strict'; -const ROOT_DIR = '../../..'; - -const { config } = require(`${ROOT_DIR}/config`); -const emailDomains = require(`${ROOT_DIR}/config/popular-email-domains`); +const { config } = require('../../../config'); +const emailDomains = require('../../../config/popular-email-domains'); const { default: Container } = require('typedi'); const { AccountEventsManager } = require('../../account-events'); diff --git a/packages/fxa-auth-server/scripts/template-version-bump.js b/packages/fxa-auth-server/scripts/template-version-bump.js index 9393831ae48..8e9a93b4d14 100755 --- a/packages/fxa-auth-server/scripts/template-version-bump.js +++ b/packages/fxa-auth-server/scripts/template-version-bump.js @@ -16,19 +16,21 @@ const cp = require('child_process'); const fs = require('fs'); const path = require('path'); -const ROOT_DIR = path.join(__dirname, '..'); -const TEMPLATE_DIR = 'lib/senders/emails/templates'; -const VERSIONS_FILE = '_versions.json'; -const IGNORE = new Set([VERSIONS_FILE, '_storybook']); +const IGNORE = new Set(['_versions.json', '_storybook']); const DEDUP = {}; -const versions = require(`../${TEMPLATE_DIR}/${VERSIONS_FILE}`); +const versions = require('../lib/senders/emails/templates/_versions.json'); const stagedTemplates = cp - .execSync('git status --porcelain', { cwd: ROOT_DIR, encoding: 'utf8' }) + .execSync('git status --porcelain', { + cwd: path.join(__dirname, '..'), + encoding: 'utf8', + }) .split('\n') .filter((line) => - line.match(`^[AM]. packages/fxa-auth-server/${TEMPLATE_DIR}/\\w+`) + line.match( + `^[AM]. packages/fxa-auth-server/lib/senders/emails/templates/\\w+` + ) ) .map((line) => { const parts = line.split(' '); @@ -67,7 +69,7 @@ if (stagedTemplates.length === 0) { }); fs.writeFileSync( - path.join(`${ROOT_DIR}/${TEMPLATE_DIR}/${VERSIONS_FILE}`), + path.join(__dirname, '..', 'lib/senders/emails/templates/_versions.json'), JSON.stringify(versions, null, ' ') ); } diff --git a/packages/fxa-auth-server/scripts/verification-reminders.js b/packages/fxa-auth-server/scripts/verification-reminders.js index e33c2c6ecb4..1043f7e3985 100755 --- a/packages/fxa-auth-server/scripts/verification-reminders.js +++ b/packages/fxa-auth-server/scripts/verification-reminders.js @@ -15,24 +15,20 @@ 'use strict'; -const ROOT_DIR = '..'; -const LIB_DIR = `${ROOT_DIR}/lib`; - -const config = require(`${ROOT_DIR}/config`).default.getProperties(); +const config = require('../config').default.getProperties(); const { AppError: error } = require('@fxa/accounts/errors'); -const log = require(`${LIB_DIR}/log`)(config.log); -const jwt = require(`${LIB_DIR}/oauth/jwt`); -const verificationReminders = require(`${LIB_DIR}/verification-reminders`)( +const log = require('../lib/log')(config.log); +const jwt = require('../lib/oauth/jwt'); +const verificationReminders = require('../lib/verification-reminders')( log, config ); const Sentry = require('@sentry/node'); -const cadReminders = require(`${LIB_DIR}/cad-reminders`)(config, log); -const subscriptionAccountReminders = require( - `${LIB_DIR}/subscription-account-reminders` -)(log, config); +const cadReminders = require('../lib/cad-reminders')(config, log); +const subscriptionAccountReminders = + require('../lib/subscription-account-reminders')(log, config); Sentry.init({}); const checkInId = Sentry.captureCheckIn({ @@ -67,15 +63,15 @@ run() }); async function run() { - const { createDB } = require(`${LIB_DIR}/db`); + const { createDB } = require('../lib/db'); const [vReminders, saReminders, cReminders, db] = await Promise.all([ verificationReminders.process(), subscriptionAccountReminders.process(), cadReminders.process(), createDB(config, log, {}, {}).connect(config), ]); - const bounces = require(`${LIB_DIR}/bounces`)(config, db); - const Mailer = require(`${LIB_DIR}/senders/email`)(log, config, bounces); + const bounces = require('../lib/bounces')(config, db); + const Mailer = require('../lib/senders/email')(log, config, bounces); const mailer = new Mailer(config.smtp); diff --git a/packages/fxa-auth-server/test/local/bounces.js b/packages/fxa-auth-server/test/local/bounces.js index 5242d9f606c..78e40af7657 100644 --- a/packages/fxa-auth-server/test/local/bounces.js +++ b/packages/fxa-auth-server/test/local/bounces.js @@ -4,11 +4,9 @@ 'use strict'; -const ROOT_DIR = '../..'; - const assert = require('assert'); -const config = require(`${ROOT_DIR}/config`).default.getProperties(); -const createBounces = require(`${ROOT_DIR}/lib/bounces`); +const config = require('../../config').default.getProperties(); +const createBounces = require('../../lib/bounces'); const { AppError: error } = require('@fxa/accounts/errors'); const sinon = require('sinon'); diff --git a/packages/fxa-auth-server/test/local/cad-reminders.js b/packages/fxa-auth-server/test/local/cad-reminders.js index 4c1d14b4092..7cc4863fda7 100644 --- a/packages/fxa-auth-server/test/local/cad-reminders.js +++ b/packages/fxa-auth-server/test/local/cad-reminders.js @@ -4,7 +4,6 @@ 'use strict'; -const ROOT_DIR = '../..'; const REMINDERS = ['first', 'second', 'third']; const EXPECTED_CREATE_DELETE_RESULT = REMINDERS.reduce((expected, reminder) => { expected[reminder] = 1; @@ -12,7 +11,7 @@ const EXPECTED_CREATE_DELETE_RESULT = REMINDERS.reduce((expected, reminder) => { }, {}); const { assert } = require('chai'); -const config = require(`${ROOT_DIR}/config`).default.getProperties(); +const config = require('../../config').default.getProperties(); const mocks = require('../mocks'); describe('lib/cad-reminders', () => { @@ -42,7 +41,7 @@ describe('lib/cad-reminders', () => { }, mocks.mockLog() ); - cadReminders = require(`${ROOT_DIR}/lib/cad-reminders`)(mockConfig, log); + cadReminders = require(`../../lib/cad-reminders`)(mockConfig, log); }); afterEach(async () => { diff --git a/packages/fxa-auth-server/test/local/config/index.js b/packages/fxa-auth-server/test/local/config/index.js index d8296530545..f5b6e097b70 100644 --- a/packages/fxa-auth-server/test/local/config/index.js +++ b/packages/fxa-auth-server/test/local/config/index.js @@ -6,8 +6,6 @@ const { assert } = require('chai'); const proxyquire = require('proxyquire'); -const ROOT_DIR = '../../..'; - describe('Config', () => { describe('NODE_ENV=prod', () => { let originalEnv; @@ -30,7 +28,7 @@ describe('Config', () => { it('errors when secret settings have their default values', () => { assert.throws(() => { - proxyquire(`${ROOT_DIR}/config`, {}); + proxyquire(`../../../config`, {}); // eslint-disable-next-line no-useless-escape }, /Config \'[a-zA-Z._]+\' must be set in production/); }); @@ -43,7 +41,7 @@ describe('Config', () => { 'production secret here' ); assert.doesNotThrow(() => { - proxyquire(`${ROOT_DIR}/config`, {}); + proxyquire(`../../../config`, {}); }); }); }); diff --git a/packages/fxa-auth-server/test/local/db.js b/packages/fxa-auth-server/test/local/db.js index 2e9f0c05a1b..e98aad308a3 100644 --- a/packages/fxa-auth-server/test/local/db.js +++ b/packages/fxa-auth-server/test/local/db.js @@ -4,8 +4,6 @@ 'use strict'; -const LIB_DIR = '../../lib'; - const { assert } = require('chai'); const mocks = require('../mocks'); const proxyquire = require('proxyquire'); @@ -38,8 +36,8 @@ describe('db, session tokens expire:', () => { beforeEach(() => { log = mocks.mockLog(); - tokens = require(`${LIB_DIR}/tokens`)(log, { tokenLifetimes }); - const { createDB } = proxyquire(`${LIB_DIR}/db.ts`, { + tokens = require(`../../lib/tokens`)(log, { tokenLifetimes }); + const { createDB } = proxyquire(`../../lib/db.ts`, { 'fxa-shared/db': { setupAuthDatabase: () => {} }, 'fxa-shared/db/models/auth': models, }); @@ -99,8 +97,8 @@ describe('db, session tokens do not expire:', () => { beforeEach(() => { log = mocks.mockLog(); - tokens = require(`${LIB_DIR}/tokens`)(log, { tokenLifetimes }); - const { createDB } = proxyquire(`${LIB_DIR}/db`, { + tokens = require(`../../lib/tokens`)(log, { tokenLifetimes }); + const { createDB } = proxyquire(`../../lib/db`, { 'fxa-shared/db': { setupAuthDatabase: () => {} }, 'fxa-shared/db/models/auth': models, }); @@ -160,8 +158,8 @@ describe('db with redis disabled:', () => { beforeEach(() => { log = mocks.mockLog(); - tokens = require(`${LIB_DIR}/tokens`)(log, { tokenLifetimes }); - const { createDB } = proxyquire(`${LIB_DIR}/db`, { + tokens = require(`../../lib/tokens`)(log, { tokenLifetimes }); + const { createDB } = proxyquire(`../../lib/db`, { './redis': () => {}, 'fxa-shared/db': { setupAuthDatabase: () => {} }, 'fxa-shared/db/models/auth': models, @@ -219,8 +217,8 @@ describe('redis enabled, token-pruning enabled:', () => { touchSessionToken: sinon.spy(() => Promise.resolve()), }; log = mocks.mockLog(); - tokens = require(`${LIB_DIR}/tokens`)(log, { tokenLifetimes }); - const { createDB } = proxyquire(`${LIB_DIR}/db`, { + tokens = require(`../../lib/tokens`)(log, { tokenLifetimes }); + const { createDB } = proxyquire(`../../lib/db`, { './redis': (...args) => { assert.equal(args.length, 2, 'redisPool was passed two arguments'); assert.equal(args[0].foo, 'bar', 'redisPool was passed config'); @@ -462,8 +460,8 @@ describe('redis enabled, token-pruning disabled:', () => { pruneSessionTokens: sinon.spy(() => Promise.resolve()), }; log = mocks.mockLog(); - tokens = require(`${LIB_DIR}/tokens`)(log, { tokenLifetimes }); - const { createDB } = proxyquire(`${LIB_DIR}/db`, { + tokens = require(`../../lib/tokens`)(log, { tokenLifetimes }); + const { createDB } = proxyquire(`../../lib/db`, { './redis': (...args) => { assert.equal(args.length, 2, 'redisPool was passed two arguments'); assert.equal(args[0].foo, 'bar', 'redisPool was passed config'); @@ -539,7 +537,7 @@ describe('db.deviceFromRefreshTokenId:', () => { beforeEach(() => { log = mocks.mockLog(); - tokens = require(`${LIB_DIR}/tokens`)(log, { tokenLifetimes }); + tokens = require(`../../lib/tokens`)(log, { tokenLifetimes }); // Mock Device model Device = { @@ -563,7 +561,7 @@ describe('db.deviceFromRefreshTokenId:', () => { }), }; - const { createDB } = proxyquire(`${LIB_DIR}/db.ts`, { + const { createDB } = proxyquire(`../../lib/db.ts`, { './features': () => features, '@fxa/accounts/errors': { AppError: errorMock }, 'fxa-shared/connected-services': { diff --git a/packages/fxa-auth-server/test/local/email/bounce.js b/packages/fxa-auth-server/test/local/email/bounce.js index af0c2847f38..e7c1ac7473c 100644 --- a/packages/fxa-auth-server/test/local/email/bounce.js +++ b/packages/fxa-auth-server/test/local/email/bounce.js @@ -4,10 +4,8 @@ 'use strict'; -const ROOT_DIR = '../../..'; - const { assert } = require('chai'); -const bounces = require(`${ROOT_DIR}/lib/email/bounces`); +const bounces = require('../../../lib/email/bounces'); const { AppError: error } = require('@fxa/accounts/errors'); const { EventEmitter } = require('events'); const { mockLog, mockStatsd } = require('../../mocks'); diff --git a/packages/fxa-auth-server/test/local/email/notifications.js b/packages/fxa-auth-server/test/local/email/notifications.js index 9ecca67e209..796e753996c 100644 --- a/packages/fxa-auth-server/test/local/email/notifications.js +++ b/packages/fxa-auth-server/test/local/email/notifications.js @@ -4,12 +4,10 @@ 'use strict'; -const ROOT_DIR = '../../..'; - const { assert } = require('chai'); const { AppError: error } = require('@fxa/accounts/errors'); const { mockLog } = require('../../mocks'); -const notifications = require(`${ROOT_DIR}/lib/email/notifications`); +const notifications = require('../../../lib/email/notifications'); const sinon = require('sinon'); const { default: Container } = require('typedi'); const { StripeHelper } = require('../../../lib/payments/stripe'); diff --git a/packages/fxa-auth-server/test/local/email/utils.js b/packages/fxa-auth-server/test/local/email/utils.js index 1b3149bff12..616e202edeb 100644 --- a/packages/fxa-auth-server/test/local/email/utils.js +++ b/packages/fxa-auth-server/test/local/email/utils.js @@ -4,8 +4,6 @@ 'use strict'; -const ROOT_DIR = '../../..'; - const { assert } = require('chai'); const { mockLog } = require('../../mocks'); const proxyquire = require('proxyquire'); @@ -14,7 +12,7 @@ const { default: Container } = require('typedi'); const { AccountEventsManager } = require('../../../lib/account-events'); const amplitude = sinon.spy(); -const emailHelpers = proxyquire(`${ROOT_DIR}/lib/email/utils/helpers`, { +const emailHelpers = proxyquire('../../../lib/email/utils/helpers', { '../../metrics/amplitude': () => amplitude, }); @@ -345,7 +343,7 @@ describe('email utils helpers', () => { beforeEach(() => { mockAccountEventsManager = { recordEmailEvent: sinon.stub(), - recordSecurityEvent: sinon.stub().resolves({}) + recordSecurityEvent: sinon.stub().resolves({}), }; Container.set(AccountEventsManager, mockAccountEventsManager); }); diff --git a/packages/fxa-auth-server/test/local/metrics/context.js b/packages/fxa-auth-server/test/local/metrics/context.js index 62f2a1f961b..51f49e6fc39 100644 --- a/packages/fxa-auth-server/test/local/metrics/context.js +++ b/packages/fxa-auth-server/test/local/metrics/context.js @@ -4,16 +4,13 @@ 'use strict'; -const ROOT_DIR = '../../..'; - const { assert } = require('chai'); const crypto = require('crypto'); const proxyquire = require('proxyquire'); const sinon = require('sinon'); const mocks = require('../../mocks'); -const modulePath = `${ROOT_DIR}/lib/metrics/context`; -const metricsContextModule = require(modulePath); +const metricsContextModule = require('../../../lib/metrics/context'); function hashToken(token) { const hash = crypto.createHash('sha256'); @@ -50,7 +47,7 @@ describe('metricsContext', () => { }, }; - metricsContext = proxyquire(modulePath, { + metricsContext = proxyquire('../../../lib/metrics/context', { '../metricsCache': { MetricsRedis: cacheFactory, }, @@ -778,7 +775,10 @@ describe('metricsContext', () => { }, }; - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); const result = metricsContext.validate.call(mockRequest); assert.strictEqual(result, true, 'result was true'); @@ -834,7 +834,10 @@ describe('metricsContext', () => { }, }; - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); const valid = metricsContext.validate.call(mockRequest); assert(!valid, 'the data is treated as invalid'); @@ -860,7 +863,10 @@ describe('metricsContext', () => { }, }; - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); const valid = metricsContext.validate.call(mockRequest); assert(!valid, 'the data is treated as invalid'); @@ -891,7 +897,10 @@ describe('metricsContext', () => { }, }; - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); const valid = metricsContext.validate.call(mockRequest); assert(!valid, 'the data is treated as invalid'); @@ -923,7 +932,10 @@ describe('metricsContext', () => { }, }; - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); const valid = metricsContext.validate.call(mockRequest); assert(!valid, 'the data is treated as invalid'); @@ -955,7 +967,10 @@ describe('metricsContext', () => { }, }; - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); const valid = metricsContext.validate.call(mockRequest); assert(!valid, 'the data is treated as invalid'); @@ -994,7 +1009,10 @@ describe('metricsContext', () => { let valid; try { - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); valid = metricsContext.validate.call(mockRequest); } finally { Date.now.restore(); @@ -1036,7 +1054,10 @@ describe('metricsContext', () => { let valid; try { - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); valid = metricsContext.validate.call(mockRequest); } finally { Date.now.restore(); @@ -1081,7 +1102,10 @@ describe('metricsContext', () => { let valid; try { - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); valid = metricsContext.validate.call(mockRequest); } finally { Date.now.restore(); @@ -1119,7 +1143,10 @@ describe('metricsContext', () => { }, }; - const metricsContext = require(modulePath)(mockLog, mockConfig); + const metricsContext = require('../../../lib/metrics/context')( + mockLog, + mockConfig + ); const result = metricsContext.validate.call(mockRequest); assert.strictEqual(result, true, 'validate returned true'); diff --git a/packages/fxa-auth-server/test/local/notifier.js b/packages/fxa-auth-server/test/local/notifier.js index 79abe44c597..c10bbea3644 100644 --- a/packages/fxa-auth-server/test/local/notifier.js +++ b/packages/fxa-auth-server/test/local/notifier.js @@ -4,8 +4,6 @@ 'use strict'; -const ROOT_DIR = '../..'; - const proxyquire = require('proxyquire'); const { assert } = require('chai'); const sinon = require('sinon'); @@ -35,7 +33,7 @@ describe('notifier', () => { }, }; - notifier = proxyquire(`${ROOT_DIR}/lib/notifier`, { + notifier = proxyquire('../../lib/notifier', { '../config': config, })(log); @@ -123,7 +121,7 @@ describe('notifier', () => { it('captures perf stats with statsd when it is present', () => { const statsd = { timing: sinon.stub() }; - notifier = proxyquire(`${ROOT_DIR}/lib/notifier`, { + notifier = proxyquire('../../lib/notifier', { '../config': config, })(log, statsd); notifier.__sns.publish = sinon.spy((event, cb) => { @@ -156,7 +154,7 @@ describe('notifier', () => { }, }, }; - const notifier = proxyquire(`${ROOT_DIR}/lib/notifier`, { + const notifier = proxyquire('../../lib/notifier', { '../config': config, })(log); diff --git a/packages/fxa-auth-server/test/local/push.js b/packages/fxa-auth-server/test/local/push.js index a327b960026..feb407c242a 100644 --- a/packages/fxa-auth-server/test/local/push.js +++ b/packages/fxa-auth-server/test/local/push.js @@ -4,8 +4,6 @@ 'use strict'; -const ROOT_DIR = '../..'; - const proxyquire = require('proxyquire'); const sinon = require('sinon'); const assert = { ...sinon.assert, ...require('chai').assert }; @@ -21,9 +19,9 @@ const mockUid = 'deadbeef'; const TTL = '42'; const MS_IN_ONE_DAY = 24 * 60 * 60 * 1000; -const pushModulePath = `${ROOT_DIR}/lib/push`; +const pushModulePath = '../../lib/push'; -const PUSH_PAYLOADS_SCHEMA_PATH = `${ROOT_DIR}/lib/pushpayloads.schema.json`; +const PUSH_PAYLOADS_SCHEMA_PATH = '../../lib/pushpayloads.schema.json'; let PUSH_PAYLOADS_SCHEMA_MATCHER = null; match.validPushPayload = (fields) => { if (!PUSH_PAYLOADS_SCHEMA_MATCHER) { diff --git a/packages/fxa-auth-server/test/local/routes/oauth.js b/packages/fxa-auth-server/test/local/routes/oauth.js index 77f339ccdd8..a74cf3e7195 100644 --- a/packages/fxa-auth-server/test/local/routes/oauth.js +++ b/packages/fxa-auth-server/test/local/routes/oauth.js @@ -4,14 +4,12 @@ 'use strict'; -const ROOT_DIR = '../../..'; - const sinon = require('sinon'); const assert = { ...sinon.assert, ...require('chai').assert }; const getRoute = require('../../routes_helpers').getRoute; const mocks = require('../../mocks'); const { AppError: error } = require('@fxa/accounts/errors'); -const JWTIdToken = require(`${ROOT_DIR}/lib/oauth/jwt_id_token`); +const JWTIdToken = require('../../../lib/oauth/jwt_id_token'); const { OAUTH_SCOPE_OLD_SYNC } = require('fxa-shared/oauth/constants'); const MOCK_CLIENT_ID = '0123456789abcdef'; @@ -53,8 +51,8 @@ describe('/oauth/ routes', () => { } async function mockSessionToken(props = {}) { - const Token = require(`${ROOT_DIR}/lib/tokens/token`)(mockLog); - const SessionToken = require(`${ROOT_DIR}/lib/tokens/session_token`)( + const Token = require(`../../../lib/tokens/token`)(mockLog); + const SessionToken = require(`../../../lib/tokens/session_token`)( mockLog, Token, { diff --git a/packages/fxa-auth-server/test/local/routes/session.js b/packages/fxa-auth-server/test/local/routes/session.js index 7c67a44f82b..896d3a9717f 100644 --- a/packages/fxa-auth-server/test/local/routes/session.js +++ b/packages/fxa-auth-server/test/local/routes/session.js @@ -16,8 +16,6 @@ const gleanMock = mocks.mockGlean(); const { Container } = require('typedi'); const { AccountEventsManager } = require('../../../lib/account-events'); -const ROOT_DIR = '../../..'; - const signupCodeAccount = { uid: 'foo', email: 'foo@example.org', @@ -1138,8 +1136,8 @@ describe('/session/duplicate', () => { const routes = makeRoutes({ log, config, db }); route = getRoute(routes, '/session/duplicate'); - const Token = require(`${ROOT_DIR}/lib/tokens/token`)(log); - const SessionToken = require(`${ROOT_DIR}/lib/tokens/session_token`)( + const Token = require(`../../../lib/tokens/token`)(log); + const SessionToken = require(`../../../lib/tokens/session_token`)( log, Token, { diff --git a/packages/fxa-auth-server/test/local/senders/emails.ts b/packages/fxa-auth-server/test/local/senders/emails.ts index 8de74f16ac5..10a985ac153 100644 --- a/packages/fxa-auth-server/test/local/senders/emails.ts +++ b/packages/fxa-auth-server/test/local/senders/emails.ts @@ -2,8 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -const ROOT_DIR = '../../..'; - // We import chai from this local file to get the configuration with truncation disabled. import chai from '../../chaiWithoutTruncation'; import mocks from '../../mocks'; @@ -23,7 +21,7 @@ import { Container } from 'typedi'; import { ProductConfigurationManager } from '../../../../../libs/shared/cms/src'; const moment = require('moment-timezone'); -const config = require(`${ROOT_DIR}/config`).default.getProperties(); +const config = require('../../../config').default.getProperties(); const { assert } = chai; if (!config.smtp.prependVerificationSubdomain.enabled) { config.smtp.prependVerificationSubdomain.enabled = true; @@ -39,9 +37,7 @@ config.smtp.subscriptionTermsUrl = 'http://example.com/terms'; // Force enable the subscription transactional emails config.subscriptions.transactionalEmails.enabled = true; -const TEMPLATE_VERSIONS = require( - `${ROOT_DIR}/lib/senders/emails/templates/_versions.json` -); +const TEMPLATE_VERSIONS = require('../../../lib/senders/emails/templates/_versions.json'); const SUBSCRIPTION_TERMS_URL = 'https://example.com/subscription-product/terms'; const SUBSCRIPTION_PRIVACY_URL = @@ -4053,7 +4049,7 @@ async function setup( bounces: any = null, statsd: any = null ) { - const Mailer = proxyquire(`${ROOT_DIR}/lib/senders/email`, mocks)( + const Mailer = proxyquire('../../../lib/senders/email', mocks)( log, config, bounces || { diff --git a/packages/fxa-auth-server/test/local/senders/index.js b/packages/fxa-auth-server/test/local/senders/index.js index ea16d35abb4..57c879d7742 100644 --- a/packages/fxa-auth-server/test/local/senders/index.js +++ b/packages/fxa-auth-server/test/local/senders/index.js @@ -4,13 +4,11 @@ 'use strict'; -const ROOT_DIR = '../../..'; - const { assert } = require('chai'); -const config = require(`${ROOT_DIR}/config`).default.getProperties(); +const config = require('../../../config').default.getProperties(); const crypto = require('crypto'); -const mocks = require(`${ROOT_DIR}/test/mocks`); -const senders = require(`${ROOT_DIR}/lib/senders`); +const mocks = require('../../../test/mocks'); +const senders = require('../../../lib/senders'); const sinon = require('sinon'); const { Container } = require('typedi'); const { diff --git a/packages/fxa-auth-server/test/local/server.js b/packages/fxa-auth-server/test/local/server.js index 01869a4023e..2de907ec02c 100644 --- a/packages/fxa-auth-server/test/local/server.js +++ b/packages/fxa-auth-server/test/local/server.js @@ -4,8 +4,6 @@ 'use strict'; -const ROOT_DIR = '../..'; - const { assert } = require('chai'); const EndpointError = require('poolee/lib/error')(require('util').inherits); const { AppError: error } = require('@fxa/accounts/errors'); @@ -19,7 +17,7 @@ const customs = mocks.mockCustoms(); const sandbox = sinon.createSandbox(); const mockReportValidationError = sandbox.stub(); -const server = proxyquire(`${ROOT_DIR}/lib/server`, { +const server = proxyquire(`../../lib/server`, { 'fxa-shared/sentry/report-validation-error': { reportValidationError: mockReportValidationError, }, diff --git a/packages/fxa-auth-server/test/local/sqs.js b/packages/fxa-auth-server/test/local/sqs.js index 4dcb58fbf99..c01ea0d75dd 100644 --- a/packages/fxa-auth-server/test/local/sqs.js +++ b/packages/fxa-auth-server/test/local/sqs.js @@ -7,14 +7,13 @@ const { assert } = require('chai'); const sinon = require('sinon'); -const ROOT_DIR = '../..'; let SQSReceiver, statsd, testQueue; const log = { error: sinon.stub() }; describe('SQSReceiver', () => { beforeEach(() => { statsd = { timing: sinon.stub() }; - SQSReceiver = require(`${ROOT_DIR}/lib/sqs`)(log, statsd); + SQSReceiver = require('../../lib/sqs')(log, statsd); testQueue = new SQSReceiver('testo', [ 'https://sqs.testo.meows.xyz/fxa/quux', ]); diff --git a/packages/fxa-auth-server/test/local/subscription-account-reminders.js b/packages/fxa-auth-server/test/local/subscription-account-reminders.js index fee94904902..6a2a2e86193 100644 --- a/packages/fxa-auth-server/test/local/subscription-account-reminders.js +++ b/packages/fxa-auth-server/test/local/subscription-account-reminders.js @@ -4,7 +4,6 @@ 'use strict'; -const ROOT_DIR = '../..'; const REMINDERS = ['first', 'second', 'third']; const EXPECTED_CREATE_DELETE_RESULT = REMINDERS.reduce((expected, reminder) => { expected[reminder] = 1; @@ -12,7 +11,7 @@ const EXPECTED_CREATE_DELETE_RESULT = REMINDERS.reduce((expected, reminder) => { }, {}); const { assert } = require('chai'); -const config = require(`${ROOT_DIR}/config`).default.getProperties(); +const config = require('../../config').default.getProperties(); const mocks = require('../mocks'); describe('#integration - lib/subscription-account-reminders', () => { @@ -42,11 +41,9 @@ describe('#integration - lib/subscription-account-reminders', () => { }, mocks.mockLog() ); - subscriptionAccountReminders = - require(`${ROOT_DIR}/lib/subscription-account-reminders`)( - log, - mockConfig - ); + subscriptionAccountReminders = require( + `../../lib/subscription-account-reminders` + )(log, mockConfig); }); afterEach(() => { diff --git a/packages/fxa-auth-server/test/local/verification-reminders.js b/packages/fxa-auth-server/test/local/verification-reminders.js index c89034fed7b..02e63c94396 100644 --- a/packages/fxa-auth-server/test/local/verification-reminders.js +++ b/packages/fxa-auth-server/test/local/verification-reminders.js @@ -4,7 +4,6 @@ 'use strict'; -const ROOT_DIR = '../..'; const REMINDERS = ['first', 'second', 'third']; const EXPECTED_CREATE_DELETE_RESULT = REMINDERS.reduce((expected, reminder) => { expected[reminder] = 1; @@ -12,7 +11,7 @@ const EXPECTED_CREATE_DELETE_RESULT = REMINDERS.reduce((expected, reminder) => { }, {}); const { assert } = require('chai'); -const config = require(`${ROOT_DIR}/config`).default.getProperties(); +const config = require('../../config').default.getProperties(); const mocks = require('../mocks'); describe('#integration - lib/verification-reminders', () => { @@ -42,7 +41,7 @@ describe('#integration - lib/verification-reminders', () => { }, mocks.mockLog() ); - verificationReminders = require(`${ROOT_DIR}/lib/verification-reminders`)( + verificationReminders = require(`../../lib/verification-reminders`)( log, mockConfig ); @@ -435,7 +434,7 @@ describe('#integration - lib/verification-reminders', () => { describe('lib/verification-reminders with invalid config:', () => { it('throws if config contains clashing metadata key', () => { assert.throws(() => { - require(`${ROOT_DIR}/lib/verification-reminders`)(mocks.mockLog(), { + require(`../../lib/verification-reminders`)(mocks.mockLog(), { redis: config.redis, verificationReminders: { rolloutRate: 1, diff --git a/packages/fxa-auth-server/test/remote/subscription_tests.js b/packages/fxa-auth-server/test/remote/subscription_tests.js index f1d226ad80a..1c64474dbf9 100644 --- a/packages/fxa-auth-server/test/remote/subscription_tests.js +++ b/packages/fxa-auth-server/test/remote/subscription_tests.js @@ -4,13 +4,11 @@ 'use strict'; -const ROOT_DIR = '../..'; - const { assert } = require('chai'); const { default: Container } = require('typedi'); const { OAUTH_SCOPE_SUBSCRIPTIONS } = require('fxa-shared/oauth/constants'); const clientFactory = require('../client')(); -const config = require(`${ROOT_DIR}/config`).default.getProperties(); +const config = require('../../config').default.getProperties(); const { AppError: error } = require('@fxa/accounts/errors'); const testServerFactory = require('../test_server'); const { CapabilityService } = require('../../lib/payments/capability'); diff --git a/packages/fxa-auth-server/test/scripts/bulk-mailer.js b/packages/fxa-auth-server/test/scripts/bulk-mailer.js index ef8e291e5eb..ebb4a9856cb 100644 --- a/packages/fxa-auth-server/test/scripts/bulk-mailer.js +++ b/packages/fxa-auth-server/test/scripts/bulk-mailer.js @@ -4,17 +4,16 @@ 'use strict'; -const ROOT_DIR = '../..'; - const { promisify } = require('util'); const { assert } = require('chai'); const cp = require('child_process'); const fs = require('fs'); -const mocks = require(`${ROOT_DIR}/test/mocks`); +const mocks = require('../../test/mocks'); const path = require('path'); const rimraf = require('rimraf'); const crypto = require('crypto'); +const ROOT_DIR = '../..'; const cwd = path.resolve(__dirname, ROOT_DIR); const execAsync = promisify(cp.exec); diff --git a/packages/fxa-auth-server/test/scripts/check-users.js b/packages/fxa-auth-server/test/scripts/check-users.js index 52ffc59658b..af501623009 100644 --- a/packages/fxa-auth-server/test/scripts/check-users.js +++ b/packages/fxa-auth-server/test/scripts/check-users.js @@ -4,8 +4,6 @@ 'use strict'; -const ROOT_DIR = '../..'; - const cp = require('child_process'); const util = require('util'); const path = require('path'); @@ -15,7 +13,7 @@ const execAsync = util.promisify(cp.exec); const config = require('../../config').config.getProperties(); const fs = require('fs'); -const mocks = require(`${ROOT_DIR}/test/mocks`); +const mocks = require('../../test/mocks'); const { assert } = require('chai'); const log = mocks.mockLog(); const Token = require('../../lib/tokens')(log, config); @@ -27,6 +25,7 @@ const AuthClient = require('../client')(); const { createDB } = require('../../lib/db'); const DB = createDB(config, log, Token, UnblockCode); +const ROOT_DIR = '../..'; const cwd = path.resolve(__dirname, ROOT_DIR); const execOptions = { cwd, diff --git a/packages/fxa-auth-server/test/scripts/dump-users.js b/packages/fxa-auth-server/test/scripts/dump-users.js index 7992b8c21a7..a859fa37d64 100644 --- a/packages/fxa-auth-server/test/scripts/dump-users.js +++ b/packages/fxa-auth-server/test/scripts/dump-users.js @@ -4,16 +4,15 @@ 'use strict'; -const ROOT_DIR = '../..'; - const { promisify } = require('util'); const cp = require('child_process'); const { assert } = require('chai'); const path = require('path'); -const mocks = require(`${ROOT_DIR}/test/mocks`); +const mocks = require('../../test/mocks'); const crypto = require('crypto'); const fs = require('fs'); +const ROOT_DIR = '../..'; const cwd = path.resolve(__dirname, ROOT_DIR); cp.execAsync = promisify(cp.exec); diff --git a/packages/fxa-auth-server/test/scripts/must-reset.js b/packages/fxa-auth-server/test/scripts/must-reset.js index e3880f6f231..ec83fee0653 100644 --- a/packages/fxa-auth-server/test/scripts/must-reset.js +++ b/packages/fxa-auth-server/test/scripts/must-reset.js @@ -4,16 +4,15 @@ 'use strict'; -const ROOT_DIR = '../..'; - const { promisify } = require('util'); const cp = require('child_process'); const { assert } = require('chai'); const path = require('path'); -const mocks = require(`${ROOT_DIR}/test/mocks`); +const mocks = require('../../test/mocks'); const crypto = require('crypto'); const fs = require('fs'); +const ROOT_DIR = '../..'; const cwd = path.resolve(__dirname, ROOT_DIR); cp.execAsync = promisify(cp.exec);