/// <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));
        }
Example #2
0
        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);
        }
Example #7
0
        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");
        }
Example #14
0
        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);
        }
Example #17
0
        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");
        }