From be598d56a71b42de42da278a69855f99c1e0a84d Mon Sep 17 00:00:00 2001 From: Diego Couttenye Date: Fri, 19 Jul 2019 19:13:21 -0400 Subject: [PATCH 1/4] Fixed side-runner foreach command --- packages/selianize/src/command.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/selianize/src/command.js b/packages/selianize/src/command.js index 59bbeb721b..75b28ed8bc 100644 --- a/packages/selianize/src/command.js +++ b/packages/selianize/src/command.js @@ -1,4 +1,4 @@ -// Licensed to the Software Freedom Conservancy (SFC) under one +// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file @@ -802,7 +802,7 @@ function emitControlFlowWhile(target) { function emitControlFlowForEach(collectionVarName, iteratorVarName) { return Promise.resolve( - `for (let i = 0; i < vars["${collectionVarName}"].length - 1; i++) {vars["${iteratorVarName}"] = vars["${collectionVarName}"][i];` + `for (let i = 0; i < vars["${collectionVarName}"].length; i++) {vars["${iteratorVarName}"] = vars["${collectionVarName}"][i];` ) } From 59f33f82f1013fdc7f6cafb470367f0392404c79 Mon Sep 17 00:00:00 2001 From: cdifino Date: Tue, 23 Jul 2019 18:01:13 -0700 Subject: [PATCH 2/4] Fixed Test for foreach in Selianize Fixed the for each test. --- packages/selianize/__tests__/command.spec.js | 2 +- packages/selianize/yarn.lock | 4 ---- packages/side-utils/yarn.lock | 5 ----- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/packages/selianize/__tests__/command.spec.js b/packages/selianize/__tests__/command.spec.js index a58fe01ba2..a12af63b3d 100644 --- a/packages/selianize/__tests__/command.spec.js +++ b/packages/selianize/__tests__/command.spec.js @@ -1163,7 +1163,7 @@ describe('command code emitter', () => { value: 'iterator', } return expect(CommandEmitter.emit(command)).resolves.toBe( - `for (let i = 0; i < vars["collection"].length - 1; i++) {vars["iterator"] = vars["collection"][i];` + `for (let i = 0; i < vars["collection"].length; i++) {vars["iterator"] = vars["collection"][i];` ) }) it('should emit `assert` command', () => { diff --git a/packages/selianize/yarn.lock b/packages/selianize/yarn.lock index 4609872fe5..1f87357563 100644 --- a/packages/selianize/yarn.lock +++ b/packages/selianize/yarn.lock @@ -1127,10 +1127,6 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== -js-string-escape@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" diff --git a/packages/side-utils/yarn.lock b/packages/side-utils/yarn.lock index 68e5079872..f31289d921 100644 --- a/packages/side-utils/yarn.lock +++ b/packages/side-utils/yarn.lock @@ -1327,11 +1327,6 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== -js-string-escape@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" - integrity sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8= - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" From cfd41ea6ec0df07b5d5f00c3fb2ba8838e06acde Mon Sep 17 00:00:00 2001 From: cdifino Date: Mon, 16 Sep 2019 14:43:14 -0700 Subject: [PATCH 3/4] modified api so it gives an error if plugin is not registered --- packages/selenium-ide/src/api/index.js | 11 +++++++++++ packages/selenium-ide/src/api/v1/index.js | 2 +- packages/selenium-ide/src/router/index.js | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/selenium-ide/src/api/index.js b/packages/selenium-ide/src/api/index.js index 10b68f0ab2..b9fd246afc 100644 --- a/packages/selenium-ide/src/api/index.js +++ b/packages/selenium-ide/src/api/index.js @@ -17,6 +17,7 @@ import Router from '../router' import apiv1 from './v1' +import Manager from '../plugin/manager' const router = new Router() router.use('/v1', apiv1) @@ -26,6 +27,16 @@ export default function(message, _backgroundPage, sendResponse) { // The sender is always the background page since he is the one listening to the event // message.sender is the external extension id if (message.uri) { + if ( + message.uri !== '/health' && + message.uri !== '/register' && + !Manager.hasPlugin(message.payload.sender) + ) { + return sendResponse({ + error: + 'Plugin is not registered with Selenium IDE, send a request to /register first', + }) + } router .run(message) .then(sendResponse) diff --git a/packages/selenium-ide/src/api/v1/index.js b/packages/selenium-ide/src/api/v1/index.js index 61083d9125..cb97682ccc 100644 --- a/packages/selenium-ide/src/api/v1/index.js +++ b/packages/selenium-ide/src/api/v1/index.js @@ -63,8 +63,8 @@ router.get('/project', (_req, res) => { }) router.post('/project', (req, res) => { + const plugin = Manager.getPlugin(req.sender) if (req.project) { - const plugin = Manager.getPlugin(req.sender) if (!UiState.isSaved()) { ModalState.showAlert({ title: 'Open project without saving', diff --git a/packages/selenium-ide/src/router/index.js b/packages/selenium-ide/src/router/index.js index 0056bfc787..de1218f65d 100644 --- a/packages/selenium-ide/src/router/index.js +++ b/packages/selenium-ide/src/router/index.js @@ -16,6 +16,8 @@ // under the License. import Route from './route' +import Manager from '../plugin/manager' + export default class Router { constructor() { From 5912a24ba2e3c3051ff35ddde57dfc6fab9b79f9 Mon Sep 17 00:00:00 2001 From: cdifino Date: Mon, 16 Sep 2019 14:58:16 -0700 Subject: [PATCH 4/4] prettier to api index and router index --- packages/selenium-ide/src/api/index.js | 2 +- packages/selenium-ide/src/router/index.js | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/selenium-ide/src/api/index.js b/packages/selenium-ide/src/api/index.js index b9fd246afc..7c22fa52c2 100644 --- a/packages/selenium-ide/src/api/index.js +++ b/packages/selenium-ide/src/api/index.js @@ -34,7 +34,7 @@ export default function(message, _backgroundPage, sendResponse) { ) { return sendResponse({ error: - 'Plugin is not registered with Selenium IDE, send a request to /register first', + 'Plugin is not registered with Selenium IDE, send a request to /register first', }) } router diff --git a/packages/selenium-ide/src/router/index.js b/packages/selenium-ide/src/router/index.js index de1218f65d..0056bfc787 100644 --- a/packages/selenium-ide/src/router/index.js +++ b/packages/selenium-ide/src/router/index.js @@ -16,8 +16,6 @@ // under the License. import Route from './route' -import Manager from '../plugin/manager' - export default class Router { constructor() {