Commit Graph

560 Commits

Author SHA1 Message Date
Nick O'Leary f9769a73fe
Retry auto-install of modules that fail
- introduces autoInstallModulesRetry - default 30000
 - backs off interval if repeated failures
 - fixes notification to the editor of an auto-reinstall
2017-07-08 17:30:17 +01:00
Nick O'Leary f30f80d117
Join: count of 0 should not send on every msg 2017-07-05 14:12:28 +01:00
Nick O'Leary 47e2707fd3
Restore File In node behaviour of sending msg on error 2017-07-04 19:55:09 +01:00
Nick O'Leary 1542f73fa5
Fix global leaks in theme.js 2017-07-04 09:43:16 +01:00
Nick O'Leary 70a22187f7
editorTheme not setting custom css/scripts properly 2017-07-04 09:33:27 +01:00
Kazuki Nakanishi 347e598715 Fix missing icons for some nodes (#1321) 2017-07-04 09:04:27 +01:00
Kazuki Nakanishi c34c98386e Fix creating userDir other than system drive on Windows (#1317) 2017-07-03 15:22:49 +01:00
Nick O'Leary d8a3d2793f
Trigger node not handling a duration of 0 as block mode
Fixes #1316
2017-07-03 15:20:37 +01:00
Nick O'Leary 344076c943
Fix settings tests to remove nodeSettings reference 2017-06-29 11:36:16 +01:00
Nick O'Leary 52c0d360b2
Add buffer joiner mode to Join node 2017-06-27 17:11:11 +01:00
Nick O'Leary c9317659c5
Prevent unmodified msg.headers from breaking HTTP Request flows
Closed #1015
2017-06-27 11:24:20 +01:00
Nick O'Leary 6562c558de
Add help info for split node 2017-06-27 11:24:20 +01:00
Dave Conway-Jones 2482d122b8
Let join node auto re-assemble buffers
and add test
2017-06-26 23:10:08 +01:00
Dave Conway-Jones e23354b2bb
tidy up split node to remove todo comments 2017-06-24 12:09:52 +01:00
Dave Conway-Jones dc9fa81346
let split of objects use key to set another property (e.g. topic)
and add tests
and update messages
2017-06-22 18:42:54 +01:00
Dave Conway-Jones b91c178200
add "split/stream" ability to file in node
and add teste
2017-06-22 18:41:49 +01:00
Dave Conway-Jones 4f34980c9f
adding streaming modes into split node
and add tests
2017-06-16 22:26:14 +01:00
Dave Conway-Jones 56405ac903
let join also accumulate strings (and not fail) 2017-06-15 00:11:35 +01:00
Dave Conway-Jones d407f31ae5
stop delay node spamming web socket (when in fast rate limit mode) 2017-06-09 19:42:12 +01:00
Dave Conway-Jones 7c42b04eff
updated split/join node (split still needs work before release) 2017-06-05 17:04:17 +01:00
Nick O'Leary f215970649
Add http-request node unit tests 2017-05-24 10:36:47 +01:00
Nick O'Leary 8a7bb1be9f
Log error when non-msg-object is returned from a Function 2017-05-15 13:54:05 +01:00
Nick O'Leary d4135e80a6
Timeout a node that fails to close - default 15s timeout 2017-05-15 13:05:33 +01:00
Dave Conway-Jones 49389d6f06
Add new msg.delay option to delay node
and msg.reset to clear/fluch existing delays
2017-05-11 16:13:40 +01:00
Nick O'Leary c75dc3cc36
Add test coverage for deleting a flow 2017-05-11 15:39:55 +01:00
Nick O'Leary 29bd43413a
Add context.keys function to list top-level keys 2017-05-03 20:51:33 +01:00
Nick O'Leary 4ea33ea482
Pass a 'removed' parameter to node close handler 2017-04-21 23:36:21 +01:00
Nick O'Leary e13d410b4a
Update tests for oauth -> strategy rename 2017-04-21 22:06:12 +01:00
Kazuki-Nakanishi adcb2f1aa8 Fix exec node error tests on Windows (#1234) 2017-04-19 22:09:53 +01:00
Dave Conway-Jones 11ee1a7dcb
fix exec node error test 2017-04-13 11:48:33 +01:00
Dave Conway-Jones a281b8c74e
Make exec node spawn and exec outputs more consistent
(with an option to revert if necessary)
and new info docs
2017-04-13 11:36:54 +01:00
Kazuki-Nakanishi 05878d3176 Fix the test cases which sometimes fails due to timing. (#1228) 2017-04-12 20:54:31 +01:00
Nick O'Leary c54cf26848
Add support for oauth adminAuth configs 2017-04-12 10:09:03 +01:00
Nick O'Leary bfb548636e
Merge branch 'master' into 0.17 2017-04-11 14:53:44 +01:00
Kazuki-Nakanishi 10f94148af Exec node for windows environment (#1200)
* Modify exec node to run on Windows.

* Remove unnecessary modification.
2017-04-10 16:06:19 +01:00
David 62b29ecb65 Make theme able to load custom javascript (#1211)
* Make theme able to load custom javascript
- Look for the field 'customScript' in editorTheme (settings.js)
- Add it to mustach context
- Load list on template side (index.mst)

* Add unit tests for customScripts

* Code review edits : generic behavior for theme.page.[css|scripts]
- Use the same way to share css and javascript files from a theme
- Allow string instead of array for theme.page.scripts
- Remove old customScript field
2017-04-10 15:46:44 +01:00
Andrey Bezugliy f987fa13ea Resolve dir argument of getLocalNodeFiles function (#1216)
* Resolve dir argument of getLocalNodeFiles function

The getLocalNodeFiles is called 3 times.  Each time it called, the callee needs to resolve the dir argument.
That was not done for several of calls, and local modules (specified in the "nodesDir" setting) were not returned to client because of that.

This fix will allow to make sure the dir is consistently resolved.

* Several changes in "localfilesystem_spec.js":
- Changed checkNodes to verify that every node's file property is resolved, i.e. containst absolute path, not relative.
- Added a unit-test "Finds nodes in settings.nodesDir (string,relative path)"
2017-04-10 15:41:20 +01:00
Dave Conway-Jones 3f349c3531 remove requirement for cmd in exec node config + new style info 2017-03-29 21:44:58 +01:00
Nick O'Leary 5945be95cf
Treat missing msg properties as undefined rather than throw error
Fixes #1167
2017-03-12 22:04:37 +00:00
Kazuki-Nakanishi 3cc4173399 Extend timeout for the test case of installing non-existant path. (#1191)
to fix timeout on slower hosts
2017-03-10 13:59:44 +00:00
Nick O'Leary 5356373681
Finalise nodeSettings and update tlsConfigDisableLocalFiles
- increase test coverage around registerType
2017-03-09 21:06:49 +00:00
Nick O'Leary e55933706d
Merge branch 'nodeSettings' into 0.17 2017-03-09 20:00:54 +00:00
Kazuki-Nakanishi 3b3d696e45 Add the node setting tlsConfigDisableLocalFiles for tls node. (#1190)
* Add the node setting tlsConfigDisableLocalFiles for tls node.

* Fix the bug that shows node setting when specified in settings.js and exportable is false.
2017-03-09 19:58:34 +00:00
Kazuki-Nakanishi 34089aec70 Allow a node to declare what settings should be made available to the editor. (#1185)
* Implement register/exportNodeSettings.

* Change normaliseRegisterTypeName to normaliseNodeTypeName. Force it to name in a camel case.
2017-03-08 14:38:33 +00:00
Kazuki-Nakanishi 3658d0e039 Add wait for writing a library entry into a file. (#1186) 2017-03-08 10:00:40 +00:00
kazuhitoyokoi 7a10636128 Add node whitelist function (#1184) 2017-03-08 10:00:00 +00:00
Dave Conway-Jones 27b7fb54e8 nail trigger test for windows AND linux 2017-03-06 19:06:10 +00:00
Dave Conway-Jones 99b8f16d88 give up on SIGQUIT for widows test
revert to SIGINT
2017-03-06 17:42:59 +00:00
Dave Conway-Jones 06ffe722d4 better tests for windows nodes 2017-03-06 17:40:09 +00:00
Dave Conway-Jones 6264104642 comment out 2nd exec node kill tests
(to be revisited)
2017-03-06 16:49:51 +00:00
Dave Conway-Jones c97812c340 retry exec node tests
(diff behaviour on host)
2017-03-06 16:25:38 +00:00
Nick O'Leary 7698990e37
Allows flows to be enabled/disabled in the runtime 2017-03-06 15:29:05 +00:00
Dave Conway-Jones 2db65b9d1f fixes for grunt files tests on Windows 2017-03-06 15:28:23 +00:00
Dave Conway-Jones c6436f47eb let exec node take msg.kill SIG... param and pid param
and redo test
2017-03-06 15:27:29 +00:00
Nick O'Leary 63ce743571
Treat missing msg properties as undefined rather than throw error
Fixes #1167
2017-03-02 14:02:26 +00:00
Nick O'Leary 6cf53c611b
merge exec fixes 2017-03-02 13:41:01 +00:00
Nick O'Leary d8720ee325
Third output from Exec node must be consistent for success/failure conditions 2017-03-02 13:34:01 +00:00
Nick O'Leary 73501f3ad3
Resync with master 2017-03-01 17:45:09 +00:00
Nick O'Leary 571b9fb8e0 Merge pull request #1122 from CANDY-LINE/feature/i18n-issue
Fix empty extra node help content issue
2017-03-01 16:38:08 +00:00
Nick O'Leary fca77a868f
Allow a node to declare settings that should be exported 2017-03-01 15:01:07 +00:00
Dave Conway-Jones a625eeeac8 move csv fixes to master
to fix #1142 in master
2017-02-22 20:19:44 +00:00
Dave Conway-Jones bfcd795687 Fix wrong number of double quotes in CSV parsing
to close #1162
2017-02-20 22:44:37 +00:00
Nick O'Leary 4794fe495c
Add events to test helper 2017-02-15 23:15:24 +00:00
Nick O'Leary 869fdbcc6a
Remove event passing for icons/examples from the api layer 2017-02-15 23:07:50 +00:00
Dave Conway-Jones 50838970ec let css node handle ip addresses without trying to parse
and only warn once if no template (and then send object anyway)
to close #1142
2017-02-07 21:14:16 +00:00
Dave Conway-Jones ada8e447cc exec node can be killed on demand 2017-02-07 21:14:16 +00:00
Dave Conway-Jones 1841fc18fa let trigger node set repeated outputs 2017-02-07 21:14:16 +00:00
Nick O'Leary 3e021b3a75
Fix loader test to expect line numbers in load errors 2017-01-30 09:58:43 +00:00
Nick O'Leary 7759aacb35
Ensure custom mustache context parent set in Template node
fixes #1126
2017-01-23 15:34:34 +00:00
Nick O'Leary e27f5d0460
Add node module update api and expose in palette editor 2017-01-21 23:46:44 +00:00
Daisuke Baba 57c529758e Add an edge case test 2017-01-19 17:19:41 +09:00
Daisuke Baba 5ba9a0eb3f Fix empty extra node help content issue 2017-01-19 16:55:57 +09:00
Nick O'Leary 0857f979ff
Update ui_spec for icon module path 2017-01-18 13:14:12 +00:00
Nick O'Leary d146ff8794
Update debug_spec test for Error messages 2017-01-14 21:47:18 +00:00
Nick O'Leary 0a96259ddf
Update copyright header for JS Foundation 2017-01-11 15:24:33 +00:00
btsimonh c8d6693fba fix bug where savesettings did not honor local settings variables (#1073)
* fix bug where savesettings did not honor local settings variables

* don't create lib/flows on read;  It's already created in localfilesystem.init and in saveLibraryEntry -
so removed call to promiseDir, and added a return of [] if accessing a folder which did not exist.
This is important because else when settings.readOnly is true, it still creates folders.

* Fix a CI failure where path passed to getLibraryEntry is empty;
treat this case as meaning it was wanting a folder, and return empty if the folder dioes not exist

* Add a test for getLibraryEntry( type, '/' ) as called by node-red

* change newsettings to camelCase newSettings
2017-01-08 23:00:27 +00:00
Nick O'Leary 73a41707e5
Property expressions must not be blank 2017-01-06 21:58:17 +00:00
Nick O'Leary e73216d4c1 Merge branch 'master' into 0.16 2017-01-06 14:30:13 +00:00
Nick O'Leary 0c7705beff
Allow quoted property expressions
Fixes #1101
2017-01-06 11:23:53 +00:00
Nick O'Leary b6b65b6bf7 Update debug node test for circular references 2016-12-20 23:21:25 +00:00
Nick O'Leary 564902b886 Allow $ and _ at start of property identifiers
Fixes #1063
2016-11-21 21:36:18 +00:00
Dave Conway-Jones 8d5286703f reimplement $(env var) replace to share common code.
and add test to utils
2016-11-17 13:56:17 +00:00
Dave Conway-Jones 74f2180fa4 Fix error message for missing node html file, and add test.
To close #1053
2016-11-16 22:46:01 +00:00
Dave Conway-Jones d042169f2e Let credentials also use $(...) substitutions from ENV
to close #1051
(and add to test)
2016-11-16 21:47:13 +00:00
Monkey Do 9790211891 Close comms on stopServer in test helper (#1020)
* Close comms on stopServer in test helper

Using this file in another project to test nodes, when running tests with gulp and karma the process never ends as comms are still open.
This resolves the problem.

* Moved test helper server on close to stopServer method
2016-11-16 14:09:04 +00:00
Adam Hořčica be18cc9f2d Add support for flow and global context in Template node (#1048)
* Enable tests for flow and global context

* Add support for flow and global context in Template node

* Handle missing node context
2016-11-16 14:08:14 +00:00
Dave Conway-Jones d63996eea1 slight tidy of YAML PR (remove excess console.log in test)
and improve XML test coverage slightly
2016-11-10 21:29:07 +00:00
Nathanaël Lécaudé 9bbc8eda9d Added YAML parser node (#1034)
Thanks @natcl -
(sorry pressed closed by mistake !)
* Added YAML parser node

* Added YAML error strings in messages.json

* Change location of YAML library import

* Remove copyright

* Remove copyright

* Change order of yaml in Template node

* Add YAML test

* Add working test
2016-11-10 21:22:05 +00:00
Nick O'Leary 06ee9aa05c Make strings expandable in debug 2016-11-03 14:34:37 +00:00
Nick O'Leary 8167f623e3 Update debug_spec for format changes 2016-11-03 14:34:37 +00:00
Dave Conway-Jones 9a4ff5cb43 fix test for CSV array input 2016-11-03 08:56:38 +00:00
Nick O'Leary 5f0cab8cc2 Add log.removeHandler function 2016-10-20 23:31:40 +01:00
Nick O'Leary 714c254bab Update delay burst test to be more tolerant of timing
Fixes #1013
2016-10-14 22:35:43 +01:00
Nick O'Leary 49f72881f4 Disable palette editor if npm not found 2016-10-12 22:30:32 +01:00
Nick O'Leary b3796a8e24 Fix unit tests for /flows 2016-10-12 10:33:51 +01:00
Nick O'Leary 325c6135cf Defeat the exec node test dragons 2016-10-11 20:31:42 +01:00
Nick O'Leary f002560616 Exec node spawn mode should clone messages it reuses 2016-10-11 14:49:48 +01:00
Nick O'Leary d119594cbf Tidy up exec node clean-up to remove failure-causing timing window 2016-10-11 13:25:19 +01:00
Nick O'Leary 84f7da6e93 Fix null checking in exec node test 2016-10-11 11:16:10 +01:00
Nick O'Leary 22e1bafe1b Fix exec test on node 0.10 2016-10-11 10:53:50 +01:00
Nick O'Leary 42f7dc1947 Fix type checking in unit tests 2016-10-10 13:27:43 +01:00
Dave Conway-Jones 8368815db5 extra change tests for partial and complete match
to close #934
2016-10-10 11:48:52 +01:00
Dave Conway-Jones 4d19f881e9 Let change node set type if total match
remove unnecessary 2 step move when not required.
add test for moving sub property up to main property
2016-10-10 11:10:36 +01:00
Nick O'Leary f22c3b549e Merge branch '0.15.0' 2016-10-09 23:00:28 +01:00
Nick O'Leary 9af08ef26a Update test helper for new flow api 2016-10-09 22:22:13 +01:00
Nick O'Leary b4be1184fd Add v2 /flows api and deploy-overwrite protection 2016-10-09 22:02:40 +01:00
Nick O'Leary d29abc2724 Encrypt credentials by default 2016-09-23 10:38:30 +01:00
Nick O'Leary 44c35d2644 Update test node helper module for storage api changes 2016-09-21 22:22:04 +01:00
Nick O'Leary f9b972349d Move credential load/save storage functions under get/setFlows 2016-09-21 21:58:50 +01:00
Nick O'Leary e06cadd761 Pass full runtime object to storage and flow sub-components 2016-09-21 10:22:04 +01:00
Antoine Aflalo ea8c6d5cce Add number of units to the delay node (rate) (#994)
* Add possibility to set the value for the rate unit

Backward compatible, if the new nbRateUnits is not set, default to 1.
This way we can delay messages to 1 msg per X seconds/minutes/hours days
instead of always 1.
Useful when interacting with API that have a uncommon rate limiting like
1req per 2 seconds.

* Fix existing testing for delay

* Add new test for the nbRateUnits

* Fix label for timed and topic for delay node

* Schrink width of Units delay rate

* pluralisation of labels

* Dynamic pluralisation respecting i18n

* Remove debug data left
2016-09-16 14:27:14 +01:00
Dave Conway-Jones 0071afb205 update registry loader test to normalise path for windows
Thanks shrikes
2016-09-13 22:57:20 +01:00
Dave Conway-Jones 765f0393b0 Add test for change node ,move to sub-property 2016-08-28 12:09:37 +01:00
Nick O'Leary 0ade8ff7a2 Add log warning if node module required version cannot be satisfied 2016-07-28 15:43:26 +01:00
Dave Conway-Jones e81e48cde3 Fix html parse node test 2016-07-20 20:58:52 +01:00
Nick O'Leary d57425a15e Fix node enable/disable over restart - load configs after settings init 2016-07-15 00:11:28 +01:00
Nick O'Leary 691b083364 Update trigger node ui to use typedInputs 2016-07-05 15:39:00 +01:00
Dave Conway-Jones b74a35b9d1 add extra test for CSV with odd quotes 2016-07-05 11:51:08 +01:00
Nick O'Leary f62cf6818b Clear context in node test helper
Fixes #858
2016-07-03 23:08:53 +01:00
Nick O'Leary 78b1bf8f25 Merge branch '0.14.0' 2016-06-17 21:30:09 +01:00
Dave Conway-Jones 7fc056c8e3 remove extraneous udp console.log
and two tiny whitespace changes
2016-06-17 08:18:26 +01:00
Dave Conway-Jones e4d5271d58 Better fix for css, reverting test 2016-06-14 23:55:50 +01:00
Dave Conway-Jones 8f2f3bf75d Fix CSV test 2016-06-14 23:20:09 +01:00
Nick O'Leary 08ade44dc8 Handle more edge cases with RED.util.normalisePropertyExpression 2016-06-13 22:00:42 +01:00
Nick O'Leary 3ad9053d65 Fix multi-level sequences of split/join nodes 2016-06-13 17:44:20 +01:00
Nick O'Leary 4dc9c7714c Clear node context on close
Fixes #870
2016-06-11 22:53:27 +01:00
Nick O'Leary 7302ac5871 Add merged object to Join node 2016-06-11 21:44:00 +01:00
Nick O'Leary d82fe95076 Update split node docs 2016-06-10 22:51:57 +01:00
Nick O'Leary e594ffe0f8 Update Join node runtime to match UI changes 2016-06-07 23:18:46 +01:00
Nick O'Leary 9f8c32ce8f Split node UI rework - WIP 2016-06-07 23:18:46 +01:00
Nick O'Leary 762eb07dd4 Add support for array-syntax in typedInput msg properties 2016-06-07 23:01:23 +01:00
Nick O'Leary 3959fcdc88 Handle null return from Function node in array of messages 2016-06-06 11:40:02 +01:00
Nick O'Leary b5d3f505e3 Defer loading of token sessions until they are accessed
Fixes #895
2016-05-31 14:39:50 +01:00
Josh 3454e5ac77 Flows lib honours flowFilePretty setting (#837)
* Flow lib now adheres to pretty flow file, ui also adheres to this as well

* added settings mock object in flows_spec get api test

* reverted api changes, fixed parse of flow only

* try spell flows correctly
2016-05-17 22:09:57 +01:00
Nick O'Leary 9e26aeea1d Handle scoped node modules in the api 2016-05-17 21:56:03 +01:00
Nick O'Leary 337f5f9b98 Handle missing tab nodes in a loaded flow config 2016-05-04 22:09:11 +01:00
Nick O'Leary 41445a1b48 Merge branch 'config' into 0.14.0
explain why this merge is necessary,
2016-05-04 15:44:48 +01:00
Dave Conway-Jones b27db3e2e7 tiny changes to JSON and exec test for node6
no need to specify npm2 defaults are ok now. (on travis)
2016-04-30 17:05:10 +01:00
Nick O'Leary 45ff86eae5 Do not rely on the HTML file to identify where nodes are registered from 2016-04-28 11:23:42 +01:00
Dave Conway-Jones c09be02e4e small fix to exec node test 2016-04-27 22:54:00 +01:00
Dave Conway-Jones bd59398cab Add optional timeout to exec node
(both exec and spawn modes)
and add test for it (both exec and spawn)
also extra test for trigger node.
2016-04-27 22:32:58 +01:00
Nick O'Leary b744491dd2 Ensure config nodes are instantiated in the right order 2016-04-27 12:33:02 +01:00
Nick O'Leary 2a089f7d90 Ensure parent nodes marked as changed due to child config node changes 2016-04-27 12:33:02 +01:00
Dave Conway-Jones 8916cf273e Let trigger node also send last payload to arrive
and add test for it.
2016-04-24 17:42:24 +01:00
Dave Conway-Jones b2923d0fc4 enhance a couple of tests to check more
Delay node checks  times properly for both types of queue. And File
checks to make sure other payload types are handled (a bit better than
they were)
2016-04-24 17:41:22 +01:00
Dave Conway-Jones d0f57efe0b test a few extra paths in several nodes
trigger, switch and file
(and linted delay just because)
2016-04-23 21:06:48 +01:00
Dave Conway-Jones 595ff63b72 Fix exec test for v0.10
Back out nvm 6 in travis (not there yet)
2016-04-23 17:41:56 +01:00
Dave Conway-Jones 9990046abb get more debug from travis for exec test
Don’t have v.10 locally.
And a,y as well try node v6 also ;-)
2016-04-23 17:29:31 +01:00
Dave Conway-Jones 8dacf72b3c try to increase coverage for exec and template nodes
(works locally - may fail on travis - lets see…)
2016-04-23 17:09:46 +01:00
Dave Conway-Jones 59b34c2b3f Add timestamp as a default typedInput
and update Inject and change nodes to match,
and add some tests.
2016-04-18 14:38:36 +01:00