* fix many test problems
- adds [stoppable](https://npm.im/stoppable) to force-stop net & http
servers
- upgrades to latest mocha
- much cleanup of servers
- some removal of useless code
Signed-off-by: Christopher Hiller <boneskull@boneskull.com>
* increase wait time to hack at race condition
* PoC with fork of stoppable
Signed-off-by: Christopher Hiller <boneskull@boneskull.com>
* fix custom stoppable url for newer npm
* make travis go faster; attempt to avoid npm troubles
* fix coveralls executable path
* add extra time for flake to trigger spec
Signed-off-by: Christopher Hiller <boneskull@boneskull.com>
- queues messages on a per-client basis while waiting for TCP server
connection
- add `denque` package for performance (`shift()` happens in constant
instead of `Array`'s linear time)
- add tests
- remove a duplicate test in `31-tcp_request.spec.js`
- cap queue at value specified in settings (`tcpMsgQueueSize`); default
to 1000
- add `tcpMsgQueueSize` to `settings.js`
Signed-off-by: Christopher Hiller <boneskull@boneskull.com>
This commit allows an example from an npm package that has
an org scoped name (which includes an @ character) to be retrieved and
loaded properly through the flows endpoint.
* Rewording some of the message sequence nodes
* Fix batch test for overlap renaming
* Finish msg-sequence node help rewording
* Rename maxKeptMsgsCount to nodeMessageBufferMaxLength
* Rename nodeMessageBufferMaxLength in tests
* Remove Join-merge mode for later rework
* new UI for parts support of SWITCH node
* update UI of SWITCH node for parts support
* add server side code of new SWITCH node
* update info document of SWITCH node
* add tests for new SWITCH node features
* add test for too many pending messages & related fixes
* fix handling when msg is undefined
* tabs -> spaces
* fixed meaning of "repair sequence" in SWITCH node docs
* add a note on restricting internally kept messages
* change label and position in menu of "pos. between" rule
* fixed typos (again, sorry)
* initial support of merge mode of JOIN node
* initial support of reduce mode of JOIN node
* update info document of JOIN node
* add tests for merge & reduce mode of JOIN node
* tidy tabs & spaces
* add test for too many pending messages & related fixes
* add an test for reduce mode of JOIN node
* change order of modes of SWITCH node
* add initial topics entry of merge mode
* fixed descriptions on "reduce right" checkbox
* fixed update of typedInput field of reduce mode
* fixed a typo in info document of JOIN node
* allow empty string in JSONata input field of reduce mode
* fixed a typo
* fixed error in reduce mode description
* initial support of BATCH node
* add concat mode & fix for docs and js code
* add tests for BATCH node
* minor correction of typo
* allow interval in float
* fixed message catalog
* add test for too many pending messages & related fixes
* update info document on batchMaxKeptMsgsCount
* fixed close callback
* fixed info document
* add initial topics entry of concat mode
* Let debug optionally target the status line (32 chars only)
* Add batching of messages to debug ws comms
* let Debug handle simple case of NaN
would also close#1530
* Fixup debug tests for batch comms (no new tests yet)
* mixup comms/api test to match new batch mode (no new tests)
* Add test for NaN being sent OK.
* redo original fix to padding / labels for new debug options
* fix debug test (re-add fix from #1444)
* Fix up merge issues in debug tests
* inject once with delay
* test for inject delay at once works
* give access to the once delay of the inject node
* change event not needed in HTML
* code review with Dave
* rename test
* tests for default and optional delay
* test once with delay and repeat
* initial support of SORT node
minor fix of sort node
fixed error message of sort node
fixed error handling of SORT node
add test case for SORT node
make limit of messages count computed once in SORT node
* update type in message & info description
* fix handling of pending messages in SORT node
* initial support of SORT node
minor fix of sort node
fixed error message of sort node
fixed error handling of SORT node
add test case for SORT node
make limit of messages count computed once in SORT node
* update type in message & info description
* updates to 80-template to allow setting template with msg.template
* updated 80-template_spec test for msg.template support
* fixed 80-template.js test
* Let trigger node support per topic mode
* ensure trigger node clones repeating message
* Add some tests for trigger by topic
* test trigger repeat for pass by ref error
* trigger test - add missing try/catch to all test with callback
* boost trigger node test coverage
* Call fsync() before closing file
* Fix race condition in tests due to incorrect stub.
The startFlows() function wasn't really being stubbed, so it was still being called. But there was no corresponding call to stopFlows().
In later tests, the check in Flows.init() was throwing the "Cannot init without a stop" error.
* Test coverage for fsync() calls
For issue #1478
* Revert "Fix race condition in tests due to incorrect stub."
This reverts commit 4f71d7851b.
* Fix race condition in tests due to incorrect stub.
The startFlows() function wasn't really being stubbed, so it was still being called. But there was no corresponding call to stopFlows().
In later tests, the check in Flows.init() was throwing the "Cannot init without a stop" error.
* Fix intermittent test failure in Exec node.
Occasionally, the error text on stderr will come in more than one piece. The test only worked correctly if a single message was received.
* Add rc property to exec node outputs 1 and 2
to close#1399
* improve test coverage and add tests for new msg.rc
* make spawn test slightly more robust to different environments
* added debug for spawn test
* let spawn error test be even more relaxed
* don't necessarily clone msg.payload in exec node stderr
as per suggestion
* Fix a problem of file append test on Windows
* Skip the test case of file node that fails on Windows
* Remove close() call
* Fixed a recreated file test case on Windows
* Handle escape characters in template node which uses Mustache format and JSON output mode
* Handle escape characters in template node which uses Mustache format and JSON output mode
* 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
* 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)"
* Add the node setting tlsConfigDisableLocalFiles for tls node.
* Fix the bug that shows node setting when specified in settings.js and exportable is false.
* 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