예제 #1
0
        public void testShellScripting()
        {
            ScriptExecutorFactory        factory = ScriptExecutorFactory.NewInstance("Shell");
            ScriptExecutor               exe     = factory.NewScriptExecutor(new Assembly[0], "echo bob", false);
            IDictionary <string, object> vals    = new Dictionary <string, object>();

            Assert.AreEqual(0, exe.Execute(vals));
        }
예제 #2
0
        public void testBooScripting()
        {
            ScriptExecutorFactory        factory = ScriptExecutorFactory.NewInstance("BOO");
            ScriptExecutor               exe     = factory.NewScriptExecutor(new Assembly[0], "x", false);
            IDictionary <string, object> vals    = new Dictionary <string, object>();

            vals["x"] = 1;
            Assert.AreEqual(1, exe.Execute(vals));
            vals["x"] = 2;
            Assert.AreEqual(2, exe.Execute(vals));
        }
예제 #3
0
        public virtual object RunScriptOnConnector(ScriptContext request, OperationOptions options)
        {
            ScriptExecutorFactory factory  = ScriptExecutorFactory.NewInstance(request.ScriptLanguage);
            ScriptExecutor        executor = factory.NewScriptExecutor(new[] { Assembly.GetExecutingAssembly() },
                                                                       request.ScriptText, true);

            if (String.IsNullOrEmpty(options.RunAsUser))
            {
                string password = SecurityUtil.Decrypt(options.RunWithPassword);
                // Use these to execute the script with these credentials
                Debug.Assert(password != null, "Password is required");
            }
            try
            {
                return(executor.Execute(request.ScriptArguments));
            }
            catch (Exception e)
            {
                TraceUtil.TraceException("Failed to execute Script", e);
                throw;
            }
        }
예제 #4
0
 public void testUnsupported()
 {
     ScriptExecutorFactory.NewInstance("fadsflkj");
 }