Commit Graph

1249 Commits

Author SHA1 Message Date
Ben Hardill 4e8c0573c4
Re-enable as many http-request proxy tests as possible 2021-06-08 11:46:54 +01:00
Nick O'Leary ce905ba2c4
Merge branch 'master' into dev 2021-06-08 11:44:31 +01:00
Nick O'Leary 7bf938901a
Merge branch 'pr_2952' into dev 2021-06-08 11:09:56 +01:00
Nick O'Leary 4edea59ab1
Merge branch 'pr_2990' into dev 2021-06-08 10:56:57 +01:00
Ben Hardill 17a139f27f
Start to add HTTP-PROXY tests back in 2021-06-08 10:30:24 +01:00
Nick O'Leary dbbdd3f799
Update to latest cheerio module 2021-06-08 09:31:27 +01:00
Ben Hardill bd1943626b
Add more comment 2021-06-07 16:00:07 +01:00
Ben Hardill 33f8c9747d
Comment out HTTP Proxy tests
These have been removed because the mock proxy doesn't
support using the HTTP CONNECT verb and the new Got based
http-request node only uses CONNET for proxied content
2021-06-07 13:00:02 +01:00
Nick O'Leary 7c02e4d66a
Merge branch 'master' into dev 2021-06-02 15:40:56 +01:00
Nick O'Leary 711794cfe1
Merge pull request #2993 from Steve-Mcl/master
ensure context get/set key is a string
2021-06-02 15:20:25 +01:00
Nick O'Leary 3d405f8c63
Merge pull request #2969 from node-red/ajv-update
Update ajv to 8.2.0 - drop support for JSON-Schema draft-04
2021-05-27 12:17:51 +01:00
Steve-Mcl a92f0c4c6e fix context key validation + add tests
- adds a helper function validateContextKey to keep it DRY
- adds tests ensure key of null "" 1 {} [] [""] [1] [{}] all throw error
2021-05-26 13:04:09 +01:00
Hiroyasu Nishiyama bb1b3727cb add test case 2021-05-23 10:42:28 +09:00
Steve-Mcl 845567d1ba add 2 tests for user inject values 2021-05-20 22:53:32 +01:00
Nick O'Leary 74628b7034
Update debug tests to handle compact comms format 2021-05-13 14:18:11 +01:00
Nick O'Leary 71ba73b38f
Merge branch 'master' into dev 2021-05-04 11:19:05 +01:00
Nick O'Leary 00caa13a12
Update externalModules_spec to handle variable npm args length 2021-04-29 11:04:19 +01:00
Nick O'Leary cfc0135e86
Update ajv to 8.2.0 - drop support for JSON-Schema draft-04 2021-04-29 10:48:26 +01:00
Nick O'Leary 7df1a03b4b
Handle subflow modules that contain subflows 2021-04-28 21:50:00 +01:00
Hiroyasu Nishiyama 70433f3d05 fix grunt fail on exec node test 2021-04-28 21:40:17 +09:00
Nick O'Leary 4133f9c56f
Merge pull request #2936 from node-red/npm-install-hooks
Add pre/postInstall hooks to npm install handling
2021-04-27 10:57:14 +01:00
Nick O'Leary 53055064e1
Merge pull request #2932 from node-red/file-cwd-setting
File node: Add fileWorkingDirectory to customise how relative paths are resolved
2021-04-27 10:49:02 +01:00
Nick O'Leary f7210effec
Rework hooks structure to be a linkedlist
Allows for safe removal of hooks whilst they are being invoked
2021-04-26 21:14:42 +01:00
Dave Conway-Jones f8abf9fce1
add another test to csv 2021-04-25 08:53:18 +01:00
Nick O'Leary e23f20227a
Initial migration from request to got for http-request node 2021-04-23 14:19:15 +01:00
Dave Conway-Jones 9f1deb0c36
CSV Add couple more special character tests just to make sure 2021-04-23 11:19:23 +01:00
Dave Conway-Jones 4cebbf8d22
Fix CSV handling of special chars as separators
(ie escape regex special chars)
and add tests
to close #2950
2021-04-23 10:47:23 +01:00
Kazuhito Yokoi a20049c82a
Delay node enhancements (#2294)
* Remove unused messages in message catalog

* Support msg.rate in delay node

* Support nodeMessageBufferMaxLength in delay node

* Add logging function for queue size

* Support msg.nodeMessageBufferMaxLength

* Revert "Support msg.nodeMessageBufferMaxLength"

This reverts commit cc72f892f7.

* Improve logging function for delay node

* Add support for Messaging API to delay node

* Add documentation about msg.rate in delay node

* Add test cases for msg.rate in delay node

Co-authored-by: Dave Conway-Jones <dceejay@users.noreply.github.com>
2021-04-22 09:01:28 +01:00
Nick O'Leary 250005ad16
Allow npm install args to be customised by preInstall trigger 2021-04-20 22:55:06 +01:00
Nick O'Leary b4a03a56b4
Allow preInstall hook to return false to skip npm install 2021-04-19 20:29:30 +01:00
Dave Conway-Jones 73063df11b
Pull in RBE node and push out tail 2021-04-19 13:09:13 +01:00
Nick O'Leary d2432716ea
Fix hook requires in unit tests 2021-04-15 15:30:02 +01:00
Nick O'Leary 52ef85cba3
Update test for latest sinon 2021-04-15 15:15:52 +01:00
Nick O'Leary 8140057bea
Add pre/postInstall hooks to module install path 2021-04-15 15:12:40 +01:00
Nick O'Leary 22df59e229
Update hooks api to support promise api 2021-04-15 15:12:35 +01:00
Nick O'Leary ed351eee54
Move hooks to util package 2021-04-15 15:12:30 +01:00
Nick O'Leary aac2a8f830
File node: Add fileWorkingDirectory to customise how relative paths are resolved 2021-04-12 18:00:58 +01:00
Dave Conway-Jones 858b3d640a
fix CSV parsing with other than , separator
(and joining as well...
and add tests
to close #2925
2021-04-10 22:17:31 +01:00
Nick O'Leary 877c463494
Update to latest sinon 2021-04-09 11:22:57 +01:00
Kristian Heljas 7b8ed487e9
Function node: add `node.outputCount` property to sandbox (#2918)
* Function node: add `node.outputs` property to sandbox

https://discourse.nodered.org/t/expose-configured-output-count-to-function-node-i-can-pr/43848

* style: indetation for function node sanbox code

I guess this was unintentionally unindented in d51aefa156 (diff-24cd715c3b7405ea194bfdc0dc2a350ceb2f5d18696b8163c3e40105b981a666)

* Function node: tests for accessing node properties

consistently tests that `node.id`, `node.name` and `node.outputs`
are available in `init()`, `func()` and `finalize()` methods.

* Function node: rename `node.outputs` to `node.outputCount`

https://discourse.nodered.org/t/expose-configured-output-count-to-function-node-i-can-pr/43848/9?u=kristian
2021-04-08 14:52:02 +01:00
Nick O'Leary f0f2eefb59
Merge branch 'pr_2908' into dev 2021-03-31 23:50:30 +01:00
Nick O'Leary bdb548ffdc
Exec node: remove addpayValue and reuse addpay to track appending property 2021-03-31 23:50:00 +01:00
Nick O'Leary d555fcf7bd
Merge pull request #2903 from node-red/plugin-resources
Allow module to provide resources and automatically expose them
2021-03-30 22:50:36 +01:00
Nick O'Leary 8da00c0872
Fix Switch node handling of hasKey rule when property is undefined 2021-03-30 21:37:39 +01:00
Kazuhito Yokoi cb72d5100e Remove type for typedInput in exec node 2021-03-22 20:24:12 +09:00
Kazuhito Yokoi f103533852 Support typedInput in msg.payload field of exec node 2021-03-22 16:19:55 +09:00
Nick O'Leary 8543613563
Allow module to provide resources and automatically expose them 2021-03-15 21:06:10 +00:00
Dave Conway-Jones df90e3414d
CSV better handling of messages with incoming parts - to create array output
and add tests (apologies for the massive reformat of test file) - but honestly there are two new tests
2021-03-11 12:47:54 +00:00
Dave Conway-Jones 16b9abbe92
redo CSV fix for commas in header template 2021-03-11 09:34:30 +00:00
Nick O'Leary 99a9e3a91b
Fix handling encrypted creds on /flows api 2021-03-06 20:27:51 +00:00
Nick O'Leary 0566a2d9b1
Fix function node tests use of RED.settings 2021-03-02 00:12:41 +00:00
Nick O'Leary 3d23d1de4f
Merge pull request #2873 from node-red/function-modules
Function node external modules
2021-03-01 21:35:31 +00:00
Nick O'Leary c9c5f7f088
Fix functionExternalModules tests 2021-03-01 21:34:37 +00:00
Dave Conway-Jones fc709ba266
revert CSV node to commas in headers fix level 2021-02-26 14:34:38 +00:00
Nick O'Leary 0dc4440a99
Merge branch 'master' into dev 2021-02-25 17:56:01 +00:00
Nick O'Leary 3af77b6a31
Merge pull request #2785 from node-red/library-plugins
Library plugins
2021-02-25 16:05:23 +00:00
Nick O'Leary e6f1394a74
Merge pull request #2869 from node-red/Fix-join-node-array-index-and-reset
Fix join node array index and reset
2021-02-25 15:59:54 +00:00
Nick O'Leary 5012568464
Stop config nodes after flow nodes
Fixes #2876
2021-02-19 20:44:01 +00:00
Nick O'Leary b41c7962c2
Add tests for pluggable library 2021-02-19 15:24:56 +00:00
Nick O'Leary 3f9a29730f
Add partial implementation of adding library sources via editor
This adds lots of commented out code that provides a settings panel
to add new library sources. It is incomplete as it doesn't actually
add/update the library sources on the runtime.

For 1.3, I'm focussing on allowing additional sources get added
via the settings file only. I've done enough work on the editor
side to convince myself more work is needed than I can justify
at this time on what is otherwise not going to be a widely
used feature.
2021-02-18 11:58:23 +00:00
Nick O'Leary 8a076c01ab
Support for library source plugins 2021-02-18 11:58:22 +00:00
Nick O'Leary 785c349adc
Prevent function module overwriting built-in sandbox properties 2021-02-16 13:58:59 +00:00
Nick O'Leary 9d34abf603
Function node: test modules identified in libs are added to sandbox 2021-02-15 20:59:37 +00:00
Nick O'Leary 05beb6ca79
Add unit tests for externalModules 2021-02-15 17:28:14 +00:00
Nick O'Leary d2c9ccbfdd
Detect externalModule dependencies inside subflow modules
Not sure this is 100% the right approach. If a subflow module has a dependency
it should be in the subflow's package.json and therefore installed next to the
subflow module in ~/.node-red/node_modules.

By treating it as a 'normal' external module, it will be dynamically installed
in ~/.node-red/externalModules. That then exposes the module to the user
who won't know why its there and may remove it.

It would be better to allow nodes inside a subflow module to require
from ~/.node-red/node_modules and not limit it to the externalModules
dir. The hard part is knowing when to do that.
2021-02-14 00:02:08 +00:00
Nick O'Leary 6336ab121e
Merge branch 'dev' into function-modules 2021-02-13 00:21:27 +00:00
Nick O'Leary e899d2d5b8
Fix tests for externalModules component 2021-02-13 00:18:04 +00:00
Nick O'Leary 9c09ee3b71
Rework Function node module integration 2021-02-12 18:14:13 +00:00
Dave Conway-Jones 302c5cfe09
CSV node - handle commas in msg.columns if quoted.
and add more tests
To close #2860
2021-02-12 16:55:41 +00:00
Dave Conway-Jones 4cd9b7b050
fix join node in array mode with repeated messages, and rallow reset all
to close #2866
2021-02-09 17:27:58 +00:00
Dave Conway-Jones 4313cbaa5c
fix csv node template reset when array complete
and add tests
to close #2853
2021-02-02 14:20:46 +00:00
Nick O'Leary f5da2eb633
Merge branch 'master' into dev 2021-02-02 13:45:43 +00:00
Nick O'Leary 23f0cd3a26
Bump for 1.2.8 2021-02-02 13:11:33 +00:00
Nick O'Leary 3a0074d96e
Merge branch 'master' into dev 2021-01-27 23:28:19 +00:00
Nick O'Leary 575d07e41a
Merge pull request #2836 from node-red/theme-plugins
Add support for Theme Plugins
2021-01-27 20:45:59 +00:00
Nick O'Leary 24da3608c4
Merge pull request #2779 from node-red/plugins
Plugins
2021-01-27 20:37:35 +00:00
Nick O'Leary 438d51d26e
Allow nested msg properties in msg/flow/global expressions (#2822)
* Allow nested msg properties in msg/flow/global expressions

* Remove typo in RED.utils

Co-authored-by: Nick O'Leary <knolleary@users.noreply.github.com>
2021-01-27 20:32:52 +00:00
Nick O'Leary 1f6328bf4e
Add initial support for ThemePlugins 2021-01-26 13:49:47 +00:00
Nick O'Leary 8e7a230dbc
Fix plugin test to expect user flag 2021-01-26 13:49:13 +00:00
Nick O'Leary 7531314e3f
Add RED.plugins module to editor 2021-01-18 16:25:40 +00:00
Nick O'Leary a006b52052
Initial plugin runtime api implementation 2021-01-18 16:25:40 +00:00
martinb b0acb58442 Merge tag '1.2.7' into release/1.2.7 2021-01-14 15:46:22 +01:00
Nick O'Leary d5cc5b2574
Use subflow.info for help text and meta.type for node type 2021-01-07 15:34:27 +00:00
Nick O'Leary da96c85d32
Handle subflow modules with their own npm dependencies 2021-01-07 11:26:20 +00:00
Nick O'Leary 0c9fd25d3e
Nodes log via parent flow to allow flow-info to be added 2021-01-07 11:10:34 +00:00
Nick O'Leary 9a660f3fe9
Support npm subflow modules 2021-01-07 11:10:33 +00:00
Nick O'Leary 7913b3cbc2
Merge branch 'master' into dev 2021-01-07 10:17:50 +00:00
Nick O'Leary 6ee2e2b570
Merge pull request #2777 from aaronmyatt/improve-test-coverage-in-editor-api-index
Improve editor api index test coverage
2021-01-06 11:39:30 +00:00
Tiago Ferreira fa84c4e461 Allow to explicit use userMenu in the theme configuration
Unit test to ensure that   works after the theme is initialize

Allow to explicti use userMenu in the theme configuration
2020-12-29 22:06:02 +00:00
Nick O'Leary 9d2d060dec
Fix unit tests for externalModules 2020-12-27 20:59:31 +00:00
Nick O'Leary aacb92a7ae
Implement allow/denyList when loading/installing modules 2020-12-27 12:49:17 +00:00
aaronmyatt 55e6c6e01a adds tests for editor-api.start() 2020-12-16 21:53:52 +08:00
Nick O'Leary 9b1c114c3f
Merge pull request #2772 from node-red/api-tidy
Fully remove when.js dependency
2020-12-07 14:05:15 +00:00
Nick O'Leary f5fcf23678
Merge branch 'pr_2751' into dev 2020-12-07 13:58:53 +00:00
Nick O'Leary 0a6c08e2c3
Merge pull request #2750 from node-red-hitachi/split-join-node-mapi
Messaging API support in Split/Join nodes
2020-12-07 13:54:47 +00:00
Nick O'Leary b80a7459cf
Merge pull request #2733 from node-red-hitachi/delay-node-mapi
Messaging API support in Delay node
2020-12-07 13:53:51 +00:00
Nick O'Leary f6480e6e0c
Merge pull request #2744 from node-red-hitachi/sort-node-mapi
Messaging API support in Sort node
2020-12-07 13:52:34 +00:00
Nick O'Leary 41d12c433e
Merge pull request #2734 from node-red-hitachi/csv-node-mapi
Messaging API support in CSV node
2020-12-07 13:50:09 +00:00
Nick O'Leary 169a2484f2
Merge pull request #2738 from node-red-hitachi/batch-node-mapi
Messaging API support in Batch node
2020-12-07 13:33:04 +00:00
Nick O'Leary fca21ac126
Rename paletteEditorEnabled to installerEnabled 2020-12-07 11:49:01 +00:00
Nick O'Leary 6fb96fa3c1
Move exec and events components to util module
The exec and events components are common components that
are used by both runtime and registry. It makes sense to
move them into the util package.

This also adds some docs to the registry module
2020-12-07 11:49:01 +00:00
Nick O'Leary 5992ed1fab
Fully remove when.js dependency 2020-12-07 11:49:01 +00:00
aaronmyatt c9bc530df0 tests custom cors settings 2020-12-06 15:29:54 +08:00
aaronmyatt 0b569a4120 exercise admin auth pathways 2020-12-05 23:06:18 +08:00
aaronmyatt 950fd7d2cf removes unused dependencies 2020-12-05 15:15:36 +08:00
aaronmyatt 50dd0354d1 adds admin middleware tests 2020-12-04 23:10:28 +08:00
Nick O'Leary f19ec5d9b6
Clear retained status of deleted nodes 2020-11-17 13:29:13 +00:00
martinb ccf4e73701 cleanup test case for support of out of order messages 2020-11-12 18:56:43 +01:00
martinb 01b67c692b add test case for support of out of order messages support in auto mode of join node if exactly one message has count set 2020-11-12 18:51:14 +01:00
Dave Conway-Jones ca4960e097
Fix CSV node repeating array output
and add tests to cover it
2020-11-10 14:43:59 +00:00
Kunihiko Toumura f038069fe2 Messaging API support in Trigger node 2020-11-05 15:09:41 +09:00
Kunihiko Toumura 407cb3e7d5 Messaging API support in Split/Join nodes 2020-11-04 21:43:20 +09:00
Kunihiko Toumura d7dfeaf0c1 Messaging API support in Sort node 2020-11-02 13:31:27 +09:00
Kunihiko Toumura dbfbd54e1f Messaging API support in Batch node 2020-10-29 16:16:03 +09:00
Kunihiko Toumura 8007bea7db Messaging API support in CSV node 2020-10-26 20:25:52 +09:00
Kunihiko Toumura dc1ab7e331 Add support for Messaging API to delay node 2020-10-26 16:52:18 +09:00
Nick O'Leary 101e96dcb3
Merge pull request #2665 from node-red/msg-router
Pluggable Message Routing
2020-09-29 20:36:23 +01:00
Nick O'Leary 7a90fe5aec
Fix flow api unit tests 2020-09-29 17:35:43 +01:00
Nick O'Leary 22a301b55e
Add flows:* events and deprecate nodes-* events 2020-09-29 16:29:10 +01:00
Nick O'Leary 605177dcf0
Validate hook names when they are added 2020-09-29 16:28:52 +01:00
Nick O'Leary 08148a07b2
Update Node/Flow to trigger msg routing hooks 2020-09-29 12:19:27 +01:00
Nick O'Leary bdd736315a
Add RED.hooks engine 2020-09-29 12:19:27 +01:00
Nick O'Leary d57ec0cd53
Refactor lib/flows code to include initial router component 2020-09-29 12:19:26 +01:00
Nick O'Leary cf84ec78fa
Allow trigger node delay to be overridden with msg.delay 2020-09-28 21:10:23 +01:00
Nick O'Leary 54dc98a90b
Merge pull request #2035 from node-red/simple-git
Add option for simplified git workglow
2020-09-28 11:39:17 +01:00
Nick O'Leary 64d6e1f8e1
Changing timing in trigger node test 2020-09-28 10:50:19 +01:00
Nick O'Leary 69d60ffb24
Add simplified git workflow to auto-commit changes 2020-09-28 10:41:33 +01:00
Nick O'Leary 1a4d720978
Improve timings in trigger node test 2020-09-25 23:32:59 +01:00
Nick O'Leary 91c2f479bb
Fix settings file migration test 2020-09-25 18:29:47 +01:00
Nick O'Leary 4b8d07f301
Merge branch 'pr_2644' into dev 2020-09-25 17:11:39 +01:00
Nick O'Leary 2db3a4f1ef
Add unit tests for function node init code 2020-09-25 17:11:10 +01:00
Nick O'Leary 085ff84bc9
Merge pull request #2704 from node-red/split-config
Split .config.json into separate files
2020-09-25 15:56:32 +01:00
Nick O'Leary a33cf6b532
Merge branch 'master' into dev 2020-09-25 11:53:37 +01:00
Nick O'Leary 2b29eeb795
Add unit test for module path 2020-09-25 11:52:48 +01:00
Nick O'Leary 96d81ef72b
Add slight delay to fix config.json file tests 2020-09-24 16:54:24 +01:00
Nick O'Leary 4d0c572c2e
Fix .config.json unit tests 2020-09-24 15:42:52 +01:00
Nick O'Leary b7243c2226
Merge branch 'master' into dev 2020-09-16 11:54:34 +01:00
Nick O'Leary baffe4861c
Handle undefined value in Debug view of Array and Object
Fixes #2696
2020-09-07 21:05:27 +01:00
Nick O'Leary 5cf489a270
Fixup node test 2020-09-04 09:52:30 +01:00
Melvin Groenhoff d84c2b780b Fix `this` context when calling multiple event listeners (fixes #2692). 2020-09-04 10:20:30 +02:00
Nick O'Leary 2f2a6367c2
Merge pull request #2684 from node-red/skip-html
Avoid loading node html if disableEditor set
2020-09-03 15:02:09 +01:00
Nick O'Leary 33855bcb8b
Skip loading node html if disableEditor set 2020-08-14 00:20:44 +01:00
Nick O'Leary 6f1ed76b4c
Add support for file upload in /nodes api 2020-08-13 15:54:54 +01:00
Nick O'Leary 16c26d8098
Move runtime settings back to adminApi from editorApi
Fixes #2662
2020-07-31 15:26:21 +01:00
Nick O'Leary 1df2f5e96a
Allow Comms websocket auth to be done via token header
Fixes #2642
2020-07-09 19:07:51 +01:00
Nick O'Leary 57154b2853
Authenticate websocket comms using user-provided token if present
Fixes #2642
2020-07-06 20:45:07 +01:00
Kazuhito Yokoi bfeda23ce5 Fix page object of inject node 2020-06-16 21:58:08 +09:00
Kazuhito Yokoi b90710945a Fix page object of debug node 2020-06-16 11:45:27 +09:00
Kazuhito Yokoi 6a70cd1975 Fix page object of inject node 2020-06-15 20:36:41 +09:00
Nick O'Leary fe4ef354ac
Flag a node as removed when it is disabled 2020-06-08 20:59:00 +01:00