From d686753f25749fab45c80166a1b0c4ebfe798d0b Mon Sep 17 00:00:00 2001 From: "rodrigo.zamboni" Date: Mon, 23 May 2022 17:19:36 -0300 Subject: [PATCH 1/5] DOCS: Added proper readme --- README.md | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b1ba8f..890cecc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,50 @@ +# Maestro

Maestro

-

\ No newline at end of file +

+This is the Dadosfera´s gateway repository, it´s responsable for the communication between frontend application and Dadosfera´s mirosservices. + +## 💻 Requirements + +Before you start, make sure you have done the following steps: + +* Installed Nodejs version 16.14.2 +* Installed latest NPM version + + + +## 🚀 Installing Maestro + +First of all clone the repository: + * SSH: +``` +git clone git@github.com:dadosfera/maestro.git +``` + * HTTPS: +``` +git clone git@github.com:dadosfera/maestro.git +``` + +## Enviroment variables + +Here is a list of enviroment variables needed in order to run the application correctly. + +``` +ENV= +DUC_URL= +INFACTORY_URL= +TRFACTORY_URL= +OTFACTORY_URL= +PIFACTORY_URL= +JWT_PRIVATE_KEY= +AWS_IDENTITY_POOL_ID= +``` + +## Running Maestro + +In order to run Maestro just run the following command: +``` +npm run start:dev +``` +If everything is fine the Maestro will start and be ready to receive HTTP requests \ No newline at end of file From 08fa269ce0f8d3f4d2e9754570da28a7eb80de93 Mon Sep 17 00:00:00 2001 From: "rodrigo.zamboni" Date: Wed, 25 May 2022 11:14:40 -0300 Subject: [PATCH 2/5] initial tests --- package-lock.json | 67 +++++++++++++++++++++++++++ package.json | 1 + src/modules/auth/auth.service.spec.ts | 67 +++++++++++++++++++++++++++ 3 files changed, 135 insertions(+) diff --git a/package-lock.json b/package-lock.json index ef21489..661dcfe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,6 +46,7 @@ "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.0.0", "jest": "^27.5.1", + "nock": "^13.2.4", "prettier": "^2.6.1", "source-map-support": "^0.5.20", "supertest": "^6.1.3", @@ -6373,6 +6374,12 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, "node_modules/json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", @@ -6579,6 +6586,12 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "dev": true + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -6893,6 +6906,21 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/nock": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.4.tgz", + "integrity": "sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash.set": "^4.3.2", + "propagate": "^2.0.0" + }, + "engines": { + "node": ">= 10.13" + } + }, "node_modules/node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", @@ -7379,6 +7407,15 @@ "node": ">= 6" } }, + "node_modules/propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/protobufjs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", @@ -14051,6 +14088,12 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, "json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", @@ -14229,6 +14272,12 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "dev": true + }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -14469,6 +14518,18 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "nock": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.4.tgz", + "integrity": "sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "json-stringify-safe": "^5.0.1", + "lodash.set": "^4.3.2", + "propagate": "^2.0.0" + } + }, "node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", @@ -14824,6 +14885,12 @@ "sisteransi": "^1.0.5" } }, + "propagate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", + "dev": true + }, "protobufjs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz", diff --git a/package.json b/package.json index ef7dd60..b8c049c 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "eslint-config-prettier": "^8.5.0", "eslint-plugin-prettier": "^4.0.0", "jest": "^27.5.1", + "nock": "^13.2.4", "prettier": "^2.6.1", "source-map-support": "^0.5.20", "supertest": "^6.1.3", diff --git a/src/modules/auth/auth.service.spec.ts b/src/modules/auth/auth.service.spec.ts index 89e1958..5af2744 100644 --- a/src/modules/auth/auth.service.spec.ts +++ b/src/modules/auth/auth.service.spec.ts @@ -1,5 +1,72 @@ +import axios from 'axios'; +import nock from 'nock'; +import { LoggerMiddleware } from '../../middlewares/authentication'; +import { NextFunction, Request, Response } from 'express'; + describe('PipelinesGrpcServerService', () => { + let mockRequest: Partial; + let mockResponse: Partial; + const nextFunction: NextFunction = jest.fn(); + + beforeEach(() => { + mockResponse = { + json: jest.fn(), + }; + }); + it('should be defined', () => { expect(2 + 2).toBe(4); }); + + it('teste', async () => { + const awsRegion = process.env.AWS_REGION; + const awsPoolId = process.env.AWS_IDENTITY_POOL_ID; + const baseRes = { + keys: [ + { + alg: 'RS256', + e: 'AQAB', + kid: 'z3VA3+i9JZY3JFDJTNWOap8RY+B7C6mFedaqCuvLvqA=', + kty: 'RSA', + n: 'vIGCQDkPA_eQUoaGDUsCyK_Whr76mNW0kZ1uac6ZnyY6hsjUIjvwehqv-ux3cQo4rQZQVFcoh8n9cK5jguz4GVdD972vIxoEdyv32nBFVr5e1PBunKJ2Y32GTR_Hl0XiE0hRe1v6cWuTqiC4qm1NY7tXYL3mI9L6s9ztNbhmG_V44y26PdhL4vRVrJaHOAmCs-77U-QYAC7Llkpmjh-8tG1zt9_FJ237cpBUVOuhD-7Nm32_eB9wddBGfBw0F10ko_KJoU-7683_Kv8k9coJzFUSONId-bfnLOzs8j1L6ZAHipXCR7rpmuRYzXztjp4Wmm2zPUToWLdMEy0Hq1OWmw', + use: 'sig', + }, + { + alg: 'RS256', + e: 'AQAB', + kid: 'u+1W9pi+clp8LaPhZVrv4dXMqRkTRD02YWhbm0NvsUw=', + kty: 'RSA', + n: 'noGq1cRMAKJPWahqfC_zWasYovSUycaS1basMfEoh3ePLc9zRgmyfiVKYzLRosHMe1uk0Y5ekCBKnWA8Yl7I84Yt7IIIaE44oJjSEGBKT3m8i8YaXzawaNs63KPkRh8553o3KzL75bQWcI_ABKqkf-uAKSCl_XotBGkzLUl4hIOYtAtRGEfKaNMPqyTCT5Zn71pMd0isppaUiTW2T5QLsZV1IBp46aSrl_D5Q_FTsJT7feobQVoHp2zfIorCpkfTXBTBMQTEBFSDyPbc6cULl48VKxp0B0GEwR_kYCEHEVzf41LQcUWZUE0OdBychijkSc9MZJnBWUYQZyedJILWnQ', + use: 'sig', + }, + ], + }; + + nock( + `https://cognito-idp.${awsRegion}.amazonaws.com/${awsPoolId}/.well-known/jwks.json`, + ) + .persist() + .get('') + .reply(200, baseRes); + + const data: any = await axios.get( + `https://cognito-idp.${awsRegion}.amazonaws.com/${awsPoolId}/.well-known/jwks.json`, + ); + const authMiddleware = new LoggerMiddleware(); + const mockedRequest = { + headers: { + Authorization: 'teste', + }, + }; + mockedRequest.headers['Dadosfera-User'] = 'asd'; + + authMiddleware.use( + mockRequest as Request, + mockResponse as Response, + nextFunction, + ); + + console.log(mockResponse); + expect(1).toBe(2); + }); }); From e496d42776b34bb0f9871779293faccc79b66577 Mon Sep 17 00:00:00 2001 From: "rodrigo.zamboni" Date: Thu, 26 May 2022 10:13:42 -0300 Subject: [PATCH 3/5] =?UTF-8?q?=C3=B3dio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/auth/auth.service.spec.ts | 34 ++++++++++++++++----------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/modules/auth/auth.service.spec.ts b/src/modules/auth/auth.service.spec.ts index 5af2744..801da91 100644 --- a/src/modules/auth/auth.service.spec.ts +++ b/src/modules/auth/auth.service.spec.ts @@ -2,6 +2,7 @@ import axios from 'axios'; import nock from 'nock'; import { LoggerMiddleware } from '../../middlewares/authentication'; import { NextFunction, Request, Response } from 'express'; +import { Headers, Header } from '@nestjs/common'; describe('PipelinesGrpcServerService', () => { let mockRequest: Partial; @@ -9,6 +10,7 @@ describe('PipelinesGrpcServerService', () => { const nextFunction: NextFunction = jest.fn(); beforeEach(() => { + mockRequest = {}; mockResponse = { json: jest.fn(), }; @@ -21,7 +23,7 @@ describe('PipelinesGrpcServerService', () => { it('teste', async () => { const awsRegion = process.env.AWS_REGION; const awsPoolId = process.env.AWS_IDENTITY_POOL_ID; - const baseRes = { + const cognitoRes = { keys: [ { alg: 'RS256', @@ -41,32 +43,36 @@ describe('PipelinesGrpcServerService', () => { }, ], }; + const loginRes = { + tokens: { + idToken: + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiZTljYjI1ZGEtMTQyOC00NDJjLTg5NjItYTdkNmQxNjhkODUyIiwibmFtZSI6InJvZHJpZ28uemFtYm9uaSIsInVzZXJuYW1lIjoicm9kcmlnby56YW1ib25pQGRhZG9zZmVyYS5haSIsInJ1bGVJZCI6IjIxNzdmZjg4LThmY2ItNDRlNS1hYzYxLWNjYmU2Y2M3MGU4ZCIsImN1c3RvbWVySWQiOiIxMTI5ODBhMy0wYTEyLTQxYzktYmZmZC03OTFjZjdjYTg3YTIiLCJtZmFTdGF0dXMiOiJwZW5kaW5nIiwiY3JlYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwidXBkYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwicGVybWlzc2lvbnMiOlsiUE9TVCAvcGlwZWxpbmVzIiwiR0VUIC9waXBlbGluZXMiLCJQVVQgL3BpcGVsaW5lcyIsIkRFTEVURSAvcGlwZWxpbmVzIiwiUE9TVCAvaW5wdXRzIiwiR0VUIC9pbnB1dHMiLCJQVVQgL2lucHV0cyIsIkRFTEVURSAvaW5wdXRzIiwiUE9TVCAvb3V0cHV0cyIsIkdFVCAvb3V0cHV0cyIsIlBVVCAvb3V0cHV0cyIsIkRFTEVURSAvb3V0cHV0cyIsIlBPU1QgL3RyYW5zZm9ybWF0aW9ucyIsIkdFVCAvdHJhbnNmb3JtYXRpb25zIiwiUFVUIC90cmFuc2Zvcm1hdGlvbnMiLCJERUxFVEUgL3RyYW5zZm9ybWF0aW9ucyIsIlBPU1QgL2NhdGFsb2ciLCJHRVQgL2NhdGFsb2ciLCJQVVQgL2NhdGFsb2ciLCJERUxFVEUgL2NhdGFsb2ciLCJQT1NUIC9hdXRoIiwiR0VUIC9tZXRhYmFzZSIsIkdFVCAvc25vd2ZsYWtlIl0sImN1c3RvbWVyIjoiZGFkb3NmZXJhIn0sImlhdCI6MTY1MzU2NTcxNiwiZXhwIjoxNjUzNjUyMTE2fQ.tEzg3_iB-XWGfp5ey6DUNLMkgvHxXFloFN-uShbXLy8', + accessToken: + 'eyJraWQiOiJ1KzFXOXBpK2NscDhMYVBoWlZydjRkWE1xUmtUUkQwMllXaGJtME52c1V3PSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxYjkyZmFkMC1iNWVlLTQwMzAtOGRmYy1hZWM0MGQzYzdkYmUiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtZWFzdC0xLmFtYXpvbmF3cy5jb21cL3VzLWVhc3QtMV9OVXY3WTJTeGoiLCJjbGllbnRfaWQiOiI0N3RrY3Jxc2NuajY3bWhnYmg3dXQ1YnJzNCIsIm9yaWdpbl9qdGkiOiIxOWE1ODZjMC03MDc5LTQ3MjctODBiNy1jMWFmMzExNTkxNjciLCJldmVudF9pZCI6IjJiMmZhODg2LWNhMjMtNGVlMy05MTRjLWI5Y2I3YmU0ZWQ1YSIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE2NTM1NjU3MTYsImV4cCI6MTY1MzU2NzUxNiwiaWF0IjoxNjUzNTY1NzE2LCJqdGkiOiJiOWYyYzE4Ni05ZTI1LTRhNzEtYWZhMy0yMzZlOWQxMWNhZDQiLCJ1c2VybmFtZSI6InJvZHJpZ28uemFtYm9uaUBkYWRvc2ZlcmEuYWkifQ.Y0PwVlqRzyLsooycFxv5ASkhEG5sUdun_N3DQZk2kF00UzpF7y9i_oZhcwF7x3B7CYeC6UH7wXZl5FdxeBWkC91hSX1ZuT3os9HBzUlEzq7bHf-m5yIvB2kEGs-vwR4_G4YkGGU23pAY-yPkpsZYbLrxh1WaHv-RmdrG4X1ssfMMFC2_rUx4Vjn1uwY7Q7LRayZxeTW-YGpq81JM5ger99Ly_kIvLO7RLDdYkIuM-ea6uwOZxJA__dBmRVww3-AqTkAZi6JaFJROPHPPCGKoCKXRKbPM92I3h-kWG-jFzKjvzbSW9iIco8NU3-vWDrNWBUqZQnMnmaDWmg-MXuGFWA', + refreshToken: + 'eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.AmMeDe4aSWBySdePOZ3D4rmAr9eTSvuAIRyNhYdNxbPTXCucX7Ju7f92WoY0f7Fyb3q8PkF8-VI2bvWNQD-2GnM3DJkGRBM56FyufLSIn5ZXga7CNaIiZd9GD4vN8agIgEaGOagwRKcCRxYnC_gmdpvL20-Rh31eKpj-LCLn8jmx7qh72eyPKny_TcFeTjOE1RgI4hXWFFsH7LFwRL7erUhw2ASHuVQyASWHfAlbzPuOdvBsXnKBbcGYrGnNSzRI7OVe9DOWvH9PZ6zPPArh5A2PDmzO-9AsS-NYgnpAwgXAfgCOXc0mtBZ2Rg84EZukpqysBVwbVeEy5608bA7P4w.HsFIi0OpONyWHZwD.5Vzdh8Q4BRcBunO109BhvJ7bE5tieWRrKDKF4ZtoZUBKJAmXkJWTT6UIOy1Wdbol6l_ez3X1SWrcfnnc05JJmgm2HIblihmKqJ-dbcJ72Qtbp5sFCoAuU9ixQzxZIMaVtQrByA7IKejAaMlN2V3JsMWyfRXki0CSSxm2E3wkWewQ7BgIbyFQXLXEggI86vKd3Q2Wt_UvYHgP_Tjinm706bZf3R8RSIukI52wBDeL9iiKJ9sJ0Mr8lDrM6bkaF-i37DflKsh9vDglLBDuW9R6Wnp7IEjiHm42w1DCWwyQEv45CDFBlsnW9whAT6hGdsNnt0f8qvsDZ-Eee0aYQwWP0vRKvrzU1YNGkNGe9KZY2KBAisW-P1_jmSZO_xpV9eUHPejh7XoN5i_eT7fMoDUm2qir3ulgrG39sViYfkbUiFzb00jjIp5wEmFxvpQeOOu2aDI56oylNU1dapp8vXWzRCaLUbSttuCbdb6HST2fGdh-ROzYrkB72t8t1BjAB_qZ4iL6cOI1S8PBKSpJkEG1aje_4AmLroUC4K6NW8pR39zHvamRkJUYtKORvPaScajBAe5urD-r0tn3M99emmNDY3yU_Gc5694efpGQMLbFjUqjQLlcvf_lvatQipyyvbvbkdDAS_2FaOtbcfV417foAq6fUny3ogrJ6n6qvzQGtNZAVEM6eHP4thk8NCheM9-IB2VGc_OE9VA5E6IblqGSix8lpxM7NS0aRURAAv7Lu1xzG7RVNBK79bdi-9OZb4Ez9xDWcsMeDyr2KCBANBpYOLhCdGS1wx8l39nnpL6v_Tduo5FSPHVVypt1fSza8v91GRF5-Ra9uJ13v6V_6DDKVy0tOhnNfDK6IjUPu0fJRsEHQtH_3mJQGtUJ6IpIrsRBuQdb3n7iUPWZxjU5pZNSI1WPRkfWk5dBgvSsw3kLUSXYmRPNn8nirjvRtkzk_pYvRajsp0xBYp51gL7ovKvzumWINdgvlszTkUBpmXE0Z2wd6Q5wX5EZ9pkAkRSOWyQLG6xTcAFjUWcHDSEbnpAC-sT-khQJmwIyCZTf7-RRr1zB4Daha74jwvqLY3S1X7B5Awxm76lbDanoE6Xpg4EsbFbqkoomC0g0jQsYt4V8h2fCJ_Y1WYTwGXnymA-4-kgj_MAkxByQeajnKuhqYjLaGURiD8Kpt8Y3nNg4AltBWAnWKQQ3sM9AJvXx9kE3a0K571BJftkn0Dquv9w85SJMm0ueKF90o7iqqVYpgUtN4RoG2DmffrS9FiHrNRQ_CeYnWRgLfpqS45D_ehHBG7a2SoTAOwT_HerHT7w--1NtBkjA.bqghzr5YjGgSeu4GoBU_Cg', + }, + mfaStatus: 'pending', + }; nock( `https://cognito-idp.${awsRegion}.amazonaws.com/${awsPoolId}/.well-known/jwks.json`, ) .persist() .get('') - .reply(200, baseRes); + .reply(200, cognitoRes); + + mockRequest.headers['Dadosfera-User'] = + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiZTljYjI1ZGEtMTQyOC00NDJjLTg5NjItYTdkNmQxNjhkODUyIiwibmFtZSI6InJvZHJpZ28uemFtYm9uaSIsInVzZXJuYW1lIjoicm9kcmlnby56YW1ib25pQGRhZG9zZmVyYS5haSIsInJ1bGVJZCI6IjIxNzdmZjg4LThmY2ItNDRlNS1hYzYxLWNjYmU2Y2M3MGU4ZCIsImN1c3RvbWVySWQiOiIxMTI5ODBhMy0wYTEyLTQxYzktYmZmZC03OTFjZjdjYTg3YTIiLCJtZmFTdGF0dXMiOiJwZW5kaW5nIiwiY3JlYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwidXBkYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwicGVybWlzc2lvbnMiOlsiUE9TVCAvcGlwZWxpbmVzIiwiR0VUIC9waXBlbGluZXMiLCJQVVQgL3BpcGVsaW5lcyIsIkRFTEVURSAvcGlwZWxpbmVzIiwiUE9TVCAvaW5wdXRzIiwiR0VUIC9pbnB1dHMiLCJQVVQgL2lucHV0cyIsIkRFTEVURSAvaW5wdXRzIiwiUE9TVCAvb3V0cHV0cyIsIkdFVCAvb3V0cHV0cyIsIlBVVCAvb3V0cHV0cyIsIkRFTEVURSAvb3V0cHV0cyIsIlBPU1QgL3RyYW5zZm9ybWF0aW9ucyIsIkdFVCAvdHJhbnNmb3JtYXRpb25zIiwiUFVUIC90cmFuc2Zvcm1hdGlvbnMiLCJERUxFVEUgL3RyYW5zZm9ybWF0aW9ucyIsIlBPU1QgL2NhdGFsb2ciLCJHRVQgL2NhdGFsb2ciLCJQVVQgL2NhdGFsb2ciLCJERUxFVEUgL2NhdGFsb2ciLCJQT1NUIC9hdXRoIiwiR0VUIC9tZXRhYmFzZSIsIkdFVCAvc25vd2ZsYWtlIl0sImN1c3RvbWVyIjoiZGFkb3NmZXJhIn0sImlhdCI6MTY1MzU2NTcxNiwiZXhwIjoxNjUzNjUyMTE2fQ.tEzg3_iB-XWGfp5ey6DUNLMkgvHxXFloFN-uShbXLy8'; + mockRequest.headers['Authorization'] = 'asd'; - const data: any = await axios.get( - `https://cognito-idp.${awsRegion}.amazonaws.com/${awsPoolId}/.well-known/jwks.json`, - ); const authMiddleware = new LoggerMiddleware(); - const mockedRequest = { - headers: { - Authorization: 'teste', - }, - }; - mockedRequest.headers['Dadosfera-User'] = 'asd'; - - authMiddleware.use( + await authMiddleware.use( mockRequest as Request, mockResponse as Response, nextFunction, ); - console.log(mockResponse); expect(1).toBe(2); }); }); From b7e76a6d3f6ddbbf80c4b2261ba8681992ccfa6d Mon Sep 17 00:00:00 2001 From: "rodrigo.zamboni" Date: Mon, 30 May 2022 09:58:07 -0300 Subject: [PATCH 4/5] FIX: fix busboy npm critical error --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index b8c049c..a718523 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,9 @@ "rxjs": "^7.5.5", "swagger-ui-express": "^4.3.0" }, + "overrides":{ + "busboy@<1.6.0":"1.6.0" + }, "devDependencies": { "@nestjs/cli": "^8.2.4", "@nestjs/schematics": "^8.0.8", From 03d17758ae405d287424d238f47c93a05ae860f6 Mon Sep 17 00:00:00 2001 From: "rodrigo.zamboni" Date: Mon, 30 May 2022 10:11:04 -0300 Subject: [PATCH 5/5] FIX: commented broken test --- src/middlewares/authentication.ts | 2 +- src/modules/auth/auth.service.spec.ts | 198 ++++++++++++++++++-------- 2 files changed, 137 insertions(+), 63 deletions(-) diff --git a/src/middlewares/authentication.ts b/src/middlewares/authentication.ts index 3c80513..6ff77b1 100644 --- a/src/middlewares/authentication.ts +++ b/src/middlewares/authentication.ts @@ -9,7 +9,7 @@ import { } from '@nestjs/common'; import jwkToPem from 'jwk-to-pem'; import { decode, verify } from 'jsonwebtoken'; -import { HttpExceptionFilter } from 'src/error/http-exception.filter'; +import { HttpExceptionFilter } from '../error/http-exception.filter'; @UseFilters(new HttpExceptionFilter()) export class LoggerMiddleware implements NestMiddleware { diff --git a/src/modules/auth/auth.service.spec.ts b/src/modules/auth/auth.service.spec.ts index 801da91..bc390a2 100644 --- a/src/modules/auth/auth.service.spec.ts +++ b/src/modules/auth/auth.service.spec.ts @@ -1,78 +1,152 @@ -import axios from 'axios'; import nock from 'nock'; import { LoggerMiddleware } from '../../middlewares/authentication'; import { NextFunction, Request, Response } from 'express'; -import { Headers, Header } from '@nestjs/common'; +import { ConsoleLogger, UnauthorizedException } from '@nestjs/common'; describe('PipelinesGrpcServerService', () => { - let mockRequest: Partial; - let mockResponse: Partial; - const nextFunction: NextFunction = jest.fn(); + // let mockRequest: Partial; + // let mockResponse: Partial; + // const nextFunction: NextFunction = jest.fn(); - beforeEach(() => { - mockRequest = {}; - mockResponse = { - json: jest.fn(), - }; - }); + // beforeEach(() => { + // mockRequest = { + // headers: {}, + // body: { + // info: {}, + // }, + // }; + // mockResponse = { + // json: jest.fn(), + // }; + // }); it('should be defined', () => { expect(2 + 2).toBe(4); }); - it('teste', async () => { - const awsRegion = process.env.AWS_REGION; - const awsPoolId = process.env.AWS_IDENTITY_POOL_ID; - const cognitoRes = { - keys: [ - { - alg: 'RS256', - e: 'AQAB', - kid: 'z3VA3+i9JZY3JFDJTNWOap8RY+B7C6mFedaqCuvLvqA=', - kty: 'RSA', - n: 'vIGCQDkPA_eQUoaGDUsCyK_Whr76mNW0kZ1uac6ZnyY6hsjUIjvwehqv-ux3cQo4rQZQVFcoh8n9cK5jguz4GVdD972vIxoEdyv32nBFVr5e1PBunKJ2Y32GTR_Hl0XiE0hRe1v6cWuTqiC4qm1NY7tXYL3mI9L6s9ztNbhmG_V44y26PdhL4vRVrJaHOAmCs-77U-QYAC7Llkpmjh-8tG1zt9_FJ237cpBUVOuhD-7Nm32_eB9wddBGfBw0F10ko_KJoU-7683_Kv8k9coJzFUSONId-bfnLOzs8j1L6ZAHipXCR7rpmuRYzXztjp4Wmm2zPUToWLdMEy0Hq1OWmw', - use: 'sig', - }, - { - alg: 'RS256', - e: 'AQAB', - kid: 'u+1W9pi+clp8LaPhZVrv4dXMqRkTRD02YWhbm0NvsUw=', - kty: 'RSA', - n: 'noGq1cRMAKJPWahqfC_zWasYovSUycaS1basMfEoh3ePLc9zRgmyfiVKYzLRosHMe1uk0Y5ekCBKnWA8Yl7I84Yt7IIIaE44oJjSEGBKT3m8i8YaXzawaNs63KPkRh8553o3KzL75bQWcI_ABKqkf-uAKSCl_XotBGkzLUl4hIOYtAtRGEfKaNMPqyTCT5Zn71pMd0isppaUiTW2T5QLsZV1IBp46aSrl_D5Q_FTsJT7feobQVoHp2zfIorCpkfTXBTBMQTEBFSDyPbc6cULl48VKxp0B0GEwR_kYCEHEVzf41LQcUWZUE0OdBychijkSc9MZJnBWUYQZyedJILWnQ', - use: 'sig', - }, - ], - }; - const loginRes = { - tokens: { - idToken: - 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiZTljYjI1ZGEtMTQyOC00NDJjLTg5NjItYTdkNmQxNjhkODUyIiwibmFtZSI6InJvZHJpZ28uemFtYm9uaSIsInVzZXJuYW1lIjoicm9kcmlnby56YW1ib25pQGRhZG9zZmVyYS5haSIsInJ1bGVJZCI6IjIxNzdmZjg4LThmY2ItNDRlNS1hYzYxLWNjYmU2Y2M3MGU4ZCIsImN1c3RvbWVySWQiOiIxMTI5ODBhMy0wYTEyLTQxYzktYmZmZC03OTFjZjdjYTg3YTIiLCJtZmFTdGF0dXMiOiJwZW5kaW5nIiwiY3JlYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwidXBkYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwicGVybWlzc2lvbnMiOlsiUE9TVCAvcGlwZWxpbmVzIiwiR0VUIC9waXBlbGluZXMiLCJQVVQgL3BpcGVsaW5lcyIsIkRFTEVURSAvcGlwZWxpbmVzIiwiUE9TVCAvaW5wdXRzIiwiR0VUIC9pbnB1dHMiLCJQVVQgL2lucHV0cyIsIkRFTEVURSAvaW5wdXRzIiwiUE9TVCAvb3V0cHV0cyIsIkdFVCAvb3V0cHV0cyIsIlBVVCAvb3V0cHV0cyIsIkRFTEVURSAvb3V0cHV0cyIsIlBPU1QgL3RyYW5zZm9ybWF0aW9ucyIsIkdFVCAvdHJhbnNmb3JtYXRpb25zIiwiUFVUIC90cmFuc2Zvcm1hdGlvbnMiLCJERUxFVEUgL3RyYW5zZm9ybWF0aW9ucyIsIlBPU1QgL2NhdGFsb2ciLCJHRVQgL2NhdGFsb2ciLCJQVVQgL2NhdGFsb2ciLCJERUxFVEUgL2NhdGFsb2ciLCJQT1NUIC9hdXRoIiwiR0VUIC9tZXRhYmFzZSIsIkdFVCAvc25vd2ZsYWtlIl0sImN1c3RvbWVyIjoiZGFkb3NmZXJhIn0sImlhdCI6MTY1MzU2NTcxNiwiZXhwIjoxNjUzNjUyMTE2fQ.tEzg3_iB-XWGfp5ey6DUNLMkgvHxXFloFN-uShbXLy8', - accessToken: - 'eyJraWQiOiJ1KzFXOXBpK2NscDhMYVBoWlZydjRkWE1xUmtUUkQwMllXaGJtME52c1V3PSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxYjkyZmFkMC1iNWVlLTQwMzAtOGRmYy1hZWM0MGQzYzdkYmUiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtZWFzdC0xLmFtYXpvbmF3cy5jb21cL3VzLWVhc3QtMV9OVXY3WTJTeGoiLCJjbGllbnRfaWQiOiI0N3RrY3Jxc2NuajY3bWhnYmg3dXQ1YnJzNCIsIm9yaWdpbl9qdGkiOiIxOWE1ODZjMC03MDc5LTQ3MjctODBiNy1jMWFmMzExNTkxNjciLCJldmVudF9pZCI6IjJiMmZhODg2LWNhMjMtNGVlMy05MTRjLWI5Y2I3YmU0ZWQ1YSIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE2NTM1NjU3MTYsImV4cCI6MTY1MzU2NzUxNiwiaWF0IjoxNjUzNTY1NzE2LCJqdGkiOiJiOWYyYzE4Ni05ZTI1LTRhNzEtYWZhMy0yMzZlOWQxMWNhZDQiLCJ1c2VybmFtZSI6InJvZHJpZ28uemFtYm9uaUBkYWRvc2ZlcmEuYWkifQ.Y0PwVlqRzyLsooycFxv5ASkhEG5sUdun_N3DQZk2kF00UzpF7y9i_oZhcwF7x3B7CYeC6UH7wXZl5FdxeBWkC91hSX1ZuT3os9HBzUlEzq7bHf-m5yIvB2kEGs-vwR4_G4YkGGU23pAY-yPkpsZYbLrxh1WaHv-RmdrG4X1ssfMMFC2_rUx4Vjn1uwY7Q7LRayZxeTW-YGpq81JM5ger99Ly_kIvLO7RLDdYkIuM-ea6uwOZxJA__dBmRVww3-AqTkAZi6JaFJROPHPPCGKoCKXRKbPM92I3h-kWG-jFzKjvzbSW9iIco8NU3-vWDrNWBUqZQnMnmaDWmg-MXuGFWA', - refreshToken: - 'eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.AmMeDe4aSWBySdePOZ3D4rmAr9eTSvuAIRyNhYdNxbPTXCucX7Ju7f92WoY0f7Fyb3q8PkF8-VI2bvWNQD-2GnM3DJkGRBM56FyufLSIn5ZXga7CNaIiZd9GD4vN8agIgEaGOagwRKcCRxYnC_gmdpvL20-Rh31eKpj-LCLn8jmx7qh72eyPKny_TcFeTjOE1RgI4hXWFFsH7LFwRL7erUhw2ASHuVQyASWHfAlbzPuOdvBsXnKBbcGYrGnNSzRI7OVe9DOWvH9PZ6zPPArh5A2PDmzO-9AsS-NYgnpAwgXAfgCOXc0mtBZ2Rg84EZukpqysBVwbVeEy5608bA7P4w.HsFIi0OpONyWHZwD.5Vzdh8Q4BRcBunO109BhvJ7bE5tieWRrKDKF4ZtoZUBKJAmXkJWTT6UIOy1Wdbol6l_ez3X1SWrcfnnc05JJmgm2HIblihmKqJ-dbcJ72Qtbp5sFCoAuU9ixQzxZIMaVtQrByA7IKejAaMlN2V3JsMWyfRXki0CSSxm2E3wkWewQ7BgIbyFQXLXEggI86vKd3Q2Wt_UvYHgP_Tjinm706bZf3R8RSIukI52wBDeL9iiKJ9sJ0Mr8lDrM6bkaF-i37DflKsh9vDglLBDuW9R6Wnp7IEjiHm42w1DCWwyQEv45CDFBlsnW9whAT6hGdsNnt0f8qvsDZ-Eee0aYQwWP0vRKvrzU1YNGkNGe9KZY2KBAisW-P1_jmSZO_xpV9eUHPejh7XoN5i_eT7fMoDUm2qir3ulgrG39sViYfkbUiFzb00jjIp5wEmFxvpQeOOu2aDI56oylNU1dapp8vXWzRCaLUbSttuCbdb6HST2fGdh-ROzYrkB72t8t1BjAB_qZ4iL6cOI1S8PBKSpJkEG1aje_4AmLroUC4K6NW8pR39zHvamRkJUYtKORvPaScajBAe5urD-r0tn3M99emmNDY3yU_Gc5694efpGQMLbFjUqjQLlcvf_lvatQipyyvbvbkdDAS_2FaOtbcfV417foAq6fUny3ogrJ6n6qvzQGtNZAVEM6eHP4thk8NCheM9-IB2VGc_OE9VA5E6IblqGSix8lpxM7NS0aRURAAv7Lu1xzG7RVNBK79bdi-9OZb4Ez9xDWcsMeDyr2KCBANBpYOLhCdGS1wx8l39nnpL6v_Tduo5FSPHVVypt1fSza8v91GRF5-Ra9uJ13v6V_6DDKVy0tOhnNfDK6IjUPu0fJRsEHQtH_3mJQGtUJ6IpIrsRBuQdb3n7iUPWZxjU5pZNSI1WPRkfWk5dBgvSsw3kLUSXYmRPNn8nirjvRtkzk_pYvRajsp0xBYp51gL7ovKvzumWINdgvlszTkUBpmXE0Z2wd6Q5wX5EZ9pkAkRSOWyQLG6xTcAFjUWcHDSEbnpAC-sT-khQJmwIyCZTf7-RRr1zB4Daha74jwvqLY3S1X7B5Awxm76lbDanoE6Xpg4EsbFbqkoomC0g0jQsYt4V8h2fCJ_Y1WYTwGXnymA-4-kgj_MAkxByQeajnKuhqYjLaGURiD8Kpt8Y3nNg4AltBWAnWKQQ3sM9AJvXx9kE3a0K571BJftkn0Dquv9w85SJMm0ueKF90o7iqqVYpgUtN4RoG2DmffrS9FiHrNRQ_CeYnWRgLfpqS45D_ehHBG7a2SoTAOwT_HerHT7w--1NtBkjA.bqghzr5YjGgSeu4GoBU_Cg', - }, - mfaStatus: 'pending', - }; + // it('Should be able to pass auth', async () => { + // const awsRegion = process.env.AWS_REGION; + // const awsPoolId = process.env.AWS_IDENTITY_POOL_ID; + // const cognitoRes = { + // keys: [ + // { + // alg: 'RS256', + // e: 'AQAB', + // kid: 'z3VA3+i9JZY3JFDJTNWOap8RY+B7C6mFedaqCuvLvqA=', + // kty: 'RSA', + // n: 'vIGCQDkPA_eQUoaGDUsCyK_Whr76mNW0kZ1uac6ZnyY6hsjUIjvwehqv-ux3cQo4rQZQVFcoh8n9cK5jguz4GVdD972vIxoEdyv32nBFVr5e1PBunKJ2Y32GTR_Hl0XiE0hRe1v6cWuTqiC4qm1NY7tXYL3mI9L6s9ztNbhmG_V44y26PdhL4vRVrJaHOAmCs-77U-QYAC7Llkpmjh-8tG1zt9_FJ237cpBUVOuhD-7Nm32_eB9wddBGfBw0F10ko_KJoU-7683_Kv8k9coJzFUSONId-bfnLOzs8j1L6ZAHipXCR7rpmuRYzXztjp4Wmm2zPUToWLdMEy0Hq1OWmw', + // use: 'sig', + // }, + // { + // alg: 'RS256', + // e: 'AQAB', + // kid: 'u+1W9pi+clp8LaPhZVrv4dXMqRkTRD02YWhbm0NvsUw=', + // kty: 'RSA', + // n: 'noGq1cRMAKJPWahqfC_zWasYovSUycaS1basMfEoh3ePLc9zRgmyfiVKYzLRosHMe1uk0Y5ekCBKnWA8Yl7I84Yt7IIIaE44oJjSEGBKT3m8i8YaXzawaNs63KPkRh8553o3KzL75bQWcI_ABKqkf-uAKSCl_XotBGkzLUl4hIOYtAtRGEfKaNMPqyTCT5Zn71pMd0isppaUiTW2T5QLsZV1IBp46aSrl_D5Q_FTsJT7feobQVoHp2zfIorCpkfTXBTBMQTEBFSDyPbc6cULl48VKxp0B0GEwR_kYCEHEVzf41LQcUWZUE0OdBychijkSc9MZJnBWUYQZyedJILWnQ', + // use: 'sig', + // }, + // ], + // }; - nock( - `https://cognito-idp.${awsRegion}.amazonaws.com/${awsPoolId}/.well-known/jwks.json`, - ) - .persist() - .get('') - .reply(200, cognitoRes); + // nock( + // `https://cognito-idp.${awsRegion}.amazonaws.com/${awsPoolId}/.well-known/jwks.json`, + // ) + // .persist() + // .get('') + // .reply(200, cognitoRes); - mockRequest.headers['Dadosfera-User'] = - 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiZTljYjI1ZGEtMTQyOC00NDJjLTg5NjItYTdkNmQxNjhkODUyIiwibmFtZSI6InJvZHJpZ28uemFtYm9uaSIsInVzZXJuYW1lIjoicm9kcmlnby56YW1ib25pQGRhZG9zZmVyYS5haSIsInJ1bGVJZCI6IjIxNzdmZjg4LThmY2ItNDRlNS1hYzYxLWNjYmU2Y2M3MGU4ZCIsImN1c3RvbWVySWQiOiIxMTI5ODBhMy0wYTEyLTQxYzktYmZmZC03OTFjZjdjYTg3YTIiLCJtZmFTdGF0dXMiOiJwZW5kaW5nIiwiY3JlYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwidXBkYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwicGVybWlzc2lvbnMiOlsiUE9TVCAvcGlwZWxpbmVzIiwiR0VUIC9waXBlbGluZXMiLCJQVVQgL3BpcGVsaW5lcyIsIkRFTEVURSAvcGlwZWxpbmVzIiwiUE9TVCAvaW5wdXRzIiwiR0VUIC9pbnB1dHMiLCJQVVQgL2lucHV0cyIsIkRFTEVURSAvaW5wdXRzIiwiUE9TVCAvb3V0cHV0cyIsIkdFVCAvb3V0cHV0cyIsIlBVVCAvb3V0cHV0cyIsIkRFTEVURSAvb3V0cHV0cyIsIlBPU1QgL3RyYW5zZm9ybWF0aW9ucyIsIkdFVCAvdHJhbnNmb3JtYXRpb25zIiwiUFVUIC90cmFuc2Zvcm1hdGlvbnMiLCJERUxFVEUgL3RyYW5zZm9ybWF0aW9ucyIsIlBPU1QgL2NhdGFsb2ciLCJHRVQgL2NhdGFsb2ciLCJQVVQgL2NhdGFsb2ciLCJERUxFVEUgL2NhdGFsb2ciLCJQT1NUIC9hdXRoIiwiR0VUIC9tZXRhYmFzZSIsIkdFVCAvc25vd2ZsYWtlIl0sImN1c3RvbWVyIjoiZGFkb3NmZXJhIn0sImlhdCI6MTY1MzU2NTcxNiwiZXhwIjoxNjUzNjUyMTE2fQ.tEzg3_iB-XWGfp5ey6DUNLMkgvHxXFloFN-uShbXLy8'; - mockRequest.headers['Authorization'] = 'asd'; + // mockRequest.headers['Dadosfera-User'] = + // 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiZTljYjI1ZGEtMTQyOC00NDJjLTg5NjItYTdkNmQxNjhkODUyIiwibmFtZSI6InJvZHJpZ28uemFtYm9uaSIsInVzZXJuYW1lIjoicm9kcmlnby56YW1ib25pQGRhZG9zZmVyYS5haSIsInJ1bGVJZCI6IjIxNzdmZjg4LThmY2ItNDRlNS1hYzYxLWNjYmU2Y2M3MGU4ZCIsImN1c3RvbWVySWQiOiIxMTI5ODBhMy0wYTEyLTQxYzktYmZmZC03OTFjZjdjYTg3YTIiLCJtZmFTdGF0dXMiOiJwZW5kaW5nIiwiY3JlYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwidXBkYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwicGVybWlzc2lvbnMiOlsiUE9TVCAvcGlwZWxpbmVzIiwiR0VUIC9waXBlbGluZXMiLCJQVVQgL3BpcGVsaW5lcyIsIkRFTEVURSAvcGlwZWxpbmVzIiwiUE9TVCAvaW5wdXRzIiwiR0VUIC9pbnB1dHMiLCJQVVQgL2lucHV0cyIsIkRFTEVURSAvaW5wdXRzIiwiUE9TVCAvb3V0cHV0cyIsIkdFVCAvb3V0cHV0cyIsIlBVVCAvb3V0cHV0cyIsIkRFTEVURSAvb3V0cHV0cyIsIlBPU1QgL3RyYW5zZm9ybWF0aW9ucyIsIkdFVCAvdHJhbnNmb3JtYXRpb25zIiwiUFVUIC90cmFuc2Zvcm1hdGlvbnMiLCJERUxFVEUgL3RyYW5zZm9ybWF0aW9ucyIsIlBPU1QgL2NhdGFsb2ciLCJHRVQgL2NhdGFsb2ciLCJQVVQgL2NhdGFsb2ciLCJERUxFVEUgL2NhdGFsb2ciLCJQT1NUIC9hdXRoIiwiR0VUIC9tZXRhYmFzZSIsIkdFVCAvc25vd2ZsYWtlIl0sImN1c3RvbWVyIjoiZGFkb3NmZXJhIn0sImlhdCI6MTY1MzY1NjE2NywiZXhwIjoxNjUzNzQyNTY3fQ.eeNEEUk_95KOxM-objS7gXz-SCVkNFYpEP688MfLkdI'; + // mockRequest.headers['Authorization'] = + // 'eyJraWQiOiJ1KzFXOXBpK2NscDhMYVBoWlZydjRkWE1xUmtUUkQwMllXaGJtME52c1V3PSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxYjkyZmFkMC1iNWVlLTQwMzAtOGRmYy1hZWM0MGQzYzdkYmUiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtZWFzdC0xLmFtYXpvbmF3cy5jb21cL3VzLWVhc3QtMV9OVXY3WTJTeGoiLCJjbGllbnRfaWQiOiI0N3RrY3Jxc2NuajY3bWhnYmg3dXQ1YnJzNCIsIm9yaWdpbl9qdGkiOiJhZWJjNjA5NC1hYTJmLTRiZmUtOWExZi01ZWVhYTVmYzAwNDAiLCJldmVudF9pZCI6IjBhY2NjMzJiLTllNzktNGY2NS1iMDFiLWZhZGJlYzFhZWFiNiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE2NTM2NTYxNjcsImV4cCI6MTY1MzY1Nzk2NywiaWF0IjoxNjUzNjU2MTY3LCJqdGkiOiIyYTgzNDhmOC0xNDhlLTQ3NjctODcxYi00M2UyOGRjNjc2NTkiLCJ1c2VybmFtZSI6InJvZHJpZ28uemFtYm9uaUBkYWRvc2ZlcmEuYWkifQ.UgIgeGEH2olNgqPly8cymNgWIZJz5n9N4yeKgTusfGsu5h-TWP_jVhPoCvFoixO2XKzFjSCvKwlKQYZyB74jLQLs-j5C5KGBdOea1HX7pUnEfEVtBINd1kcHib5YpGYq3MHG1uVx8vNJS3XviwgYg4rgNWA4du-QbhMicdRyHolYM-dWxuxtkwTRWMe1Vw6KlTctFsvUWx1GMgjp37tsLONcp3B8OsYXfiR764K_pBNs5gMhJ39gJ7NHHLWkJrtrUTpIoHWaZS_HEgvVyQiJENQvK_bPDMPm_lyF1dW-JBgot4TpAxMmvV1XGabkzycIcAOwUaPsKBlMphgunz1Ffw'; + // mockRequest.method = 'GET'; + // mockRequest.route = { + // path: '/inputs/', + // stack: [ + // { + // method: 'get', + // }, + // ], + // methods: { + // get: true, + // }, + // }; + // const authMiddleware = new LoggerMiddleware(); - const authMiddleware = new LoggerMiddleware(); - await authMiddleware.use( - mockRequest as Request, - mockResponse as Response, - nextFunction, - ); + // await authMiddleware.useTest( + // mockRequest as Request, + // mockResponse as Response, + // nextFunction, + // ); + // expect(nextFunction).toHaveBeenCalled(); + // }); - expect(1).toBe(2); - }); + // it('Should not be able to pass auth', async () => { + // const awsRegion = process.env.AWS_REGION; + // const awsPoolId = process.env.AWS_IDENTITY_POOL_ID; + // const cognitoRes = { + // keys: [ + // { + // alg: 'RS256', + // e: 'AQAB', + // kid: 'z3VA3+i9JZY3JFDJTNWOap8RY+B7C6mFedaqCuvLvqA=', + // kty: 'RSA', + // n: 'vIGCQDkPA_eQUoaGDUsCyK_Whr76mNW0kZ1uac6ZnyY6hsjUIjvwehqv-ux3cQo4rQZQVFcoh8n9cK5jguz4GVdD972vIxoEdyv32nBFVr5e1PBunKJ2Y32GTR_Hl0XiE0hRe1v6cWuTqiC4qm1NY7tXYL3mI9L6s9ztNbhmG_V44y26PdhL4vRVrJaHOAmCs-77U-QYAC7Llkpmjh-8tG1zt9_FJ237cpBUVOuhD-7Nm32_eB9wddBGfBw0F10ko_KJoU-7683_Kv8k9coJzFUSONId-bfnLOzs8j1L6ZAHipXCR7rpmuRYzXztjp4Wmm2zPUToWLdMEy0Hq1OWmw', + // use: 'sig', + // }, + // { + // alg: 'RS256', + // e: 'AQAB', + // kid: 'u+1W9pi+clp8LaPhZVrv4dXMqRkTRD02YWhbm0NvsUw=', + // kty: 'RSA', + // n: 'noGq1cRMAKJPWahqfC_zWasYovSUycaS1basMfEoh3ePLc9zRgmyfiVKYzLRosHMe1uk0Y5ekCBKnWA8Yl7I84Yt7IIIaE44oJjSEGBKT3m8i8YaXzawaNs63KPkRh8553o3KzL75bQWcI_ABKqkf-uAKSCl_XotBGkzLUl4hIOYtAtRGEfKaNMPqyTCT5Zn71pMd0isppaUiTW2T5QLsZV1IBp46aSrl_D5Q_FTsJT7feobQVoHp2zfIorCpkfTXBTBMQTEBFSDyPbc6cULl48VKxp0B0GEwR_kYCEHEVzf41LQcUWZUE0OdBychijkSc9MZJnBWUYQZyedJILWnQ', + // use: 'sig', + // }, + // ], + // }; + + // nock( + // `https://cognito-idp.${awsRegion}.amazonaws.com/${awsPoolId}/.well-known/jwks.json`, + // ) + // .persist() + // .get('') + // .reply(200, cognitoRes); + + // mockRequest.headers['Dadosfera-User'] = + // 'asdeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiZTljYjI1ZGEtMTQyOC00NDJjLTg5NjItYTdkNmQxNjhkODUyIiwibmFtZSI6InJvZHJpZ28uemFtYm9uaSIsInVzZXJuYW1lIjoicm9kcmlnby56YW1ib25pQGRhZG9zZmVyYS5haSIsInJ1bGVJZCI6IjIxNzdmZjg4LThmY2ItNDRlNS1hYzYxLWNjYmU2Y2M3MGU4ZCIsImN1c3RvbWVySWQiOiIxMTI5ODBhMy0wYTEyLTQxYzktYmZmZC03OTFjZjdjYTg3YTIiLCJtZmFTdGF0dXMiOiJwZW5kaW5nIiwiY3JlYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwidXBkYXRlZEF0IjoiMjAyMi0wNS0xM1QxNTowOTowOS4xMzhaIiwicGVybWlzc2lvbnMiOlsiUE9TVCAvcGlwZWxpbmVzIiwiR0VUIC9waXBlbGluZXMiLCJQVVQgL3BpcGVsaW5lcyIsIkRFTEVURSAvcGlwZWxpbmVzIiwiUE9TVCAvaW5wdXRzIiwiR0VUIC9pbnB1dHMiLCJQVVQgL2lucHV0cyIsIkRFTEVURSAvaW5wdXRzIiwiUE9TVCAvb3V0cHV0cyIsIkdFVCAvb3V0cHV0cyIsIlBVVCAvb3V0cHV0cyIsIkRFTEVURSAvb3V0cHV0cyIsIlBPU1QgL3RyYW5zZm9ybWF0aW9ucyIsIkdFVCAvdHJhbnNmb3JtYXRpb25zIiwiUFVUIC90cmFuc2Zvcm1hdGlvbnMiLCJERUxFVEUgL3RyYW5zZm9ybWF0aW9ucyIsIlBPU1QgL2NhdGFsb2ciLCJHRVQgL2NhdGFsb2ciLCJQVVQgL2NhdGFsb2ciLCJERUxFVEUgL2NhdGFsb2ciLCJQT1NUIC9hdXRoIiwiR0VUIC9tZXRhYmFzZSIsIkdFVCAvc25vd2ZsYWtlIl0sImN1c3RvbWVyIjoiZGFkb3NmZXJhIn0sImlhdCI6MTY1MzY1NjE2NywiZXhwIjoxNjUzNzQyNTY3fQ.eeNEEUk_95KOxM-objS7gXz-SCVkNFYpEP688MfLkdI'; + // mockRequest.headers['Authorization'] = + // 'asdeyJraWQiOiJ1KzFXOXBpK2NscDhMYVBoWlZydjRkWE1xUmtUUkQwMllXaGJtME52c1V3PSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxYjkyZmFkMC1iNWVlLTQwMzAtOGRmYy1hZWM0MGQzYzdkYmUiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtZWFzdC0xLmFtYXpvbmF3cy5jb21cL3VzLWVhc3QtMV9OVXY3WTJTeGoiLCJjbGllbnRfaWQiOiI0N3RrY3Jxc2NuajY3bWhnYmg3dXQ1YnJzNCIsIm9yaWdpbl9qdGkiOiJhZWJjNjA5NC1hYTJmLTRiZmUtOWExZi01ZWVhYTVmYzAwNDAiLCJldmVudF9pZCI6IjBhY2NjMzJiLTllNzktNGY2NS1iMDFiLWZhZGJlYzFhZWFiNiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE2NTM2NTYxNjcsImV4cCI6MTY1MzY1Nzk2NywiaWF0IjoxNjUzNjU2MTY3LCJqdGkiOiIyYTgzNDhmOC0xNDhlLTQ3NjctODcxYi00M2UyOGRjNjc2NTkiLCJ1c2VybmFtZSI6InJvZHJpZ28uemFtYm9uaUBkYWRvc2ZlcmEuYWkifQ.UgIgeGEH2olNgqPly8cymNgWIZJz5n9N4yeKgTusfGsu5h-TWP_jVhPoCvFoixO2XKzFjSCvKwlKQYZyB74jLQLs-j5C5KGBdOea1HX7pUnEfEVtBINd1kcHib5YpGYq3MHG1uVx8vNJS3XviwgYg4rgNWA4du-QbhMicdRyHolYM-dWxuxtkwTRWMe1Vw6KlTctFsvUWx1GMgjp37tsLONcp3B8OsYXfiR764K_pBNs5gMhJ39gJ7NHHLWkJrtrUTpIoHWaZS_HEgvVyQiJENQvK_bPDMPm_lyF1dW-JBgot4TpAxMmvV1XGabkzycIcAOwUaPsKBlMphgunz1Ffw'; + // mockRequest.method = 'GET'; + // mockRequest.route = { + // path: '/inputs/', + // stack: [ + // { + // method: 'get', + // }, + // ], + // methods: { + // get: true, + // }, + // }; + // const authMiddleware = new LoggerMiddleware(); + + // // const t = await authMiddleware.useTest( + // // mockRequest as Request, + // // mockResponse as Response, + // // nextFunction, + // // ); + // // expect(nextFunction).toHaveBeenCalled(); + + // expect(async () => { + // const t = await authMiddleware.useTest( + // mockRequest as Request, + // mockResponse as Response, + // nextFunction, + // ); + // console.log(t); + // }).toThrow('Unauthorized'); + + // expect(1).toBe(2); + // // expect(t).toThrow(UnauthorizedException); + // }); });