Пример #1
0
        public void ConstructorNoParams()
        {
            var cmd = new CmdCommand("/bin/bash");

            Assert.AreEqual("/bin/bash", cmd.Cmd);

            Assert.AreEqual(0, cmd.Arguments.Length);
        }
Пример #2
0
        public void SimpleConstructor()
        {
            var cmd = new CmdCommand("/bin/bash", "arg1", "arg2");

            Assert.AreEqual("/bin/bash", cmd.Cmd);

            Assert.AreEqual(2, cmd.Arguments.Length);
            Assert.AreEqual("\"arg1\"", cmd.Arguments[0]);
            Assert.AreEqual("\"arg2\"", cmd.Arguments[1]);
        }
Пример #3
0
        private static void InterpretConsole(string consoleIn)
        {
            if (consoleIn != null)
            {
                string[] split = consoleIn.Split(' ');

                if (split != null && split[0] != null)
                {
                    string command = split[0].ToLower();

                    List <string> parameters = new List <string>();

                    for (int i = 1; i < split.Length; i++)
                    {
                        parameters.Add(split[i]);
                    }


                    if (commands.ContainsKey(command))
                    {
                        CmdCommand cCommand = commands[command];

                        if (parameters.Count < cCommand.minNumParams)
                        {
                            if (cCommand.maxNumParams != 0 && parameters.Count > cCommand.maxNumParams)
                            {
                                Console.WriteLine("Not enough, or too many, parameters. Num given: {0}, num required: {1} - {2}", parameters.Count, cCommand.minNumParams, cCommand.maxNumParams);
                            }
                            else
                            {
                                Console.WriteLine("Not enough, or too many, parameters. Num given: {0}, num required: {1} - {1}", parameters.Count, cCommand.minNumParams);
                            }

                            return;
                        }

                        cCommand.InterpretCommand(parameters);
                    }
                }
            }
        }
Пример #4
0
        void DoSmth(object sender, System.Timers.ElapsedEventArgs e)
        {
            //Планируется парсить папку сервиса, чтобы автообновление работало для нескольких сервисов
            //Путь к настройкам сервиса, пока что писать вручную
            string path = @"D:\VSProjects\AutoProcrun\AutoProcrun\bin\Debug\JavaServices\settings\AJavaServiceTest_settings.xml";

            Service service = Service.LoadSettings(path);

            if (service.autoUpdate)
            {
                //В папке latest_version находится последняя версия сервиса и если у него Specification-Version не совпадает происходит замена файла и перезапуск сервиса
                if (service.GetVersion(service.latestVersionPath) != service.GetVersion(service.classpath))
                {
                    System.IO.File.Copy(service.latestVersionPath, service.classpath, true);
                    string command = "sc stop " + service.serviceID;
                    CmdCommand.ExecuteCommandSync(command);
                    command = "sc start " + service.serviceID;
                    CmdCommand.ExecuteCommandSync(command);
                }
            }
        }
Пример #5
0
        public void ToStringNoParams()
        {
            var cmd = new CmdCommand("/bin/bash");

            Assert.AreEqual("CMD [\"/bin/bash\"]", cmd.ToString());
        }
Пример #6
0
        public void ToStringWithParams()
        {
            var cmd = new CmdCommand("/bin/bash", "arg1", "arg2");

            Assert.AreEqual("CMD [\"/bin/bash\", \"arg1\", \"arg2\"]", cmd.ToString());
        }