protected override void BuildDataList()
        {
            List<Tuple<string, string>> variableList;
            ScenarioContext.Current.TryGetValue("variableList", out variableList);

            if(variableList == null)
            {
                variableList = new List<Tuple<string, string>>();
                ScenarioContext.Current.Add("variableList", variableList);
            }

            variableList.Add(new Tuple<string, string>(ResultVariable, ""));
            BuildShapeAndTestData();

            string scriptToExecute;
            ScenarioContext.Current.TryGetValue("scriptToExecute", out scriptToExecute);
            enScriptType language;
            ScenarioContext.Current.TryGetValue("language", out language);

            var dsfScripting = new DsfScriptingActivity
                {
                    Script = scriptToExecute,
                    ScriptType = language,
                    Result = ResultVariable
                };

            TestStartNode = new FlowStep
                {
                    Action = dsfScripting
                };
            ScenarioContext.Current.Add("activity", dsfScripting);
        }
Example #2
0
        protected override void BuildDataList()
        {
            List <Tuple <string, string> > variableList;

            ScenarioContext.Current.TryGetValue("variableList", out variableList);

            if (variableList == null)
            {
                variableList = new List <Tuple <string, string> >();
                ScenarioContext.Current.Add("variableList", variableList);
            }

            variableList.Add(new Tuple <string, string>(ResultVariable, ""));
            BuildShapeAndTestData();

            string scriptToExecute;

            ScenarioContext.Current.TryGetValue("scriptToExecute", out scriptToExecute);
            enScriptType language;

            ScenarioContext.Current.TryGetValue("language", out language);

            var dsfScripting = new DsfScriptingActivity
            {
                Script     = scriptToExecute,
                ScriptType = language,
                Result     = ResultVariable
            };

            TestStartNode = new FlowStep
            {
                Action = dsfScripting
            };
            ScenarioContext.Current.Add("activity", dsfScripting);
        }
Example #3
0
        public void DsfScriptingActivity_GetState_ReturnsStateVariable()
        {
            //---------------Set up test pack-------------------
            //------------Setup for test--------------------------
            var act = new DsfScriptingActivity {
                Script = "def add", EscapeScript = true, IncludeFile = "temp.py", Result = "[[res]]"
            };
            //------------Execute Test---------------------------
            var stateItems = act.GetState();

            Assert.AreEqual(4, stateItems.Count());

            var expectedResults = new[]
            {
                new StateVariable
                {
                    Name  = "Script",
                    Type  = StateVariable.StateType.Input,
                    Value = "def add"
                },
                new StateVariable
                {
                    Name  = "IncludeFile",
                    Type  = StateVariable.StateType.Input,
                    Value = "temp.py"
                },
                new StateVariable
                {
                    Name  = "EscapeScript",
                    Type  = StateVariable.StateType.Input,
                    Value = "True"
                },
                new StateVariable
                {
                    Name  = "Result",
                    Type  = StateVariable.StateType.Output,
                    Value = "[[res]]"
                }
            };

            var iter = act.GetState().Select(
                (item, index) => new
            {
                value       = item,
                expectValue = expectedResults[index]
            }
                );

            //------------Assert Results-------------------------
            foreach (var entry in iter)
            {
                Assert.AreEqual(entry.expectValue.Name, entry.value.Name);
                Assert.AreEqual(entry.expectValue.Type, entry.value.Type);
                Assert.AreEqual(entry.expectValue.Value, entry.value.Value);
            }
        }
        public void GivenFunctionNotInExternalFile_Execute_Pythonscript_ShouldNotExecuteFunction()
        {
            var activity = new DsfScriptingActivity();

            Assert.IsNotNull(activity);
            activity.Script     = "return \"someValue\".endsWith(\"e\")";
            activity.ScriptType = enScriptType.Python;
            activity.Execute(DataObject, 0);
            Assert.AreEqual(1, DataObject.Environment.Errors.Count);
        }
        public void GivenExternalFile_Execute_Javascript_ShouldExecuteExternalFunction()
        {
            var activity = new DsfScriptingActivity();

            Assert.IsNotNull(activity);
            activity.IncludeFile = GetJsTmpFile();
            activity.Script      = "return \"someValue\".endsWith(\"e\")";
            activity.ScriptType  = enScriptType.JavaScript;
            activity.Execute(DataObject, 0);
            Assert.AreEqual(0, DataObject.Environment.Errors.Count);
        }
        public void GivenExternalFile_Execute_Pythonscript_ShouldExecuteExternalFunction()
        {
            var activity = new DsfScriptingActivity();

            Assert.IsNotNull(activity);
            activity.IncludeFile = GetPyTmpFile();
            activity.Script      = "return GreaterThanFive(10)";
            activity.ScriptType  = enScriptType.Python;
            activity.Execute(DataObject, 0);
            Assert.AreEqual(0, DataObject.Environment.Errors.Count);
        }
        public void DsfScriptingActivity_ShouldReturnResults()
        {
            var activity = new DsfScriptingActivity();

            Assert.IsNotNull(activity);
            activity.IncludeFile = GetJsTmpFile();
            activity.Script      = "return \"someValue\".endsWith(\"e\")";
            activity.ScriptType  = enScriptType.JavaScript;
            activity.Execute(DataObject, 0);
            Assert.AreEqual(0, DataObject.Environment.Errors.Count);
            var debugOutputs = activity.GetForEachOutputs();

            Assert.IsNotNull(debugOutputs);
        }
        public void DsfScriptingActivity_GivenInvalidScript_SholdReturnException()
        {
            var activity = new DsfScriptingActivity();

            Assert.IsNotNull(activity);
            activity.IncludeFile = GetJsTmpFile();
            activity.Script      = "return \"someValue\".endsWith(\"e\")";
            activity.ScriptType  = enScriptType.JavaScript;
            activity.Execute(DataObject, 0);
            Assert.AreEqual(0, DataObject.Environment.Errors.Count);
            var debugInputs = activity.GetDebugInputs(DataObject.Environment, 0);

            Assert.IsNotNull(debugInputs);
        }
Example #9
0
        public void UniqueIDDifferent_EmptyCountRecordset_Object_Is_Equal()
        {
            //---------------Set up test pack-------------------
            var dsfScriptingActivity = new DsfScriptingActivity();
            var javascriptActivity   = new DsfScriptingActivity();

            //---------------Assert Precondition----------------
            Assert.IsNotNull(dsfScriptingActivity);
            //---------------Execute Test ----------------------
            var @equals = dsfScriptingActivity.Equals(javascriptActivity);

            //---------------Test Result -----------------------
            Assert.IsFalse(@equals);
        }
        public void GetOutputs_Called_ShouldReturnListWithResultValueInIt()
        {
            //------------Setup for test--------------------------
            var act = new DsfScriptingActivity
            {
                IncludeFile = GetJsTmpFile(),
                Script      = "return \"someValue\".endsWith(\"e\")",
                ScriptType  = enScriptType.JavaScript,
                Result      = "[[scrRes]]"
            };
            //------------Execute Test---------------------------
            var outputs = act.GetOutputs();

            //------------Assert Results-------------------------
            Assert.AreEqual(1, outputs.Count);
            Assert.AreEqual("[[scrRes]]", outputs[0]);
        }
        public void DsfScriptingActivity_GivenInvalidScript_SholdUpdateForEachInputs()
        {
            var activity = new DsfScriptingActivity();

            Assert.IsNotNull(activity);
            activity.IncludeFile = GetJsTmpFile();
            const string script = "return \"someValue\".endsWith(\"e\")";

            activity.Script     = script;
            activity.ScriptType = enScriptType.JavaScript;
            activity.Execute(DataObject, 0);
            var tuple1 = new Tuple <string, string>(script, "Test");

            activity.UpdateForEachInputs(new List <Tuple <string, string> > {
                tuple1
            });
            Assert.AreEqual(enScriptType.JavaScript, activity.ScriptType);
        }
Example #12
0
        public void IncludeFile_Same_Object_IsEqual()
        {
            //---------------Set up test pack-------------------
            var uniqueId           = Guid.NewGuid().ToString();
            var javascriptActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, IncludeFile = "a"
            };
            var dsfScriptingActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, IncludeFile = "a"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(javascriptActivity);
            //---------------Execute Test ----------------------
            var @equals = javascriptActivity.Equals(dsfScriptingActivity);

            //---------------Test Result -----------------------
            Assert.IsTrue(@equals);
        }
Example #13
0
        public void UniqueIDEquals_EmptyJavascript_Object_IsEqual()
        {
            //---------------Set up test pack-------------------
            var uniqueId             = Guid.NewGuid().ToString();
            var dsfScriptingActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId
            };
            var javascriptActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(dsfScriptingActivity);
            //---------------Execute Test ----------------------
            var @equals = dsfScriptingActivity.Equals(javascriptActivity);

            //---------------Test Result -----------------------
            Assert.IsTrue(@equals);
        }
Example #14
0
        public void Equals_Given_Different_Object_Is_Not_Equal()
        {
            //---------------Set up test pack-------------------
            var uniqueId           = Guid.NewGuid().ToString();
            var javascriptActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, DisplayName = "A"
            };
            var dsfScriptingActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, DisplayName = "ass"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(javascriptActivity);
            //---------------Execute Test ----------------------
            var @equals = javascriptActivity.Equals(dsfScriptingActivity);

            //---------------Test Result -----------------------
            Assert.IsFalse(@equals);
        }
Example #15
0
        public void ScriptType_Different_Object_Is_Not_Equal()
        {
            //---------------Set up test pack-------------------
            var uniqueId           = Guid.NewGuid().ToString();
            var javascriptActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, ScriptType = enScriptType.JavaScript
            };
            var dsfScriptingActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, ScriptType = enScriptType.Python
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(javascriptActivity);
            //---------------Execute Test ----------------------
            var @equals = javascriptActivity.Equals(dsfScriptingActivity);

            //---------------Test Result -----------------------
            Assert.IsFalse(@equals);
        }
Example #16
0
        public void IncludeFile_Different_Object_Is_Not_Equal_CaseSensitive()
        {
            //---------------Set up test pack-------------------
            var uniqueId           = Guid.NewGuid().ToString();
            var javascriptActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, IncludeFile = "AAA"
            };
            var dsfScriptingActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, IncludeFile = "aaa"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(javascriptActivity);
            //---------------Execute Test ----------------------
            var @equals = javascriptActivity.Equals(dsfScriptingActivity);

            //---------------Test Result -----------------------
            Assert.IsFalse(@equals);
        }
Example #17
0
        public void EscapeScript_Same_Object_Is_Equal()
        {
            //---------------Set up test pack-------------------
            var uniqueId           = Guid.NewGuid().ToString();
            var javascriptActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, EscapeScript = true
            };
            var dsfScriptingActivity = new DsfScriptingActivity()
            {
                UniqueID = uniqueId, EscapeScript = false
            };

            //---------------Assert Precondition----------------
            Assert.IsFalse(javascriptActivity.Equals(dsfScriptingActivity));
            //---------------Execute Test ----------------------
            javascriptActivity.EscapeScript   = true;
            dsfScriptingActivity.EscapeScript = true;
            var @equals = javascriptActivity.Equals(dsfScriptingActivity);

            //---------------Test Result -----------------------
            Assert.IsTrue(@equals);
        }
Example #18
0
        protected override void BuildDataList()
        {
            scenarioContext.TryGetValue("variableList", out List <Tuple <string, string> > variableList);

            if (variableList == null)
            {
                variableList = new List <Tuple <string, string> >();
                scenarioContext.Add("variableList", variableList);
            }

            variableList.Add(new Tuple <string, string>(ResultVariable, ""));
            BuildShapeAndTestData();

            scenarioContext.TryGetValue("scriptToExecute", out string scriptToExecute);
            scenarioContext.TryGetValue("language", out enScriptType language);
            scenarioContext.TryGetValue("javascript", out DsfJavascriptActivity javascriptActivity);

            if (javascriptActivity != null)
            {
                javascriptActivity.Script = scriptToExecute;
                javascriptActivity.Result = ResultVariable;

                TestStartNode = new FlowStep
                {
                    Action = javascriptActivity
                };
                scenarioContext.Add("activity", javascriptActivity);
                return;
            }

            _featureContext.TryGetValue("pythonActivity", out DsfPythonActivity pythonActivity);

            if (pythonActivity != null)
            {
                pythonActivity.Script = scriptToExecute;
                pythonActivity.Result = ResultVariable;

                TestStartNode = new FlowStep
                {
                    Action = pythonActivity
                };
                scenarioContext.Add("activity", pythonActivity);
                return;
            }

            _featureContext.TryGetValue("rubyActivity", out DsfRubyActivity rubyActivity);

            if (rubyActivity != null)
            {
                rubyActivity.Script = scriptToExecute;
                rubyActivity.Result = ResultVariable;

                TestStartNode = new FlowStep
                {
                    Action = rubyActivity
                };
                scenarioContext.Add("activity", rubyActivity);
                return;
            }

            var dsfScripting = new DsfScriptingActivity
            {
                Script     = scriptToExecute,
                ScriptType = language,
                Result     = ResultVariable
            };

            TestStartNode = new FlowStep
            {
                Action = dsfScripting
            };
            scenarioContext.Add("activity", dsfScripting);
        }