@webex/test-helper-server 2.29.3 → 2.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +26 -33
- package/src/index.js +4 -4
package/dist/index.js
CHANGED
|
@@ -78,9 +78,9 @@ app.use(function (req, res, next) {
|
|
|
78
78
|
}); // Configure Browserify
|
|
79
79
|
// --------------------
|
|
80
80
|
|
|
81
|
-
var appPattern = "packages/
|
|
81
|
+
var appPattern = "packages/{*,*/*}/test/automation/fixtures/app.js";
|
|
82
82
|
glob.sync(appPattern).forEach(function (appjs) {
|
|
83
|
-
var packageName = appjs.replace("packages/
|
|
83
|
+
var packageName = appjs.replace("packages/", "").replace("/test/automation/fixtures/app.js", ""); // eslint-disable-next-line no-sync
|
|
84
84
|
|
|
85
85
|
fs.statSync(appjs);
|
|
86
86
|
app.use("/".concat(packageName, "/app.js"), browserify(appjs, {
|
|
@@ -120,9 +120,9 @@ app.get("/embargoed", function (req, res) {
|
|
|
120
120
|
}); // Enable static routes
|
|
121
121
|
// --------------------
|
|
122
122
|
|
|
123
|
-
var fixturePattern = "packages/
|
|
123
|
+
var fixturePattern = "packages/{*,*/*}/test/automation/fixtures";
|
|
124
124
|
glob.sync(fixturePattern).forEach(function (fixturePath) {
|
|
125
|
-
var packageName = fixturePath.replace("packages/
|
|
125
|
+
var packageName = fixturePath.replace("packages/", "").replace("/test/automation/fixtures", "");
|
|
126
126
|
app.get("/".concat(packageName), function (req, res, next) {
|
|
127
127
|
if (!req.query.code) {
|
|
128
128
|
next();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["btoa","require","bodyParser","browserify","compression","cors","express","fs","glob","http","morgan","path","querystring","request","url","base64","app","process","env","DEBUG","use","immediate","credentials","origin","o","callback","raw","type","req","res","next","set","appPattern","sync","forEach","appjs","packageName","replace","statSync","debug","transform","get","send","router","headers","authorization","status","end","json","query","fixturePattern","fixturePath","code","state","JSON","parse","decode","exchange","method","uri","IDBROKER_BASE_URL","form","grant_type","redirect_uri","WEBEX_REDIRECT_URI","self_contained_token","auth","user","WEBEX_CLIENT_ID","pass","WEBEX_CLIENT_SECRET","sendImmediately","err","response","console","warn","statusCode","Error","body","redirect","qs","stringify","pathname","info","static","post","refresh_token","resolve","__dirname","port","SERVER_PORT","createServer","listen","log","fixtureport","FIXTURE_PORT","corsport","CORS_PORT"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint max-nested-callbacks: [2, 3] */\n/* eslint no-console: [0] */\n\n\nconst btoa = require(`btoa`);\nconst bodyParser = require(`body-parser`);\nconst browserify = require(`browserify-middleware`);\nconst compression = require(`compression`);\nconst cors = require(`cors`);\nconst express = require(`express`);\nconst fs = require(`fs`);\nconst glob = require(`glob`);\nconst http = require(`http`);\nconst morgan = require(`morgan`);\nconst path = require(`path`);\nconst querystring = require(`querystring`);\nconst request = require(`request`);\nconst url = require(`url`);\nconst base64 = require(`urlsafe-base64`);\n\nconst app = express();\n\n// Configure Logging\n// -----------------\n\nif (process.env.DEBUG) {\n app.use(morgan(`short`, {\n immediate: true\n }));\n}\n\n// Configure CORS\n// --------------\n\napp.use(cors({\n credentials: true,\n origin(o, callback) {\n callback(null, true);\n }\n}));\n\n// Configure body processing\n// -------------------------\n\napp.use(bodyParser.raw({type: `image/*`}));\n\n// Enable gzip/deflate\n// -------------------\n\napp.use(compression());\n\n// Close all connections\n// ---------------------\n\n// This *should* help tests run faster in IE, which has a very low number of\n// allowed connections to the same origin.\napp.use((req, res, next) => {\n res.set(`connection`, `close`);\n next();\n});\n\n// Configure Browserify\n// --------------------\n\nconst appPattern = `packages/node_modules/{*,*/*}/test/automation/fixtures/app.js`;\n\nglob.sync(appPattern).forEach((appjs) => {\n const packageName = appjs\n .replace(`packages/node_modules/`, ``)\n .replace(`/test/automation/fixtures/app.js`, ``);\n\n // eslint-disable-next-line no-sync\n fs.statSync(appjs);\n app.use(`/${packageName}/app.js`, browserify(appjs, {\n debug: true,\n transform: [\n `babelify`,\n `envify`\n ]\n }));\n});\n\n// Enable active routes\n// --------------------\n\napp.get('/', (req, res) => {\n res.send(`<!DOCTYPE html>\n<html>\n <head>\n <title>Redirect Dispatcher</title>\n <script>\n try {\n var state = /state=(.+?)(&.*)?$/.exec(window.location)[1]\n console.info('state', state);\n var name = JSON.parse(atob(state)).name;\n console.info('name', name);\n window.location.pathname = name;\n }\n catch(err) {\n console.warn(err);\n }\n </script>\n </head>\n <body>\n\n </body>\n</html>`);\n});\n\napp.use(`/cookies`, require(`./cookies`));\napp.use(`/json`, require(`./json`));\napp.use(`/form`, require(`./form`));\napp.use(`/files`, require(`./files`));\napp.use(`/jwt`, require(`@webex/test-helper-appid`).router);\n\napp.get(`/requires-basic-auth`, (req, res) => {\n if (req.headers.authorization === `Basic ${btoa(`basicuser:basicpass`)}`) {\n res.status(200).send().end();\n }\n else {\n res.status(403).send().end();\n }\n});\n\napp.get(`/requires-bearer-auth`, (req, res) => {\n if (req.headers.authorization === `Bearer bearertoken`) {\n res.status(200).send().end();\n }\n else {\n res.status(403).send().end();\n }\n});\n\napp.get(`/return-qs-as-object`, (req, res) => {\n res.status(200).json(req.query).end();\n});\n\napp.get(`/embargoed`, (req, res) => {\n res.status(451).end();\n});\n\n// Enable static routes\n// --------------------\n\nconst fixturePattern = `packages/node_modules/{*,*/*}/test/automation/fixtures`;\n\n\nglob.sync(fixturePattern).forEach((fixturePath) => {\n const packageName = fixturePath\n .replace(`packages/node_modules/`, ``)\n .replace(`/test/automation/fixtures`, ``);\n\n app.get(`/${packageName}`, (req, res, next) => {\n if (!req.query.code) {\n next();\n\n return;\n }\n\n const state = JSON.parse(base64.decode(req.query.state));\n\n if (state.exchange === false) {\n next();\n\n return;\n }\n\n request({\n /* eslint-disable camelcase */\n method: `POST`,\n uri: `${process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`}/idb/oauth2/v1/access_token`,\n form: {\n grant_type: `authorization_code`,\n redirect_uri: process.env.WEBEX_REDIRECT_URI,\n code: req.query.code,\n self_contained_token: true\n },\n auth: {\n user: process.env.WEBEX_CLIENT_ID,\n pass: process.env.WEBEX_CLIENT_SECRET,\n sendImmediately: true\n }\n /* eslint-enable camelcase */\n }, (err, response) => {\n if (err) {\n console.warn(`Request to CI failed with non-HTTP error`);\n next(err);\n\n return;\n }\n if (response.statusCode >= 400) {\n console.warn(`Got unexpected response from CI`);\n next(new Error(response.body));\n\n return;\n }\n let redirect = url.parse(req.url, true);\n const qs = querystring.stringify(Object.assign({state: req.query.state}, JSON.parse(response.body)));\n\n redirect = `${redirect.pathname}#${qs}`;\n\n console.info(`redirecting to ${redirect}`);\n res.redirect(redirect);\n });\n });\n app.use(`/${packageName}`, express.static(fixturePath));\n});\n\napp.post(`/refresh`, bodyParser.json(), (req, res, next) => {\n if (!req.body.refresh_token) {\n next(new Error(`\\`refresh_token\\` is required`));\n\n return;\n }\n console.info(`Refreshing access token`);\n request({\n /* eslint-disable camelcase */\n method: `POST`,\n uri: `${process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`}/idb/oauth2/v1/access_token`,\n form: {\n grant_type: `refresh_token`,\n redirect_uri: process.env.WEBEX_REDIRECT_URI,\n refresh_token: req.body.refresh_token\n },\n auth: {\n user: process.env.WEBEX_CLIENT_ID,\n pass: process.env.WEBEX_CLIENT_SECRET,\n sendImmediately: true\n }\n /* eslint-enable camelcase */\n }, (err, response) => {\n if (err) {\n console.warn(`Request to CI failed with non-HTTP error`);\n next(err);\n\n return;\n }\n if (response.statusCode >= 400) {\n console.warn(`Got unexpected response from CI`);\n next(new Error(response.body));\n\n return;\n }\n\n console.info(`Returning new access token`);\n res.status(200).json(JSON.parse(response.body)).end();\n });\n});\n\napp.use(express.static(path.resolve(__dirname, '..', `static`)));\n\n// Start the server\n// ----------------\n\nconst port = parseInt(process.env.SERVER_PORT, 10) || 8000;\n\nhttp.createServer(app).listen(port, () => {\n console.log(`Express server listening on port ${port}`);\n});\n\nconst fixtureport = parseInt(process.env.FIXTURE_PORT, 10) || 3000;\n\nhttp.createServer(app).listen(fixtureport, () => {\n console.log(`Express server listening on port ${fixtureport}`);\n});\n\nconst corsport = parseInt(process.env.CORS_PORT, 10) || 3002;\n\nhttp.createServer(app).listen(corsport, () => {\n console.log(`Express server listening on port ${corsport}`);\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["btoa","require","bodyParser","browserify","compression","cors","express","fs","glob","http","morgan","path","querystring","request","url","base64","app","process","env","DEBUG","use","immediate","credentials","origin","o","callback","raw","type","req","res","next","set","appPattern","sync","forEach","appjs","packageName","replace","statSync","debug","transform","get","send","router","headers","authorization","status","end","json","query","fixturePattern","fixturePath","code","state","JSON","parse","decode","exchange","method","uri","IDBROKER_BASE_URL","form","grant_type","redirect_uri","WEBEX_REDIRECT_URI","self_contained_token","auth","user","WEBEX_CLIENT_ID","pass","WEBEX_CLIENT_SECRET","sendImmediately","err","response","console","warn","statusCode","Error","body","redirect","qs","stringify","pathname","info","static","post","refresh_token","resolve","__dirname","port","SERVER_PORT","createServer","listen","log","fixtureport","FIXTURE_PORT","corsport","CORS_PORT"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint max-nested-callbacks: [2, 3] */\n/* eslint no-console: [0] */\n\n\nconst btoa = require(`btoa`);\nconst bodyParser = require(`body-parser`);\nconst browserify = require(`browserify-middleware`);\nconst compression = require(`compression`);\nconst cors = require(`cors`);\nconst express = require(`express`);\nconst fs = require(`fs`);\nconst glob = require(`glob`);\nconst http = require(`http`);\nconst morgan = require(`morgan`);\nconst path = require(`path`);\nconst querystring = require(`querystring`);\nconst request = require(`request`);\nconst url = require(`url`);\nconst base64 = require(`urlsafe-base64`);\n\nconst app = express();\n\n// Configure Logging\n// -----------------\n\nif (process.env.DEBUG) {\n app.use(morgan(`short`, {\n immediate: true\n }));\n}\n\n// Configure CORS\n// --------------\n\napp.use(cors({\n credentials: true,\n origin(o, callback) {\n callback(null, true);\n }\n}));\n\n// Configure body processing\n// -------------------------\n\napp.use(bodyParser.raw({type: `image/*`}));\n\n// Enable gzip/deflate\n// -------------------\n\napp.use(compression());\n\n// Close all connections\n// ---------------------\n\n// This *should* help tests run faster in IE, which has a very low number of\n// allowed connections to the same origin.\napp.use((req, res, next) => {\n res.set(`connection`, `close`);\n next();\n});\n\n// Configure Browserify\n// --------------------\n\nconst appPattern = `packages/{*,*/*}/test/automation/fixtures/app.js`;\n\nglob.sync(appPattern).forEach((appjs) => {\n const packageName = appjs\n .replace(`packages/`, ``)\n .replace(`/test/automation/fixtures/app.js`, ``);\n\n // eslint-disable-next-line no-sync\n fs.statSync(appjs);\n app.use(`/${packageName}/app.js`, browserify(appjs, {\n debug: true,\n transform: [\n `babelify`,\n `envify`\n ]\n }));\n});\n\n// Enable active routes\n// --------------------\n\napp.get('/', (req, res) => {\n res.send(`<!DOCTYPE html>\n<html>\n <head>\n <title>Redirect Dispatcher</title>\n <script>\n try {\n var state = /state=(.+?)(&.*)?$/.exec(window.location)[1]\n console.info('state', state);\n var name = JSON.parse(atob(state)).name;\n console.info('name', name);\n window.location.pathname = name;\n }\n catch(err) {\n console.warn(err);\n }\n </script>\n </head>\n <body>\n\n </body>\n</html>`);\n});\n\napp.use(`/cookies`, require(`./cookies`));\napp.use(`/json`, require(`./json`));\napp.use(`/form`, require(`./form`));\napp.use(`/files`, require(`./files`));\napp.use(`/jwt`, require(`@webex/test-helper-appid`).router);\n\napp.get(`/requires-basic-auth`, (req, res) => {\n if (req.headers.authorization === `Basic ${btoa(`basicuser:basicpass`)}`) {\n res.status(200).send().end();\n }\n else {\n res.status(403).send().end();\n }\n});\n\napp.get(`/requires-bearer-auth`, (req, res) => {\n if (req.headers.authorization === `Bearer bearertoken`) {\n res.status(200).send().end();\n }\n else {\n res.status(403).send().end();\n }\n});\n\napp.get(`/return-qs-as-object`, (req, res) => {\n res.status(200).json(req.query).end();\n});\n\napp.get(`/embargoed`, (req, res) => {\n res.status(451).end();\n});\n\n// Enable static routes\n// --------------------\n\nconst fixturePattern = `packages/{*,*/*}/test/automation/fixtures`;\n\n\nglob.sync(fixturePattern).forEach((fixturePath) => {\n const packageName = fixturePath\n .replace(`packages/`, ``)\n .replace(`/test/automation/fixtures`, ``);\n\n app.get(`/${packageName}`, (req, res, next) => {\n if (!req.query.code) {\n next();\n\n return;\n }\n\n const state = JSON.parse(base64.decode(req.query.state));\n\n if (state.exchange === false) {\n next();\n\n return;\n }\n\n request({\n /* eslint-disable camelcase */\n method: `POST`,\n uri: `${process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`}/idb/oauth2/v1/access_token`,\n form: {\n grant_type: `authorization_code`,\n redirect_uri: process.env.WEBEX_REDIRECT_URI,\n code: req.query.code,\n self_contained_token: true\n },\n auth: {\n user: process.env.WEBEX_CLIENT_ID,\n pass: process.env.WEBEX_CLIENT_SECRET,\n sendImmediately: true\n }\n /* eslint-enable camelcase */\n }, (err, response) => {\n if (err) {\n console.warn(`Request to CI failed with non-HTTP error`);\n next(err);\n\n return;\n }\n if (response.statusCode >= 400) {\n console.warn(`Got unexpected response from CI`);\n next(new Error(response.body));\n\n return;\n }\n let redirect = url.parse(req.url, true);\n const qs = querystring.stringify(Object.assign({state: req.query.state}, JSON.parse(response.body)));\n\n redirect = `${redirect.pathname}#${qs}`;\n\n console.info(`redirecting to ${redirect}`);\n res.redirect(redirect);\n });\n });\n app.use(`/${packageName}`, express.static(fixturePath));\n});\n\napp.post(`/refresh`, bodyParser.json(), (req, res, next) => {\n if (!req.body.refresh_token) {\n next(new Error(`\\`refresh_token\\` is required`));\n\n return;\n }\n console.info(`Refreshing access token`);\n request({\n /* eslint-disable camelcase */\n method: `POST`,\n uri: `${process.env.IDBROKER_BASE_URL || `https://idbroker.webex.com`}/idb/oauth2/v1/access_token`,\n form: {\n grant_type: `refresh_token`,\n redirect_uri: process.env.WEBEX_REDIRECT_URI,\n refresh_token: req.body.refresh_token\n },\n auth: {\n user: process.env.WEBEX_CLIENT_ID,\n pass: process.env.WEBEX_CLIENT_SECRET,\n sendImmediately: true\n }\n /* eslint-enable camelcase */\n }, (err, response) => {\n if (err) {\n console.warn(`Request to CI failed with non-HTTP error`);\n next(err);\n\n return;\n }\n if (response.statusCode >= 400) {\n console.warn(`Got unexpected response from CI`);\n next(new Error(response.body));\n\n return;\n }\n\n console.info(`Returning new access token`);\n res.status(200).json(JSON.parse(response.body)).end();\n });\n});\n\napp.use(express.static(path.resolve(__dirname, '..', `static`)));\n\n// Start the server\n// ----------------\n\nconst port = parseInt(process.env.SERVER_PORT, 10) || 8000;\n\nhttp.createServer(app).listen(port, () => {\n console.log(`Express server listening on port ${port}`);\n});\n\nconst fixtureport = parseInt(process.env.FIXTURE_PORT, 10) || 3000;\n\nhttp.createServer(app).listen(fixtureport, () => {\n console.log(`Express server listening on port ${fixtureport}`);\n});\n\nconst corsport = parseInt(process.env.CORS_PORT, 10) || 3002;\n\nhttp.createServer(app).listen(corsport, () => {\n console.log(`Express server listening on port ${corsport}`);\n});\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;;AAEA;;AACA;AAGA,IAAMA,IAAI,GAAGC,OAAO,QAApB;;AACA,IAAMC,UAAU,GAAGD,OAAO,eAA1B;;AACA,IAAME,UAAU,GAAGF,OAAO,yBAA1B;;AACA,IAAMG,WAAW,GAAGH,OAAO,eAA3B;;AACA,IAAMI,IAAI,GAAGJ,OAAO,QAApB;;AACA,IAAMK,OAAO,GAAGL,OAAO,WAAvB;;AACA,IAAMM,EAAE,GAAGN,OAAO,MAAlB;;AACA,IAAMO,IAAI,GAAGP,OAAO,QAApB;;AACA,IAAMQ,IAAI,GAAGR,OAAO,QAApB;;AACA,IAAMS,MAAM,GAAGT,OAAO,UAAtB;;AACA,IAAMU,IAAI,GAAGV,OAAO,QAApB;;AACA,IAAMW,WAAW,GAAGX,OAAO,eAA3B;;AACA,IAAMY,OAAO,GAAGZ,OAAO,WAAvB;;AACA,IAAMa,GAAG,GAAGb,OAAO,OAAnB;;AACA,IAAMc,MAAM,GAAGd,OAAO,kBAAtB;;AAEA,IAAMe,GAAG,GAAGV,OAAO,EAAnB,C,CAEA;AACA;;AAEA,IAAIW,OAAO,CAACC,GAAR,CAAYC,KAAhB,EAAuB;EACrBH,GAAG,CAACI,GAAJ,CAAQV,MAAM,UAAU;IACtBW,SAAS,EAAE;EADW,CAAV,CAAd;AAGD,C,CAED;AACA;;;AAEAL,GAAG,CAACI,GAAJ,CAAQf,IAAI,CAAC;EACXiB,WAAW,EAAE,IADF;EAEXC,MAFW,kBAEJC,CAFI,EAEDC,QAFC,EAES;IAClBA,QAAQ,CAAC,IAAD,EAAO,IAAP,CAAR;EACD;AAJU,CAAD,CAAZ,E,CAOA;AACA;;AAEAT,GAAG,CAACI,GAAJ,CAAQlB,UAAU,CAACwB,GAAX,CAAe;EAACC,IAAI;AAAL,CAAf,CAAR,E,CAEA;AACA;;AAEAX,GAAG,CAACI,GAAJ,CAAQhB,WAAW,EAAnB,E,CAEA;AACA;AAEA;AACA;;AACAY,GAAG,CAACI,GAAJ,CAAQ,UAACQ,GAAD,EAAMC,GAAN,EAAWC,IAAX,EAAoB;EAC1BD,GAAG,CAACE,GAAJ;EACAD,IAAI;AACL,CAHD,E,CAKA;AACA;;AAEA,IAAME,UAAU,qDAAhB;AAEAxB,IAAI,CAACyB,IAAL,CAAUD,UAAV,EAAsBE,OAAtB,CAA8B,UAACC,KAAD,EAAW;EACvC,IAAMC,WAAW,GAAGD,KAAK,CACtBE,OADiB,kBAEjBA,OAFiB,wCAApB,CADuC,CAKvC;;EACA9B,EAAE,CAAC+B,QAAH,CAAYH,KAAZ;EACAnB,GAAG,CAACI,GAAJ,YAAYgB,WAAZ,cAAkCjC,UAAU,CAACgC,KAAD,EAAQ;IAClDI,KAAK,EAAE,IAD2C;IAElDC,SAAS,EAAE;EAFuC,CAAR,CAA5C;AAOD,CAdD,E,CAgBA;AACA;;AAEAxB,GAAG,CAACyB,GAAJ,CAAQ,GAAR,EAAa,UAACb,GAAD,EAAMC,GAAN,EAAc;EACzBA,GAAG,CAACa,IAAJ;AAqBD,CAtBD;AAwBA1B,GAAG,CAACI,GAAJ,aAAoBnB,OAAO,aAA3B;AACAe,GAAG,CAACI,GAAJ,UAAiBnB,OAAO,UAAxB;AACAe,GAAG,CAACI,GAAJ,UAAiBnB,OAAO,UAAxB;AACAe,GAAG,CAACI,GAAJ,WAAkBnB,OAAO,WAAzB;AACAe,GAAG,CAACI,GAAJ,SAAgBnB,OAAO,4BAAP,CAAoC0C,MAApD;AAEA3B,GAAG,CAACyB,GAAJ,yBAAgC,UAACb,GAAD,EAAMC,GAAN,EAAc;EAC5C,IAAID,GAAG,CAACgB,OAAJ,CAAYC,aAAZ,qBAAuC7C,IAAI,uBAA3C,CAAJ,EAA0E;IACxE6B,GAAG,CAACiB,MAAJ,CAAW,GAAX,EAAgBJ,IAAhB,GAAuBK,GAAvB;EACD,CAFD,MAGK;IACHlB,GAAG,CAACiB,MAAJ,CAAW,GAAX,EAAgBJ,IAAhB,GAAuBK,GAAvB;EACD;AACF,CAPD;AASA/B,GAAG,CAACyB,GAAJ,0BAAiC,UAACb,GAAD,EAAMC,GAAN,EAAc;EAC7C,IAAID,GAAG,CAACgB,OAAJ,CAAYC,aAAZ,yBAAJ,EAAwD;IACtDhB,GAAG,CAACiB,MAAJ,CAAW,GAAX,EAAgBJ,IAAhB,GAAuBK,GAAvB;EACD,CAFD,MAGK;IACHlB,GAAG,CAACiB,MAAJ,CAAW,GAAX,EAAgBJ,IAAhB,GAAuBK,GAAvB;EACD;AACF,CAPD;AASA/B,GAAG,CAACyB,GAAJ,yBAAgC,UAACb,GAAD,EAAMC,GAAN,EAAc;EAC5CA,GAAG,CAACiB,MAAJ,CAAW,GAAX,EAAgBE,IAAhB,CAAqBpB,GAAG,CAACqB,KAAzB,EAAgCF,GAAhC;AACD,CAFD;AAIA/B,GAAG,CAACyB,GAAJ,eAAsB,UAACb,GAAD,EAAMC,GAAN,EAAc;EAClCA,GAAG,CAACiB,MAAJ,CAAW,GAAX,EAAgBC,GAAhB;AACD,CAFD,E,CAIA;AACA;;AAEA,IAAMG,cAAc,8CAApB;AAGA1C,IAAI,CAACyB,IAAL,CAAUiB,cAAV,EAA0BhB,OAA1B,CAAkC,UAACiB,WAAD,EAAiB;EACjD,IAAMf,WAAW,GAAGe,WAAW,CAC5Bd,OADiB,kBAEjBA,OAFiB,iCAApB;EAIArB,GAAG,CAACyB,GAAJ,YAAYL,WAAZ,GAA2B,UAACR,GAAD,EAAMC,GAAN,EAAWC,IAAX,EAAoB;IAC7C,IAAI,CAACF,GAAG,CAACqB,KAAJ,CAAUG,IAAf,EAAqB;MACnBtB,IAAI;MAEJ;IACD;;IAED,IAAMuB,KAAK,GAAGC,IAAI,CAACC,KAAL,CAAWxC,MAAM,CAACyC,MAAP,CAAc5B,GAAG,CAACqB,KAAJ,CAAUI,KAAxB,CAAX,CAAd;;IAEA,IAAIA,KAAK,CAACI,QAAN,KAAmB,KAAvB,EAA8B;MAC5B3B,IAAI;MAEJ;IACD;;IAEDjB,OAAO,CAAC;MACN;MACA6C,MAAM,QAFA;MAGNC,GAAG,YAAK1C,OAAO,CAACC,GAAR,CAAY0C,iBAAZ,gCAAL,gCAHG;MAINC,IAAI,EAAE;QACJC,UAAU,sBADN;QAEJC,YAAY,EAAE9C,OAAO,CAACC,GAAR,CAAY8C,kBAFtB;QAGJZ,IAAI,EAAExB,GAAG,CAACqB,KAAJ,CAAUG,IAHZ;QAIJa,oBAAoB,EAAE;MAJlB,CAJA;MAUNC,IAAI,EAAE;QACJC,IAAI,EAAElD,OAAO,CAACC,GAAR,CAAYkD,eADd;QAEJC,IAAI,EAAEpD,OAAO,CAACC,GAAR,CAAYoD,mBAFd;QAGJC,eAAe,EAAE;MAHb;MAKN;;IAfM,CAAD,EAgBJ,UAACC,GAAD,EAAMC,QAAN,EAAmB;MACpB,IAAID,GAAJ,EAAS;QACPE,OAAO,CAACC,IAAR;QACA7C,IAAI,CAAC0C,GAAD,CAAJ;QAEA;MACD;;MACD,IAAIC,QAAQ,CAACG,UAAT,IAAuB,GAA3B,EAAgC;QAC9BF,OAAO,CAACC,IAAR;QACA7C,IAAI,CAAC,IAAI+C,KAAJ,CAAUJ,QAAQ,CAACK,IAAnB,CAAD,CAAJ;QAEA;MACD;;MACD,IAAIC,QAAQ,GAAGjE,GAAG,CAACyC,KAAJ,CAAU3B,GAAG,CAACd,GAAd,EAAmB,IAAnB,CAAf;MACA,IAAMkE,EAAE,GAAGpE,WAAW,CAACqE,SAAZ,CAAsB,qBAAc;QAAC5B,KAAK,EAAEzB,GAAG,CAACqB,KAAJ,CAAUI;MAAlB,CAAd,EAAwCC,IAAI,CAACC,KAAL,CAAWkB,QAAQ,CAACK,IAApB,CAAxC,CAAtB,CAAX;MAEAC,QAAQ,aAAMA,QAAQ,CAACG,QAAf,cAA2BF,EAA3B,CAAR;MAEAN,OAAO,CAACS,IAAR,0BAA+BJ,QAA/B;MACAlD,GAAG,CAACkD,QAAJ,CAAaA,QAAb;IACD,CApCM,CAAP;EAqCD,CApDD;EAqDA/D,GAAG,CAACI,GAAJ,YAAYgB,WAAZ,GAA2B9B,OAAO,CAAC8E,MAAR,CAAejC,WAAf,CAA3B;AACD,CA3DD;AA6DAnC,GAAG,CAACqE,IAAJ,aAAqBnF,UAAU,CAAC8C,IAAX,EAArB,EAAwC,UAACpB,GAAD,EAAMC,GAAN,EAAWC,IAAX,EAAoB;EAC1D,IAAI,CAACF,GAAG,CAACkD,IAAJ,CAASQ,aAAd,EAA6B;IAC3BxD,IAAI,CAAC,IAAI+C,KAAJ,+BAAD,CAAJ;IAEA;EACD;;EACDH,OAAO,CAACS,IAAR;EACAtE,OAAO,CAAC;IACN;IACA6C,MAAM,QAFA;IAGNC,GAAG,YAAK1C,OAAO,CAACC,GAAR,CAAY0C,iBAAZ,gCAAL,gCAHG;IAINC,IAAI,EAAE;MACJC,UAAU,iBADN;MAEJC,YAAY,EAAE9C,OAAO,CAACC,GAAR,CAAY8C,kBAFtB;MAGJsB,aAAa,EAAE1D,GAAG,CAACkD,IAAJ,CAASQ;IAHpB,CAJA;IASNpB,IAAI,EAAE;MACJC,IAAI,EAAElD,OAAO,CAACC,GAAR,CAAYkD,eADd;MAEJC,IAAI,EAAEpD,OAAO,CAACC,GAAR,CAAYoD,mBAFd;MAGJC,eAAe,EAAE;IAHb;IAKN;;EAdM,CAAD,EAeJ,UAACC,GAAD,EAAMC,QAAN,EAAmB;IACpB,IAAID,GAAJ,EAAS;MACPE,OAAO,CAACC,IAAR;MACA7C,IAAI,CAAC0C,GAAD,CAAJ;MAEA;IACD;;IACD,IAAIC,QAAQ,CAACG,UAAT,IAAuB,GAA3B,EAAgC;MAC9BF,OAAO,CAACC,IAAR;MACA7C,IAAI,CAAC,IAAI+C,KAAJ,CAAUJ,QAAQ,CAACK,IAAnB,CAAD,CAAJ;MAEA;IACD;;IAEDJ,OAAO,CAACS,IAAR;IACAtD,GAAG,CAACiB,MAAJ,CAAW,GAAX,EAAgBE,IAAhB,CAAqBM,IAAI,CAACC,KAAL,CAAWkB,QAAQ,CAACK,IAApB,CAArB,EAAgD/B,GAAhD;EACD,CA/BM,CAAP;AAgCD,CAvCD;AAyCA/B,GAAG,CAACI,GAAJ,CAAQd,OAAO,CAAC8E,MAAR,CAAezE,IAAI,CAAC4E,OAAL,CAAaC,SAAb,EAAwB,IAAxB,WAAf,CAAR,E,CAEA;AACA;;AAEA,IAAMC,IAAI,GAAG,wBAASxE,OAAO,CAACC,GAAR,CAAYwE,WAArB,EAAkC,EAAlC,KAAyC,IAAtD;AAEAjF,IAAI,CAACkF,YAAL,CAAkB3E,GAAlB,EAAuB4E,MAAvB,CAA8BH,IAA9B,EAAoC,YAAM;EACxCf,OAAO,CAACmB,GAAR,4CAAgDJ,IAAhD;AACD,CAFD;AAIA,IAAMK,WAAW,GAAG,wBAAS7E,OAAO,CAACC,GAAR,CAAY6E,YAArB,EAAmC,EAAnC,KAA0C,IAA9D;AAEAtF,IAAI,CAACkF,YAAL,CAAkB3E,GAAlB,EAAuB4E,MAAvB,CAA8BE,WAA9B,EAA2C,YAAM;EAC/CpB,OAAO,CAACmB,GAAR,4CAAgDC,WAAhD;AACD,CAFD;AAIA,IAAME,QAAQ,GAAG,wBAAS/E,OAAO,CAACC,GAAR,CAAY+E,SAArB,EAAgC,EAAhC,KAAuC,IAAxD;AAEAxF,IAAI,CAACkF,YAAL,CAAkB3E,GAAlB,EAAuB4E,MAAvB,CAA8BI,QAA9B,EAAwC,YAAM;EAC5CtB,OAAO,CAACmB,GAAR,4CAAgDG,QAAhD;AACD,CAFD"}
|
package/package.json
CHANGED
|
@@ -1,35 +1,28 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"cookie-parser": "^1.4.4",
|
|
29
|
-
"mkdirp": "^0.5.1",
|
|
30
|
-
"multer": "^1.4.2",
|
|
31
|
-
"uuid": "^3.3.2",
|
|
32
|
-
"@webex/test-helper-appid": "2.29.3",
|
|
33
|
-
"envify": "^4.1.0"
|
|
34
|
-
}
|
|
2
|
+
"name": "@webex/test-helper-server",
|
|
3
|
+
"version": "2.30.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"repository": "https://github.com/webex/webex-js-sdk/tree/master/packages/@webex/test-helper-server",
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": ">=14"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@webex/test-helper-appid": "workspace:^",
|
|
13
|
+
"body-parser": "^1.19.0",
|
|
14
|
+
"browserify-middleware": "^8.1.1",
|
|
15
|
+
"btoa": "^1.2.1",
|
|
16
|
+
"compression": "^1.7.4",
|
|
17
|
+
"cookie-parser": "^1.4.4",
|
|
18
|
+
"cors": "^2.8.5",
|
|
19
|
+
"express": "^4.17.1",
|
|
20
|
+
"glob": "^7.1.4",
|
|
21
|
+
"mkdirp": "^0.5.1",
|
|
22
|
+
"morgan": "^1.9.1",
|
|
23
|
+
"multer": "^1.4.2",
|
|
24
|
+
"request": "^2.88.0",
|
|
25
|
+
"urlsafe-base64": "^1.0.0",
|
|
26
|
+
"uuid": "^3.3.2"
|
|
27
|
+
}
|
|
35
28
|
}
|
package/src/index.js
CHANGED
|
@@ -66,11 +66,11 @@ app.use((req, res, next) => {
|
|
|
66
66
|
// Configure Browserify
|
|
67
67
|
// --------------------
|
|
68
68
|
|
|
69
|
-
const appPattern = `packages/
|
|
69
|
+
const appPattern = `packages/{*,*/*}/test/automation/fixtures/app.js`;
|
|
70
70
|
|
|
71
71
|
glob.sync(appPattern).forEach((appjs) => {
|
|
72
72
|
const packageName = appjs
|
|
73
|
-
.replace(`packages
|
|
73
|
+
.replace(`packages/`, ``)
|
|
74
74
|
.replace(`/test/automation/fixtures/app.js`, ``);
|
|
75
75
|
|
|
76
76
|
// eslint-disable-next-line no-sync
|
|
@@ -146,12 +146,12 @@ app.get(`/embargoed`, (req, res) => {
|
|
|
146
146
|
// Enable static routes
|
|
147
147
|
// --------------------
|
|
148
148
|
|
|
149
|
-
const fixturePattern = `packages/
|
|
149
|
+
const fixturePattern = `packages/{*,*/*}/test/automation/fixtures`;
|
|
150
150
|
|
|
151
151
|
|
|
152
152
|
glob.sync(fixturePattern).forEach((fixturePath) => {
|
|
153
153
|
const packageName = fixturePath
|
|
154
|
-
.replace(`packages
|
|
154
|
+
.replace(`packages/`, ``)
|
|
155
155
|
.replace(`/test/automation/fixtures`, ``);
|
|
156
156
|
|
|
157
157
|
app.get(`/${packageName}`, (req, res, next) => {
|