/// <summary> /// Execute the sample /// </summary> /// <returns></returns> public override BoolMessageItem Execute() { string sampleScript = @"<automation> <!-- Variables --> <var name=""first"" value=""kishore"" /> <var name=""last"" value=""reddy"" /> <var name=""version"" value=""0.9.7"" /> <!-- commands --> <command name=""helloworld"" email=""${first}.${last}@mysite.com"" subject=""CommonLibrary.NET ${version} is out"" /> </automation>"; // create script runner and tell it to run xml scripts, and to load // the commands from the CommonLibrary.dll which // only has one command ( bottom of this file "CommandHelloWorld" ). var runner = new AutomationRunner("xml", "Commonlibrary"); // 1. Xml automation script var results = runner.RunText(sampleScript); runner.WriteResultsToFile("c:/temp/automation.xml"); // 2. Command Line style automation script runner.Init("cmd", "CommonLibrary"); runner.RunText(@"helloword email=""*****@*****.**"" subject=""comlib automation component"""); return(new BoolMessageItem(null, true, string.Empty)); }
public void CanParseVariableRef() { var js = ContentLoader.GetTextFileContent("Lang.script1.js"); var runner = new AutomationRunner("js", ContentLoader.TestDllName); var results = runner.RunText(js); int hour = runner.Script.Scope.Get <int>("hour"); Assert.AreEqual(hour, DateTime.Now.Hour); }
public void Can_Fail_With_Invalid_Xml() { var xml = ContentLoader.GetTextFileContent("Automation.Script_error2_invalid_xml.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); // Check the entrie script result. Assert.IsFalse(runner.Result.Success); Assert.IsTrue(runner.Result.Message.Contains("Unable to load xml :")); }
public void Can_Fail_With_Exception() { var xml = ContentLoader.GetTextFileContent("Automation.Script_error3_exception.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); // Check the entrie script result. Assert.IsFalse(runner.Result.Success); Assert.IsFalse(runner.Result.CommandResults[0].Success); }
public void Can_Use_RefKey() { var xml = ContentLoader.GetTextFileContent("Automation.Script5.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); Assert.IsTrue(runner.Result.Success); Assert.AreEqual(results.ValueForRefKey("k1"), "HelloWorld return value"); }
public void Can_Run_Loop() { var xml = ContentLoader.GetTextFileContent("Automation.Script11.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); CommandCountTest.Count = 0; var result = runner.RunText(xml); Assert.IsTrue(result.Success); Assert.AreEqual(CommandCountTest.Count, 4); }
public void CanCallFuncWithVarRefs() { var js = ContentLoader.GetTextFileContent("Lang.script2.js"); var runner = new AutomationRunner("js", ContentLoader.TestDllName); var results = runner.RunText(js); Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "HelloWorldAutoMap"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 18); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, "HelloWorldAutoMap kishore true 32 2/2/1979"); }
public void Can_Call_Command_With_AutoMapping() { var xml = ContentLoader.GetTextFileContent("Automation.Script2.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); Assert.IsTrue(runner.Result.Success); //Assert.IsTrue(runner.Result.StartTime < runner.Result.EndTime); // Check the command result. Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "HelloWorldAutoMap"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 0); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, @"HelloWorldAutoMap kishore true 32 2/2/1979"); }
public void Can_Substitue_Variables_And_Command_Args() { var xml = ContentLoader.GetTextFileContent("Automation.Script4.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); Assert.IsTrue(runner.Result.Success); //Assert.IsTrue(runner.Result.StartTime < runner.Result.EndTime); // Check the command result. Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "HelloWorldAutoMap"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 0); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, "HelloWorldAutoMap kishore.reddy_0.9.7 true 101 2/2/1979"); }
public void Can_Fail_With_UnKnown_Command() { var xml = ContentLoader.GetTextFileContent("Automation.Script_error1_unknown_command.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); // Check the entrie script result. Assert.IsFalse(runner.Result.Success); //Assert.IsTrue(runner.Result.StartTime < runner.Result.EndTime); // Check the command result. Assert.IsFalse(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "some-crazy-command"); Assert.AreEqual(runner.Result.CommandResults[0].Message, "Unknown command : some-crazy-command"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 0); }
public void Can_Call_Command() { var xml = ContentLoader.GetTextFileContent("Automation.Script1.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); // Check the entrie script result. Assert.IsTrue(runner.Result.Success); //Assert.IsTrue(runner.Result.StartTime < runner.Result.EndTime); // Check the command result. Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "HelloWorld"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 0); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, "HelloWorld return value"); }
public void Can_Include_External_File() { var xml = ContentLoader.GetTextFileContent("Automation.Script7.xml"); var settings = ContentLoader.GetTextFileContent("Automation.CommonSettings.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); runner.Script.Include("commonsettings.xml", settings); var results = runner.RunText(xml); // Check the command result. Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "HelloWorldAutoMap"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 0); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, "HelloWorldAutoMap kishore.reddy_0.9.7 true 101 2/2/1979"); }
public void Can_Assign_Result_To_Variable() { var xml = ContentLoader.GetTextFileContent("Automation.Script9.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); // Check the command result. Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "HelloWorld"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 0); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, "HelloWorld return value"); // Check that the variable greetingresult get the return value of the command. Assert.AreEqual(runner.Script.Get <string>("greetingresult"), "HelloWorld return value"); }
public void CanCallFunc() { var js = ContentLoader.GetTextFileContent("Lang.script3.js"); var runner = new AutomationRunner("js", ContentLoader.TestDllName); var results = runner.RunText(js); Assert.IsTrue(runner.Result.Success); //Assert.IsTrue(runner.Result.StartTime < runner.Result.EndTime); // Check the command result. Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "HelloWorld"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 14); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, @"HelloWorld return value"); }
public void Can_Access_InnerXml_Element() { var xml = ContentLoader.GetTextFileContent("Automation.Script6.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); Assert.IsTrue(runner.Result.Success); // Check the command result. Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "CreateEvent"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 0); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, "Disucss .NET in startups"); }
public void Can_Get_Total_Output_Of_Commands() { var xml = ContentLoader.GetTextFileContent("Automation.Script3.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); var output = results.Messages(Environment.NewLine); var expectedMessage = "HelloWorld : HelloWorld message" + Environment.NewLine + "HelloWorldAutoMap : HelloWorldAutoMap message" + Environment.NewLine; Assert.IsTrue(runner.Result.Success); // Check the command result. Assert.IsTrue(runner.Result.CommandResults.Count == 2); Assert.AreEqual(output, expectedMessage); }
public void CanCallMutlipleMethods() { var js = ContentLoader.GetTextFileContent("Lang.script4.js"); var runner = new AutomationRunner("js", ContentLoader.TestDllName); var results = runner.RunText(js); Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "BlogTest.Delete"); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, "Delete called with : 2"); Assert.AreEqual(runner.Result.CommandResults[1].Name, "BlogTest.Create"); Assert.AreEqual((string)runner.Result.CommandResults[1].Item, "Create called with : blog 1, 20, True"); Assert.AreEqual(runner.Result.CommandResults[2].Name, "BlogTest.Create"); Assert.AreEqual((string)runner.Result.CommandResults[2].Item, "Create called with : blog 1, 20, True"); Assert.AreEqual(runner.Result.CommandResults[3].Name, "BlogTest.DeleteAll"); Assert.AreEqual((string)runner.Result.CommandResults[3].Item, "DeleteAll called"); }
public void Can_Continue_With_Exception() { var xml = ContentLoader.GetTextFileContent("Automation.Script5.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); var results = runner.RunText(xml); Assert.IsTrue(runner.Result.Success); // Check the command result. Assert.IsFalse(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "ExceptionTest"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 0); // Check the command result. Assert.IsTrue(runner.Result.CommandResults[1].Success); Assert.AreEqual(runner.Result.CommandResults[1].Name, "HelloWorld"); Assert.AreEqual(runner.Result.CommandResults[1].Index, 1); Assert.AreEqual((string)runner.Result.CommandResults[1].Item, "HelloWorld return value"); }
public void Can_Register_Variables() { var xml = ContentLoader.GetTextFileContent("Automation.Script8.xml"); var runner = new AutomationRunner("xml", ContentLoader.TestDllName); runner.Script.SetVariable("first", "kishore"); runner.Script.SetVariable("last", "reddy"); runner.Script.SetVariable("age", "101"); runner.Script.SetVariable("birthdate", "2/2/1979"); runner.Script.SetVariable("active", "true"); runner.Script.SetVariable("major", "0"); runner.Script.SetVariable("minor", "9"); runner.Script.SetVariable("revision", "7"); runner.Script.SetVariable("comlibversion", "${major}.${minor}.${revision}"); var results = runner.RunText(xml); // Check the command result. Assert.IsTrue(runner.Result.CommandResults[0].Success); Assert.AreEqual(runner.Result.CommandResults[0].Name, "HelloWorldAutoMap"); Assert.AreEqual(runner.Result.CommandResults[0].Index, 0); Assert.AreEqual((string)runner.Result.CommandResults[0].Item, "HelloWorldAutoMap kishore.reddy_0.9.7 true 101 2/2/1979"); }