From 8714ecdde8beac89000b7f84c0107f073c8434e8 Mon Sep 17 00:00:00 2001 From: Mihajlo Medjedovic Date: Fri, 26 Feb 2021 14:40:07 +0100 Subject: [PATCH] test: issue 258 --- sasjs-tests/package-lock.json | 88 ++++++++++------------------- sasjs-tests/package.json | 2 +- sasjs-tests/public/config.json | 2 +- sasjs-tests/src/testSuites/Basic.ts | 32 +++++++++++ 4 files changed, 65 insertions(+), 59 deletions(-) diff --git a/sasjs-tests/package-lock.json b/sasjs-tests/package-lock.json index bb96f89..9518e59 100644 --- a/sasjs-tests/package-lock.json +++ b/sasjs-tests/package-lock.json @@ -2004,21 +2004,19 @@ } }, "@sasjs/adapter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@sasjs/adapter/-/adapter-2.1.0.tgz", - "integrity": "sha512-FdvxAPzXHHwCurH5B1RxSGeO6h+lVqDGAtrTAQDByT7HhsikAMFi6mW5dJR/1CKcI2rLOdE/479yYqjwfX8nwg==", + "version": "file:../build/sasjs-adapter-5.0.0.tgz", + "integrity": "sha512-1t+3LIL2BFw8HpZUPI9QM24801+JH4DCAu4eHoLLmytYhN72asMi1aVtgSDb1xiJYgpbTG7EK3qRpHIV8cEN8w==", "requires": { - "@sasjs/utils": "^2.0.2", - "es6-promise": "^4.2.8", + "@sasjs/utils": "^2.5.0", + "axios": "^0.21.1", "form-data": "^3.0.0", - "https": "^1.0.0", - "isomorphic-fetch": "^2.2.1" + "https": "^1.0.0" }, "dependencies": { "form-data": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", - "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -2048,10 +2046,11 @@ } }, "@sasjs/utils": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.2.0.tgz", - "integrity": "sha512-T01TYAFU+WQ1uAUaunZXg0MotQe5jn3auVuMPPbY5RU5VhIn4oVhr6qz3EHyNsYYKD1aj5pP7w2elnBzkgWhGw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.5.1.tgz", + "integrity": "sha512-a3ISiUX8Yz7au4XYxq2KWf9ODT6nsIDbE4FEqS+AQ3McxZkfuAk4v+REXjOmIlcyQd4R4bufEK8XoB6AROn9sA==", "requires": { + "@types/prompts": "^2.0.9", "consola": "^2.15.0", "prompts": "^2.4.0", "valid-url": "^1.0.9" @@ -2366,6 +2365,14 @@ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==" }, + "@types/prompts": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.0.9.tgz", + "integrity": "sha512-TORZP+FSjTYMWwKadftmqEn6bziN5RnfygehByGsjxoK5ydnClddtv6GikGWPvCm24oI+YBwck5WDxIIyNxUrA==", + "requires": { + "@types/node": "*" + } + }, "@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", @@ -3396,6 +3403,14 @@ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.1.tgz", "integrity": "sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ==" }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "requires": { + "follow-redirects": "^1.10.0" + } + }, "axobject-query": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", @@ -4677,9 +4692,9 @@ "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" }, "consola": { - "version": "2.15.2", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.2.tgz", - "integrity": "sha512-VxqWw5C8O/mQpZYtfaaSCDJcVK3AxyvQ26rhgvyAI4j/QJISh8DLwFS8GQU+9154u4ngyCsSlnyIAYJme9kQug==" + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, "console-browserify": { "version": "1.2.0", @@ -5722,24 +5737,6 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -5882,11 +5879,6 @@ "es6-symbol": "^3.1.1" } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, "es6-symbol": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", @@ -8584,15 +8576,6 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -11423,15 +11406,6 @@ } } }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, "node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", diff --git a/sasjs-tests/package.json b/sasjs-tests/package.json index b09a05c..93a6775 100644 --- a/sasjs-tests/package.json +++ b/sasjs-tests/package.json @@ -4,7 +4,7 @@ "homepage": ".", "private": true, "dependencies": { - "@sasjs/adapter": "^2.1.0", + "@sasjs/adapter": "file:../build/sasjs-adapter-5.0.0.tgz", "@sasjs/test-framework": "^1.4.0", "@types/jest": "^26.0.20", "@types/node": "^14.14.25", diff --git a/sasjs-tests/public/config.json b/sasjs-tests/public/config.json index 070b6ac..ce7b8d4 100644 --- a/sasjs-tests/public/config.json +++ b/sasjs-tests/public/config.json @@ -6,7 +6,7 @@ "appLoc": "/Public/app", "serverType": "SASVIYA", "debug": false, - "contextName": "SharedCompute", + "contextName": "SAS Job Execution compute context", "useComputeApi": true } } diff --git a/sasjs-tests/src/testSuites/Basic.ts b/sasjs-tests/src/testSuites/Basic.ts index e754de8..b2bc752 100644 --- a/sasjs-tests/src/testSuites/Basic.ts +++ b/sasjs-tests/src/testSuites/Basic.ts @@ -2,6 +2,8 @@ import SASjs, { SASjsConfig } from "@sasjs/adapter"; import { TestSuite } from "@sasjs/test-framework"; import { ServerType } from "@sasjs/utils/types"; +const stringData: any = { table1: [{ col1: "first col value" }] }; + const defaultConfig: SASjsConfig = { serverUrl: window.location.origin, pathSAS9: "/SASStoredProcess/do", @@ -51,6 +53,36 @@ export const basicTests = ( assertion: (response: any) => response && response.isLoggedIn && response.userName === userName }, + { + title: "Trigger login callback", + description: + "Should trigger required login callback and after successful login, it should finish the request", + test: async () => { + await adapter.logOut(); + + return await adapter.request("/Public/app/common/sendArr", stringData, null, () => { + adapter.logIn(userName, password); + }); + }, + assertion: (response: any) => { + return response.table1[0][0] === stringData.table1[0].col1; + } + }, + { + title: "Request with debug on", + description: + "Should complete successful request with debugging switched on", + test: async () => { + const config = { + debug: true + } + + return await adapter.request("/Public/app/common/sendArr", stringData, config) + }, + assertion: (response: any) => { + return response.table1[0][0] === stringData.table1[0].col1; + } + }, { title: "Default config", description: