Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@
"postinstall": "bash scripts/postinstall.sh && NODE_ENV=production node ./src/main.js init",
"lint": "./node_modules/.bin/eslint \"**/*.js\"",
"automatic-release": "automatic-release",
"test": "NODE_ENV=test mocha",
"coverage": "NODE_ENV=test nyc mocha"
"test": "NODE_ENV=test mocha",
"coverage": "NODE_ENV=test nyc mocha"
},
"preferGlobal": true,
"bin": {
Expand Down Expand Up @@ -81,14 +81,14 @@
},
"devDependencies": {
"automatic-release": "^1.1.1",
"bdd-lazy-var": "^2.5.0",
"chai": "^4.2.0",
"chai-as-promised": "^7.1.1",
"chai-http": "^4.2.0",
"eslint": "^5.6.1",
"mocha": "^5.2.0",
"nyc": "^13.1.0",
"sinon": "^7.1.1",
"sinon-chai": "^3.2.0"
"bdd-lazy-var": "^2.5.0",
"chai": "^4.2.0",
"chai-as-promised": "^7.1.1",
"chai-http": "^4.2.0",
"eslint": "^5.6.1",
"mocha": "^5.2.0",
"nyc": "^13.1.0",
"sinon": "^7.1.1",
"sinon-chai": "^3.2.0"
}
}
4 changes: 2 additions & 2 deletions src/controllers/tunnel-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@ const getTunnelEndPoint = async function (req, user) {
};

module.exports = {
manageTunnelEndPoint: isTest() ? manageTunnelEndPoint : AuthDecorator.checkAuthToken(manageTunnelEndPoint),
getTunnelEndPoint: isTest() ? getTunnelEndPoint : AuthDecorator.checkAuthToken(getTunnelEndPoint),
manageTunnelEndPoint: AuthDecorator.checkAuthToken(manageTunnelEndPoint),
getTunnelEndPoint: AuthDecorator.checkAuthToken(getTunnelEndPoint),
};
7 changes: 7 additions & 0 deletions src/decorators/authorization-decorator.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,13 @@ const AccessTokenManager = require('../sequelize/managers/access-token-manager')
const FogManager = require('../sequelize/managers/iofog-manager')
const FogAccessTokenManager = require('../sequelize/managers/iofog-access-token-manager')
const Errors = require('../helpers/errors')
const { isTest } = require('../helpers/app-helper');

function checkAuthToken(f) {
return async function() {
if (isTest()) {
return await f.apply(this, arguments);
}

const fArgs = Array.prototype.slice.call(arguments);
const req = fArgs[0];
Expand All @@ -46,6 +50,9 @@ function checkAuthToken(f) {

function checkFogToken(f) {
return async function() {
if (isTest()) {
return await f.apply(this, arguments);
}

const fArgs = Array.prototype.slice.call(arguments);
const req = fArgs[0];
Expand Down
7 changes: 7 additions & 0 deletions src/decorators/cli-decorator.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,13 @@ const config = require('../config');
const UserManager = require('../sequelize/managers/user-manager');
const AccessTokenManager = require('../sequelize/managers/access-token-manager');
const Errors = require('../helpers/errors');
const { isTest } = require('../helpers/app-helper');

function prepareUserById(f) {
return async function() {
if (isTest()) {
return await f.apply(this, arguments);
}

const fArgs = Array.prototype.slice.call(arguments)
const obj = fArgs[0]
Expand All @@ -42,6 +46,9 @@ function prepareUserById(f) {

function prepareUserByEmail(f) {
return async function() {
if (isTest()) {
return await f.apply(this, arguments);
}

const fArgs = Array.prototype.slice.call(arguments)
const obj = fArgs[0]
Expand Down
4 changes: 4 additions & 0 deletions src/decorators/response-decorator.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@
*
*/
const logger = require('../logger');
const { isTest } = require('../helpers/app-helper');

function handleErrors(f, successCode, errorsCodes) {
return async function() {
if (isTest()) {
return await f.apply(this, arguments);
}

let responseObject = {};
try {
Expand Down
9 changes: 9 additions & 0 deletions src/decorators/transaction-decorator.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,14 @@ const db = require('./../sequelize/models');
const retry = require('retry-as-promised');
const sequelize = db.sequelize;
const Transaction = require('sequelize/lib/transaction');
const { isTest } = require('../helpers/app-helper');

function transaction(f) {
return async function() {
if (isTest()) {
return await f.apply(this, arguments);
}

const fArgs = Array.prototype.slice.call(arguments);
//TODO [when transactions concurrency issue fixed]: Remove 'fArgs[fArgs.length - 1].fakeTransaction'
if (fArgs.length > 0 && (fArgs[fArgs.length - 1] instanceof Transaction || fArgs[fArgs.length - 1].fakeTransaction)) {
Expand Down Expand Up @@ -51,6 +56,10 @@ function generateTransaction(f) {
function fakeTransaction(f) {
const fakeTransactionObject = {fakeTransaction: true}
return async function() {
if (isTest()) {
return await f.apply(this, arguments);
}

const fArgs = Array.prototype.slice.call(arguments);
if (fArgs.length > 0 && fArgs[fArgs.length - 1] instanceof Transaction) {
fArgs[fArgs.length - 1] = fakeTransactionObject;
Expand Down
3 changes: 3 additions & 0 deletions src/helpers/app-helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@ function generateAccessToken() {
}

function checkTransaction(transaction) {
if (isTest()) {
return
}
//TODO [when transactions concurrency issue fixed]: Remove '!transaction.fakeTransaction'
if (!transaction || (!(transaction instanceof Transaction) && !transaction.fakeTransaction)) {
throw new Errors.TransactionError()
Expand Down
8 changes: 4 additions & 4 deletions src/services/tunnel-service.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ const closeTunnel = async function (tunnelData, user, transaction) {
};

module.exports = {
findTunnel: AppHelper.isTest() ? findTunnel : TransactionDecorator.generateTransaction(findTunnel),
openTunnel: AppHelper.isTest() ? openTunnel : TransactionDecorator.generateTransaction(openTunnel),
closeTunnel: AppHelper.isTest() ? closeTunnel : TransactionDecorator.generateTransaction(closeTunnel),
findAll: AppHelper.isTest() ? findAll : TransactionDecorator.generateTransaction(findAll),
findTunnel: TransactionDecorator.generateTransaction(findTunnel),
openTunnel: TransactionDecorator.generateTransaction(openTunnel),
closeTunnel: TransactionDecorator.generateTransaction(closeTunnel),
findAll: TransactionDecorator.generateTransaction(findAll),
};