From 1e245ece46ab8fe41ebce8a0adc184c9034c016e Mon Sep 17 00:00:00 2001
From: Yuma Matsuura Hello World!
\n\n");
+ templateNode.clickOk();
+
+ httpinNode.connect(templateNode);
+ templateNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNode = workspace.addNode("inject", 0, nodeHeight);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth, nodeHeight);
+ var debugNode = workspace.addNode("debug", nodeWidth * 2, nodeHeight);
+
+ httpRequestNode.edit();
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello');
+ httpRequestNode.setMethod("get");
+ httpRequestNode.clickOk();
+
+ injectNode.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNode.clickLeftButton();
+ debugTab.getMessage().indexOf('Hello World!').should.not.eql(-1);
+ });
+
+ it('handle query parameters passed to an HTTP endpoint', function () {
+ var httpinNode = workspace.addNode("httpin");
+ var templateNode = workspace.addNode("template", nodeWidth);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 2);
+
+ httpinNode.edit();
+ httpinNode.setMethod("get");
+ httpinNode.setUrl("/hello-query");
+ httpinNode.clickOk();
+
+ templateNode.edit();
+ templateNode.setSyntax("mustache");
+ templateNode.setFormat("handlebars");
+ templateNode.setTemplate("\n\n\nHello {{req.query.name}}!
\n\n");
+ templateNode.clickOk();
+
+ httpinNode.connect(templateNode);
+ templateNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNode = workspace.addNode("inject", 0, nodeHeight);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth, nodeHeight);
+ var debugNode = workspace.addNode("debug", nodeWidth * 2, nodeHeight);
+
+ httpRequestNode.edit();
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello-query?name=Nick');
+ httpRequestNode.setMethod("get");
+ httpRequestNode.clickOk();
+
+ injectNode.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNode.clickLeftButton();
+ debugTab.getMessage().indexOf('Hello Nick!').should.not.eql(-1);
+ });
+
+ it('handle url parameters in an HTTP endpoint', function () {
+ var httpinNode = workspace.addNode("httpin");
+ var templateNode = workspace.addNode("template", nodeWidth * 2);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 3);
+
+ httpinNode.edit();
+ httpinNode.setMethod("get");
+ httpinNode.setUrl("/hello-param/:name");
+ httpinNode.clickOk();
+
+ templateNode.edit();
+ templateNode.setSyntax("mustache");
+ templateNode.setFormat("handlebars");
+ templateNode.setTemplate("\n\n\nHello {{req.params.name}}!
\n\n");
+ templateNode.clickOk();
+
+ httpinNode.connect(templateNode);
+ templateNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNode = workspace.addNode("inject", 0, nodeHeight);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth, nodeHeight);
+ var debugNode = workspace.addNode("debug", nodeWidth * 2, nodeHeight);
+
+ httpRequestNode.edit();
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello-param/Dave');
+ httpRequestNode.setMethod("get");
+ httpRequestNode.clickOk();
+
+ injectNode.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNode.clickLeftButton();
+ debugTab.getMessage().indexOf('Hello Dave!').should.not.eql(-1);
+ });
+
+ it('access HTTP request headers', function () {
+ var httpinNode = workspace.addNode("httpin");
+ var templateNode = workspace.addNode("template", nodeWidth * 1.5);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 2.5);
+
+ httpinNode.edit();
+ httpinNode.setMethod("get");
+ httpinNode.setUrl("/hello-headers");
+ httpinNode.clickOk();
+
+ templateNode.edit();
+ templateNode.setSyntax("mustache");
+ templateNode.setFormat("handlebars");
+ templateNode.setTemplate("\n\n\nUser agent: {{req.headers.user-agent}}
\n\n");
+ templateNode.clickOk();
+
+ httpinNode.connect(templateNode);
+ templateNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNode = workspace.addNode("inject", 0, nodeHeight);
+ var changeNode = workspace.addNode("change", nodeWidth, nodeHeight);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth * 2, nodeHeight);
+ var debugNode = workspace.addNode("debug", nodeWidth * 3, nodeHeight);
+
+ changeNode.edit();
+ changeNode.ruleSet("headers", "msg", "{\"user-agent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64)\"}", "json");
+ changeNode.clickOk();
+
+ httpRequestNode.edit();
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello-headers');
+ httpRequestNode.setMethod("get");
+ httpRequestNode.clickOk();
+
+ injectNode.connect(changeNode);
+ changeNode.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNode.clickLeftButton();
+ debugTab.getMessage().indexOf('Mozilla').should.not.eql(-1);
+ });
+
+ it('include data captured in another flow', function () {
+ var injectNodeTimestamp = workspace.addNode("inject");
+ var changeNodeStore = workspace.addNode("change", nodeWidth);
+
+ var httpinNode = workspace.addNode("httpin", 0, nodeHeight);
+ var changeNodeCopy = workspace.addNode("change", nodeWidth * 2, nodeHeight);
+ var templateNode = workspace.addNode("template", nodeWidth * 3, nodeHeight);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 4, nodeHeight);
+
+ injectNodeTimestamp.edit();
+ injectNodeTimestamp.setPayload("date");
+ injectNodeTimestamp.clickOk();
+
+ changeNodeStore.edit();
+ changeNodeStore.ruleSet("timestamp", "flow", "payload", "msg");
+ changeNodeStore.clickOk();
+
+ injectNodeTimestamp.connect(changeNodeStore);
+
+ httpinNode.edit();
+ httpinNode.setMethod("get");
+ httpinNode.setUrl("/hello-data");
+ httpinNode.clickOk();
+
+ changeNodeCopy.edit();
+ changeNodeCopy.ruleSet("timestamp", "msg", "timestamp", "flow");
+ changeNodeCopy.clickOk();
+
+ templateNode.edit();
+ templateNode.setSyntax("mustache");
+ templateNode.setFormat("handlebars");
+ templateNode.setTemplate("\n\n\nTime: {{ timestamp }}
\n\n");
+ templateNode.clickOk();
+
+ httpinNode.connect(changeNodeCopy);
+ changeNodeCopy.connect(templateNode);
+ templateNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNodeCheck = workspace.addNode("inject", 0, nodeHeight * 2);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth, nodeHeight * 2);
+ var debugNode = workspace.addNode("debug", nodeWidth * 2, nodeHeight * 2);
+
+ httpRequestNode.edit();
+ httpRequestNode.setMethod("get");
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello-data');
+ httpRequestNode.clickOk();
+
+ injectNodeCheck.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNodeTimestamp.clickLeftButton();
+ injectNodeCheck.clickLeftButton();
+ var index = debugTab.getMessage().indexOf('Time: ') + 6;
+ debugTab.getMessage().substring(index, index + 13).should.within(1500000000000, 3000000000000);
+ });
+
+ it('serve JSON content', function () {
+ var httpinNode = workspace.addNode("httpin");
+ var templateNode = workspace.addNode("template", nodeWidth);
+ var changeNode = workspace.addNode("change", nodeWidth * 2);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 3);
+
+ httpinNode.edit();
+ httpinNode.setMethod("get");
+ httpinNode.setUrl("/hello-json");
+ httpinNode.clickOk();
+
+ templateNode.edit();
+ templateNode.setSyntax("mustache");
+ templateNode.setFormat("handlebars");
+ templateNode.setTemplate("{ \"Hello\": \"World\" }");
+ templateNode.clickOk();
+
+ changeNode.edit();
+ changeNode.ruleSet("headers", "msg", "{}", "json", "1");
+ changeNode.addRule();
+ changeNode.ruleSet("headers.content-type", "msg", "application/json", "str", "2");
+ changeNode.clickOk();
+
+ httpinNode.connect(templateNode);
+ templateNode.connect(changeNode);
+ changeNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNode = workspace.addNode("inject", 0, nodeHeight);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth, nodeHeight);
+ var debugNode = workspace.addNode("debug", nodeWidth * 2, nodeHeight);
+
+ httpRequestNode.edit();
+ httpRequestNode.setMethod("get");
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello-json');
+ httpRequestNode.clickOk();
+
+ debugNode.edit();
+ debugNode.setTarget("msg", "headers");
+ debugNode.clickOk();
+
+ injectNode.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNode.clickLeftButton();
+ var message = debugTab.getMessage();
+ message[1].indexOf('application/json').should.not.eql(-1);
+ });
+
+ it('serve a local file', function () {
+ var httpinNode = workspace.addNode("httpin");
+ var fileinNode = workspace.addNode("filein", nodeWidth);
+ var changeNode = workspace.addNode("change", nodeWidth * 2, nodeHeight);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 3.5, nodeHeight);
+
+ httpinNode.edit();
+ httpinNode.setMethod("get");
+ httpinNode.setUrl("/hello-file");
+ httpinNode.clickOk();
+
+ fileinNode.edit();
+ fileinNode.setFilename("test/resources/file-in-node/test.txt");
+ fileinNode.setFormat("");
+ fileinNode.clickOk();
+
+ changeNode.edit();
+ changeNode.ruleSet("headers", "msg", "{}", "json");
+ changeNode.addRule();
+ changeNode.ruleSet("headers.content-type", "msg", "text/plain", "str", "2");
+ changeNode.clickOk();
+
+ httpinNode.connect(fileinNode);
+ fileinNode.connect(changeNode);
+ changeNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNode = workspace.addNode("inject", 0, nodeHeight * 2);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth, nodeHeight * 2);
+ var debugNode = workspace.addNode("debug", nodeWidth * 2, nodeHeight * 2);
+
+ httpRequestNode.edit();
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello-file');
+ httpRequestNode.setMethod("get");
+ httpRequestNode.clickOk();
+
+ injectNode.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNode.clickLeftButton();
+ debugTab.getMessage().indexOf('Text file').should.not.eql(-1);
+ });
+
+ it('post raw data to a flow', function() {
+ var httpinNode = workspace.addNode("httpin");
+ var templateNode = workspace.addNode("template", nodeWidth * 2);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 3);
+
+ httpinNode.edit();
+ httpinNode.setMethod("post");
+ httpinNode.setUrl("/hello-raw");
+ httpinNode.clickOk();
+
+ templateNode.edit();
+ templateNode.setSyntax("mustache");
+ templateNode.setFormat("handlebars");
+ templateNode.setTemplate("\n\n\nHello {{ payload }}!
\n\n");
+ templateNode.clickOk();
+
+ httpinNode.connect(templateNode);
+ templateNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNode = workspace.addNode("inject", 0, nodeHeight);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth, nodeHeight);
+ var debugNode = workspace.addNode("debug", nodeWidth * 2, nodeHeight);
+
+ injectNode.edit()
+ injectNode.setPayload("str", "Nick");
+ injectNode.clickOk();
+
+ httpRequestNode.edit();
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello-raw');
+ httpRequestNode.setMethod("post");
+ httpRequestNode.clickOk();
+
+ injectNode.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNode.clickLeftButton();
+ debugTab.getMessage().indexOf('Hello Nick!').should.not.eql(-1);
+ });
+
+ it('post form data to a flow', function () {
+ var httpinNode = workspace.addNode("httpin");
+ var templateNode = workspace.addNode("template", nodeWidth * 1.5);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 2.5);
+
+ httpinNode.edit();
+ httpinNode.setMethod("post");
+ httpinNode.setUrl("/hello-form");
+ httpinNode.clickOk();
+
+ templateNode.edit();
+ templateNode.setSyntax("mustache");
+ templateNode.setFormat("handlebars");
+ templateNode.setTemplate("\n\n\nHello {{ payload.name }}!
\n\n");
+ templateNode.clickOk();
+
+ httpinNode.connect(templateNode);
+ templateNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNode = workspace.addNode("inject", 0, nodeHeight);
+ var changeNode = workspace.addNode("change", nodeWidth, nodeHeight);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth * 2, nodeHeight);
+ var debugNode = workspace.addNode("debug", nodeWidth * 3, nodeHeight);
+
+ injectNode.edit()
+ injectNode.setPayload("str", "name=Nick");
+ injectNode.clickOk();
+
+ changeNode.edit();
+ changeNode.ruleSet("headers", "msg", "{\"content-type\":\"application/x-www-form-urlencoded\"}", "json");
+ changeNode.clickOk();
+
+ httpRequestNode.edit();
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello-form');
+ httpRequestNode.setMethod("post");
+ httpRequestNode.clickOk();
+
+ injectNode.connect(changeNode);
+ changeNode.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNode.clickLeftButton();
+ debugTab.getMessage().indexOf('Hello Nick!').should.not.eql(-1);
+ });
+
+ it('post JSON data to a flow', function() {
+ var httpinNode = workspace.addNode("httpin");
+ var templateNode = workspace.addNode("template", nodeWidth * 2);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 3);
+
+ httpinNode.edit();
+ httpinNode.setMethod("post");
+ httpinNode.setUrl("/hello-json");
+ httpinNode.clickOk();
+
+ templateNode.edit();
+ templateNode.setSyntax("mustache");
+ templateNode.setFormat("handlebars");
+ templateNode.setTemplate("\n\n\nHello {{ payload.name }}!
\n\n");
+ templateNode.clickOk();
+
+ httpinNode.connect(templateNode);
+ templateNode.connect(httpResponseNode);
+
+ // The code for confirmation starts from here.
+ var injectNode = workspace.addNode("inject", 0, nodeHeight);
+ var changeNode = workspace.addNode("change", nodeWidth, nodeHeight);
+ var httpRequestNode = workspace.addNode("httpRequest", nodeWidth * 2, nodeHeight);
+ var debugNode = workspace.addNode("debug", nodeWidth * 3, nodeHeight);
+
+ injectNode.edit()
+ injectNode.setPayload("json", "{\"name\":\"Nick\"}");
+ injectNode.clickOk();
+
+ changeNode.edit();
+ changeNode.ruleSet("headers", "msg", "{\"content-type\":\"application/json\"}", "json");
+ changeNode.clickOk();
+
+ httpRequestNode.edit();
+ httpRequestNode.setUrl(helper.url() + httpNodeRoot + '/hello-json');
+ httpRequestNode.setMethod("post");
+ httpRequestNode.clickOk();
+
+ injectNode.connect(changeNode);
+ changeNode.connect(httpRequestNode);
+ httpRequestNode.connect(debugNode);
+ // The code for confirmation ends here.
+
+ workspace.deploy();
+ debugTab.open();
+ debugTab.clearMessage();
+ injectNode.clickLeftButton();
+ debugTab.getMessage().indexOf('Hello Nick!').should.not.eql(-1);
+ });
+
+ it('work with cookies', function () {
+ this.timeout(60000);
+
+ var httpinNodeFormat = workspace.addNode("httpin");
+ var functionNodeFormat = workspace.addNode("function", nodeWidth * 1.5);
+ var templateNode = workspace.addNode("template", nodeWidth * 2.5);
+ var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 3.5);
+
+ var httpinNodeAdd = workspace.addNode("httpin", 0, nodeHeight);
+ var functionNodeAdd = workspace.addNode("function", nodeWidth * 1.5, nodeHeight);
+ var changeNode = workspace.addNode("change", nodeWidth * 2.5, nodeHeight * 1.5);
+
+ var httpinNodeClear = workspace.addNode("httpin", 0, nodeHeight * 2);
+ var functionNodeClear = workspace.addNode("function", nodeWidth * 1.5, nodeHeight * 2);
+
+ httpinNodeFormat.edit();
+ httpinNodeFormat.setMethod("get");
+ httpinNodeFormat.setUrl("/hello-cookie");
+ httpinNodeFormat.clickOk();
+
+ functionNodeFormat.edit();
+ functionNodeFormat.setCode("msg.payload = JSON.stringify(msg.req.cookies,null,4);");
+ functionNodeFormat.clickOk();
+
+ templateNode.edit();
+ templateNode.setSyntax("mustache");
+ templateNode.setFormat("handlebars");
+ templateNode.setTemplate("\n\n\nCookies
\nAdd a cookie • Clear cookies
{{ payload }}\n\n"); + templateNode.clickOk(); + + httpinNodeFormat.connect(functionNodeFormat); + functionNodeFormat.connect(templateNode); + templateNode.connect(httpResponseNode); + + httpinNodeAdd.edit(); + httpinNodeAdd.setMethod("get"); + httpinNodeAdd.setUrl("/hello-cookie/add"); + httpinNodeAdd.clickOk(); + + functionNodeAdd.edit(); + functionNodeAdd.setCode("msg.cookies = { };\n msg.cookies[\"demo-\"+(Math.floor(Math.random()*1000))] = Date.now();"); + functionNodeAdd.clickOk(); + + changeNode.edit(); + changeNode.ruleSet("statusCode", "msg", "302", "num"); + changeNode.addRule(); + changeNode.ruleSet("headers", "msg", "{}", "json", "2"); + changeNode.addRule(); + changeNode.ruleSet("headers.location", "msg", httpNodeRoot + "/hello-cookie", "str", "3"); + changeNode.clickOk(); + + httpinNodeAdd.connect(functionNodeAdd); + functionNodeAdd.connect(changeNode); + changeNode.connect(httpResponseNode); + + httpinNodeClear.edit(); + httpinNodeClear.setMethod("get"); + httpinNodeClear.setUrl("/hello-cookie/clear"); + httpinNodeClear.clickOk(); + + functionNodeClear.edit(); + functionNodeClear.setCode("var cookieNames = Object.keys(msg.req.cookies).filter(function(cookieName) { return /^demo-/.test(cookieName);});\nmsg.cookies = {};\n\ncookieNames.forEach(function(cookieName) {\n msg.cookies[cookieName] = null;\n});\n\n"); + functionNodeClear.clickOk(); + + httpinNodeClear.connect(functionNodeClear); + functionNodeClear.connect(changeNode); + + workspace.deploy(); + // This case cannot be checked since http request node does not transfer cookies when redirected. + }); + }); +}); diff --git a/test/editor/specs/scenario/cookbook_uispec.js b/test/editor/specs/scenario/cookbook_uispec.js index 4079ad8d2..3c73f854b 100644 --- a/test/editor/specs/scenario/cookbook_uispec.js +++ b/test/editor/specs/scenario/cookbook_uispec.js @@ -59,7 +59,7 @@ describe('cookbook', function() { debugTab.open(); debugTab.clearMessage(); injectNode.clickLeftButton(); - debugTab.getMessage().should.be.equal('"Hello World!"'); + debugTab.getMessage().should.eql('"Hello World!"'); }); it('delete a message property', function() { @@ -79,7 +79,7 @@ describe('cookbook', function() { debugTab.open(); debugTab.clearMessage(); injectNode.clickLeftButton(); - debugTab.getMessage().should.be.equal("undefined"); + debugTab.getMessage().should.eql("undefined"); }); it('move a message property', function() { @@ -103,7 +103,7 @@ describe('cookbook', function() { debugTab.open(); debugTab.clearMessage(); injectNode.clickLeftButton(); - debugTab.getMessage().should.be.equal('"Hello"'); + debugTab.getMessage().should.eql('"Hello"'); }); it('map a property between different numeric ranges', function() { @@ -138,11 +138,11 @@ describe('cookbook', function() { debugTab.open(); debugTab.clearMessage(); injectNode1.clickLeftButton(); - debugTab.getMessage(1).should.be.equal('0'); + debugTab.getMessage(1).should.eql('0'); injectNode2.clickLeftButton(); - debugTab.getMessage(2).should.be.equal('2.5024437927663734'); + debugTab.getMessage(2).should.eql('2.5024437927663734'); injectNode3.clickLeftButton(); - debugTab.getMessage(3).should.be.equal('5'); + debugTab.getMessage(3).should.eql('5'); }); }); @@ -160,7 +160,7 @@ describe('cookbook', function() { debugTab.open(); debugTab.clearMessage(); workspace.deploy(); - debugTab.getMessage().should.be.equal('"Started!"'); + debugTab.getMessage().should.eql('"Started!"'); }); it('trigger a flow at regular intervals', function() { @@ -213,7 +213,7 @@ describe('cookbook', function() { debugTab.open(); debugTab.clearMessage(); injectNode.clickLeftButton(); - debugTab.getMessage().should.be.equal('"Node-RED"'); + debugTab.getMessage().should.eql('"Node-RED"'); }); it('set the URL of a request', function() { @@ -323,7 +323,7 @@ describe('cookbook', function() { it('get a parsed JSON response', function() { var injectNode = workspace.addNode("inject"); - var changeNode_setPost = workspace.addNode("change", nodeWidth); + var changeNodeSetPost = workspace.addNode("change", nodeWidth); var httpRequetNode = workspace.addNode("httpRequest", nodeWidth * 2); var debugNode = workspace.addNode("debug", nodeWidth * 3); @@ -331,9 +331,9 @@ describe('cookbook', function() { injectNode.setPayload("str", "json-response"); injectNode.clickOk(); - changeNode_setPost.edit(); - changeNode_setPost.ruleSet("post", "msg", "payload", "msg"); - changeNode_setPost.clickOk(); + changeNodeSetPost.edit(); + changeNodeSetPost.ruleSet("post", "msg", "payload", "msg"); + changeNodeSetPost.clickOk(); httpRequetNode.edit(); httpRequetNode.setMethod("get"); @@ -346,14 +346,14 @@ describe('cookbook', function() { debugNode.setTarget("msg", "payload.title"); debugNode.clickOk(); - injectNode.connect(changeNode_setPost); - changeNode_setPost.connect(httpRequetNode); + injectNode.connect(changeNodeSetPost); + changeNodeSetPost.connect(httpRequetNode); httpRequetNode.connect(debugNode); // The code for confirmation starts from here. var httpinNode = workspace.addNode("httpin", 0, nodeHeight); var templateNode = workspace.addNode("template", nodeWidth * 1.5, nodeHeight); - var changeNode_setHeader = workspace.addNode("change", nodeWidth * 2.5, nodeHeight); + var changeNodeSetHeader = workspace.addNode("change", nodeWidth * 2.5, nodeHeight); var httpResponseNode = workspace.addNode("httpResponse", nodeWidth * 3.5, nodeHeight); httpinNode.edit(); @@ -367,13 +367,13 @@ describe('cookbook', function() { templateNode.setTemplate("{\"title\": \"Hello\"}"); templateNode.clickOk(); - changeNode_setHeader.edit(); - changeNode_setHeader.ruleSet("headers", "msg", "{\"content-type\":\"application/json\"}", "json"); - changeNode_setHeader.clickOk(); + changeNodeSetHeader.edit(); + changeNodeSetHeader.ruleSet("headers", "msg", "{\"content-type\":\"application/json\"}", "json"); + changeNodeSetHeader.clickOk(); httpinNode.connect(templateNode); - templateNode.connect(changeNode_setHeader); - changeNode_setHeader.connect(httpResponseNode); + templateNode.connect(changeNodeSetHeader); + changeNodeSetHeader.connect(httpResponseNode); // The code for confirmation ends here. workspace.deploy(); diff --git a/test/resources/file-in-node/test.txt b/test/resources/file-in-node/test.txt new file mode 100644 index 000000000..68ca53b4d --- /dev/null +++ b/test/resources/file-in-node/test.txt @@ -0,0 +1 @@ +Text file \ No newline at end of file