Jim Turner
6baedf909d
Fix #1478 - Project files are not being flushed to disk after being written ( #1479 )
...
* 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.
2017-11-17 17:29:33 +00:00
Nick O'Leary
b1cd13d629
Initial projects implementation
2017-09-20 10:30:07 +01:00
Nick O'Leary
9a8b404054
Split localfilesystem storage plugin into component parts
2017-08-23 17:31:33 +01:00
Nick O'Leary
41af5187aa
Reorganise red/api layout to better componentise
2017-08-22 22:26:29 +01:00
Kazuki Nakanishi
2f88dc64fc
Fix userDir test case when .config.json exists ( #1350 )
2017-07-21 11:12:04 +01:00
Kazuhito Yokoi
b3ffd33507
Add file extension into flow name of library automatically ( #1331 )
2017-07-09 11:58:17 +01:00
Nick O'Leary
c93870316c
Fix accessing global context from jsonata expressions
...
Fixes #1335
2017-07-09 10:40:23 +01:00
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
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
344076c943
Fix settings tests to remove nodeSettings reference
2017-06-29 11:36:16 +01:00
Nick O'Leary
d4135e80a6
Timeout a node that fails to close - default 15s timeout
2017-05-15 13:05:33 +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
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
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
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
06ffe722d4
better tests for windows nodes
2017-03-06 17:40:09 +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
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
Nick O'Leary
869fdbcc6a
Remove event passing for icons/examples from the api layer
2017-02-15 23:07:50 +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
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
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
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
Nick O'Leary
5f0cab8cc2
Add log.removeHandler function
2016-10-20 23:31:40 +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
42f7dc1947
Fix type checking in unit tests
2016-10-10 13:27:43 +01:00
Nick O'Leary
f22c3b549e
Merge branch '0.15.0'
2016-10-09 23:00:28 +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
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
Dave Conway-Jones
0071afb205
update registry loader test to normalise path for windows
...
Thanks shrikes
2016-09-13 22:57:20 +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
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
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
Nick O'Leary
08ade44dc8
Handle more edge cases with RED.util.normalisePropertyExpression
2016-06-13 22:00:42 +01:00
Nick O'Leary
4dc9c7714c
Clear node context on close
...
Fixes #870
2016-06-11 22:53:27 +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
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
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
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
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
Dave Conway-Jones
4bc482bc85
update load of grunt related versions
...
and mqtt and fs-extra and should. Fix tests to keep working.
2016-04-18 12:40:08 +01:00
Nick O'Leary
44693dd23a
Enable finer grained permissions in adminAuth
2016-04-10 15:30:13 +01:00
Gabe Johnson
b909e32201
Prevent RED.node.registerNode from overriding a constructor's prototype ( #865 )
...
* prevent registry.registerNodeConstructor from overriding a constructors protoype
* fix for node < v5.0.0
* exercise another code path
* altering __proto__ for node < v0.12
* move inheritance code to helper function
2016-04-07 22:18:28 +01:00
Nick O'Leary
b1896e3737
Fix RED.util.compareObjects for Function created objects and Buffers
2016-04-01 10:13:11 +01:00
Nick O'Leary
0cd4a2b4ec
Add api/flow_spec tests
...
Part of #840
2016-03-18 21:01:21 +00:00
Nick O'Leary
db686388b9
Fix registry test for Node 5
2016-03-16 11:05:10 +00:00
Nick O'Leary
e941c22f6c
Warn if editor routes are accessed but runtime not started
...
Closes #816
2016-03-12 00:03:50 +00:00
Nick O'Leary
7281e4deb6
Add zero-length flow file tests
2016-03-11 22:58:11 +00:00
Nick O'Leary
55e66ebcac
Allow node modules to include example flows
2016-03-02 23:34:24 +00:00
Nick O'Leary
70f3e72a20
Move version number as title of NR logo
2016-01-08 13:36:49 +00:00
Nick O'Leary
fe4dae8518
Add propertySelect to switch node
2016-01-06 17:01:13 +00:00
Nick O'Leary
1f848b205b
Add propertySelect support to Change node
2016-01-06 17:01:13 +00:00
Nick O'Leary
5ead3342cc
Add node context/flow/global
2016-01-06 17:01:13 +00:00
Nick O'Leary
ca62e720b5
Add missing spec file
2016-01-06 17:01:13 +00:00
Nick O'Leary
c4b1795396
Add add/update/delete flow apis
2016-01-06 17:01:13 +00:00
Nick O'Leary
fd2e47ed73
WIP: add flow api
2016-01-06 17:01:12 +00:00
Nick O'Leary
05b58e9263
Allow core nodes dir to be provided to runtime via settings
2016-01-06 17:01:12 +00:00
Nick O'Leary
f03aff7006
Tidy up API passed to node modules
2016-01-06 17:01:12 +00:00
Nick O'Leary
043b8a3105
Register node message catalog directly, not via event
2016-01-06 17:01:12 +00:00
Nick O'Leary
1dd9984521
Pickup default language from i18n module
2016-01-06 17:01:12 +00:00
Nick O'Leary
d2be7f8c8f
Move locale files under api/runtime components
2016-01-06 17:01:12 +00:00
Nick O'Leary
083d54b008
Add unit test for flow reload api
2016-01-06 17:01:11 +00:00
Nick O'Leary
1ca3ca07d5
api/nodes accessing comms module incorrectly
2016-01-06 17:01:11 +00:00
Nick O'Leary
d673846e3d
WIP: runtime api for node modules
2016-01-06 17:01:11 +00:00
Nick O'Leary
f62b7afede
Remove all uses of fs.exists as it is deprecated
...
The tests still use it in places - particular localfilesystem tests,
but those tests need to be redone with sinon stubbing in place and
not rely on real fs operations.
2016-01-06 17:01:11 +00:00
Nick O'Leary
e65770a53a
Add missing test resources
...
They were ignored as they have node_modules in the path...
2016-01-06 17:01:11 +00:00
Nick O'Leary
a92a741932
Fix incorrect async test completion
2016-01-06 17:01:11 +00:00
Nick O'Leary
45f67191ba
Improve node registry test coverage
2016-01-06 17:01:11 +00:00
Nick O'Leary
93f5da325b
Fix node test helper for runtime/api changes
2016-01-06 17:01:11 +00:00
Nick O'Leary
8fb955e182
Move comms from runtime to api component
2016-01-06 17:01:11 +00:00
Nick O'Leary
9f5e6a4b37
Update tests for runtime/api separation
2016-01-06 17:01:11 +00:00
Nick O'Leary
f43738446e
WIP: separate runtime and api components
2016-01-06 17:01:11 +00:00
Nick O'Leary
cb01920ee6
Allow nodes to be installed by path name
2015-11-09 16:52:14 +00:00
Nick O'Leary
437b01a0ff
Move node installer to its own module
2015-11-09 11:29:48 +00:00
Nick O'Leary
075a2abf71
Use child_process.execFile to prevent command injection
2015-11-08 14:26:11 +00:00
Nick O'Leary
985875cc75
Move node install/remove from server component to node engine
2015-11-08 14:06:36 +00:00
Nick O'Leary
c90fd1e6d8
Move credential http API handling to api component
2015-11-04 11:13:43 +00:00
Nick O'Leary
ab87fa9ce4
Ensure status/errors from global config nodes propagate properly
2015-11-03 10:20:00 +00:00
Nick O'Leary
d1940a023a
Complete test coverage on flow engine refactor
2015-11-02 15:58:40 +00:00
Nick O'Leary
ec25191c98
Flow Engine refactor
...
Each flow/tab now exists as its own logical object. This is the ground
work for allowing flows to be added/removed/updated independently.
2015-11-02 15:58:29 +00:00
Nick O'Leary
8f414ce458
Update auth revoke test for express 4
2015-10-03 20:32:24 +01:00
Nick O'Leary
d668d43a0a
Move to express 4.x
2015-10-02 21:27:31 +01:00
Nick O'Leary
40fe0f3239
Test Node.status calls through to Flow.handleStatus
2015-10-02 21:27:29 +01:00
Nick O'Leary
9fb81b2814
Permit login with blank scope
...
Required for the editor, which doesn't know the appropriate scope
for the user logging in. The user will adopt their default permission
scope once logged in.
2015-07-15 10:12:45 +01:00
Nick O'Leary
6249083431
Extract all core runtime messages
2015-06-29 16:04:00 +01:00
Nick O'Leary
b2caba593f
Add locales api endpoint
2015-06-29 16:03:59 +01:00
Nick O'Leary
6d4c64fcd5
i18n enable runtime node files
2015-06-29 16:03:59 +01:00
Nick O'Leary
7d41781fb4
Add initial red/i18n implementation
2015-06-29 16:03:59 +01:00
Nick O'Leary
3002aead6b
Add better install message on missing nodes
2015-06-17 14:18:47 +01:00
Nick O'Leary
31c979f30f
Add deprecated node list
2015-06-16 15:32:41 +01:00
Nick O'Leary
4248d20f39
Add RED.util.generateId and ensure HTTP node adds proper id
2015-06-02 15:54:37 +01:00
Nick O'Leary
53258eeede
Restore ability to add nodes by filename
2015-05-27 14:11:11 +01:00
Nick O'Leary
51fce9343b
Ensure errors in node.receive are handled
2015-05-02 22:15:33 +01:00
Scott Yoshizawa
deaef3ab86
Corrected based on knolleary's comments.
2015-05-01 09:37:23 -04:00
Scott Yoshizawa
276d893198
Added the capability to register custom loggers (for Issue #626 )
2015-04-30 17:01:22 -04:00
Nick O'Leary
8f16695f06
Add theme tests
2015-04-13 22:15:15 +01:00
Nick O'Leary
c9d2d301aa
Add editorTheme setting
2015-04-13 00:11:11 +01:00
Nick O'Leary
eae16b6e8c
Add tests for build check
2015-04-09 12:13:46 +01:00
Nick O'Leary
e1f0969957
Add dedicated route for editor index.html
2015-04-08 21:29:55 +01:00
Nick O'Leary
e1dd8cf2ab
Restore node order in palette following async changes
...
The move to async loading of node files led to them appearing
out of order in the palette.
2015-04-08 20:17:24 +01:00
Nick O'Leary
9dd7e2e43d
Refactor registry structure
...
Splits registry up into smaller components.
Unit tests still drive api via registry/index_spec - still
need to split them up into the currently blank _spec files
2015-04-07 16:02:15 +01:00
Nick O'Leary
d4ac4c44d0
Fix library test for deprecated storage api
2015-04-04 19:33:37 +01:00
Nick O'Leary
b96ea36b70
Deprecate getAllFlows/getFlow/saveFlow storage functions
...
They were specialised versions of get/saveLibraryEntry that
complicated the interface.
This change removes them from localfilesystem, but the top
level module checks for their existence and uses them if
they are there - for backwards compatibility.
2015-04-03 23:05:56 +01:00
Nick O'Leary
b201828236
Remove 'loaded' property from external node info object
...
and fix everything that doing this broke
2015-03-30 21:49:20 +01:00
Nick O'Leary
2a8a885271
Standardise API error response format
2015-03-30 14:16:04 +01:00
Nick O'Leary
7adefd6ee0
Add access_token expiry
2015-03-30 14:14:32 +01:00
Nick O'Leary
f967a5ecdc
Fix auth on comms link and for anon user
...
The move to honour scope level of token broke the comms link
checking as well as the permissions checking for anon users.
2015-03-29 22:27:07 +01:00
Nick O'Leary
c8d6dc2531
Auth permission should honour the token scope
2015-03-29 21:59:48 +01:00
Nick O'Leary
cc1d080a5a
Remove add/removeNode by filename api
...
Only support add/remove by module name
2015-03-26 11:39:35 +00:00
Nick O'Leary
9daeba02b5
Flow.registerType should indicate if type was missing or not
2015-03-26 11:37:24 +00:00
Nick O'Leary
2a57d0b6d0
auth/login should return empty object when insecure
2015-03-25 20:33:29 +00:00
Nick O'Leary
20bdea7ae0
Increase registry test coverage
2015-03-22 22:54:52 +00:00
Nick O'Leary
153fa7478f
Increase flows test coverage
2015-03-22 20:12:10 +00:00