Commit Graph

349 Commits

Author SHA1 Message Date
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
Nick O'Leary 500e9a4010 Increase localfilesystem test coverage 2015-03-22 17:40:42 +00:00
Nick O'Leary 36f299c031 Improve core test coverage 2015-03-21 17:42:06 +00:00
dceejay df065e94b7 add extra tests to user_spec to test some else conditions. 2015-03-19 19:57:41 +00:00
Nick O'Leary 51e891ff88 Move sessionStorageModule into main storageModule
Fixes #586

 - add get/saveSessions to main storage module
 - handle storage modules without those functions
 - store .session file in userDir
2015-03-13 23:37:59 +00:00
Nick O'Leary 731efe1c01 Add credential extract unit tests 2015-03-13 21:26:50 +00:00
Nick O'Leary f77dd06e65 Partial deploy with missing type breaks flow diff
Another refactor of Flow lifecycle.
 - diffFlow made a private static function
 - applyConfig now diffConfig - which returns a diff object that
   can be passed to .stop/.start to be properly applied
2015-03-13 17:54:58 +00:00
dceejay 9c46feb22b more tests for log and Node 2015-03-08 16:53:48 +00:00
dceejay 10277aa956 revert/redo tests for api/index, log and Node_spec 2015-03-08 15:26:47 +00:00
dceejay acc0e0875b few more tests for permissions and strategies
reset log flags at end of log test
2015-03-07 13:22:21 +00:00
dceejay 69f85bd688 boost api index, nodes index and nodes Node test coverage 2015-03-06 22:58:30 +00:00
dceejay 910d983b82 More tests for red, log, info and util. 2015-03-06 14:14:47 +00:00
dceejay 128415bc9e back out some changes to red_spec test while investigate fail on v0.8 2015-03-06 10:51:57 +00:00
dceejay 082ce798d8 slightly enhance test coverage for info and log and settings. 2015-03-06 10:18:33 +00:00
dceejay 234abd82a2 Move away from __defineGetter syntax, in red and server
Bump test coverage forwards a bit
2015-03-06 10:17:00 +00:00
Nick O'Leary 34364f5627 Allow node to register multiple close handlers
Closes #573
2015-03-04 21:42:11 +00:00
Nick O'Leary 04f2c92ba6 Add subflow/catch node tests 2015-02-26 22:40:54 +00:00