Exemple #1
0
 public void Setup()
 {
     fclp = new FluentCommandLineParser {
         IsCaseSensitive = true
     };
     setup = new SetupCommands(fclp)
     {
         DoExecute = false
     };
 }
Exemple #2
0
        public SetupCommandsModule() : base("/setupcommands")
        {
            Post["/apply"] = x => {
                SetupCommands.Set();
                return(HttpStatusCode.OK);
            };

            Post["/"] = x => {
                string data    = Request.Form.Data;
                var    objects = JsonConvert.DeserializeObject <Command[]>(data);
                Application.CurrentConfiguration.SetupCommands = objects;
                ConfigRepo.Save();
                return(HttpStatusCode.OK);
            };
        }
Exemple #3
0
 private static void ApplySetupConfiguration()
 {
     SetupCommands.Set();
 }
Exemple #4
0
        internal string PersistToXml()
        {
            using (StringWriter stringWriter = new StringWriter())
            {
                XmlWriterSettings settings = new XmlWriterSettings {
                    Indent = true, Encoding = Encoding.UTF8, ConformanceLevel = ConformanceLevel.Document, OmitXmlDeclaration = false, NewLineOnAttributes = false
                };

                using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, settings))
                {
                    xmlWriter.WriteProcessingInstruction("xml", @"version=""1.0"" encoding=""utf-8"" ");
                    xmlWriter.WriteStartElement("TestSuite", "http://tempuri.org/SsisUnit.xsd");

                    xmlWriter.WriteStartElement("ConnectionList");

                    foreach (ConnectionRef conn in ConnectionList.Values)
                    {
                        xmlWriter.WriteRaw(conn.PersistToXml());
                    }

                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteStartElement("PackageList");

                    foreach (PackageRef pkg in PackageList.Values)
                    {
                        xmlWriter.WriteRaw(pkg.PersistToXml());
                    }

                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteStartElement("DatasetList");

                    foreach (Dataset dataset in Datasets.Values)
                    {
                        xmlWriter.WriteRaw(dataset.PersistToXml());
                    }

                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteStartElement("TestSuiteSetup");
                    xmlWriter.WriteRaw(TestSuiteSetup.PersistToXml());
                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteStartElement("Setup");
                    xmlWriter.WriteRaw(SetupCommands.PersistToXml());
                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteStartElement("Tests");

                    foreach (Test test in Tests.Values)
                    {
                        xmlWriter.WriteRaw(test.PersistToXml());
                    }

                    foreach (TestRef testRef in TestRefs.Values)
                    {
                        xmlWriter.WriteRaw(testRef.PersistToXml());
                    }

                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteStartElement("Teardown");
                    xmlWriter.WriteRaw(TeardownCommands.PersistToXml());
                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteStartElement("TestSuiteTeardown");
                    xmlWriter.WriteRaw(TestSuiteTeardown.PersistToXml());
                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteEndElement();
                    xmlWriter.WriteEndDocument();

                    xmlWriter.Close();
                }

                return(stringWriter.ToString());
            }
        }
Exemple #5
0
        public BootModule() : base("/boot")
        {
            Get["/parameters"] = x => {
                var current = Application.CurrentConfiguration.Boot.Parameters;
                var running = Application.RunningConfiguration.Boot.Parameters;
                var result  = new BootParameterJoin[current.Length];
                for (var i = 0; i < current.Length; i++)
                {
                    var param = current[i];
                    var value = running.FirstOrDefault(_ => _.Key == param.Key) == null ? string.Empty : running.FirstOrDefault(_ => _.Key == param.Key).Value;
                    result[i] = new BootParameterJoin()
                    {
                        Key     = param.Key,
                        Value   = param.Value,
                        Running = value
                    };
                }
                return(JsonConvert.SerializeObject(result));
            };

            Get["/modules"] = x => {
                return(JsonConvert.SerializeObject(Application.CurrentConfiguration.Boot.Modules));
            };

            Get["/modules/list"] = x => {
                return(JsonConvert.SerializeObject(Mod.GetList()));
            };

            Get["/services"] = x => {
                return(JsonConvert.SerializeObject(Application.CurrentConfiguration.Boot.Services));
            };

            Get["/services/list"] = x => {
                return(JsonConvert.SerializeObject(Systemctl.GetList()));
            };

            Get["/commands"] = x => {
                return(JsonConvert.SerializeObject(Application.CurrentConfiguration.SetupCommands));
            };

            Post["/save/parameters"] = x => {
                string data    = Request.Form.Data;
                var    objects = JsonConvert.DeserializeObject <SystemParameter[]>(data);
                Application.CurrentConfiguration.Boot.Parameters = objects;
                ConfigRepo.Save();
                return(HttpStatusCode.OK);
            };

            Post["/save/modules"] = x => {
                string data    = Request.Form.Data;
                var    objects = JsonConvert.DeserializeObject <SystemModule[]>(data);
                Application.CurrentConfiguration.Boot.Modules = objects;
                ConfigRepo.Save();
                return(HttpStatusCode.OK);
            };

            Post["/save/services"] = x => {
                string data    = Request.Form.Data;
                var    objects = JsonConvert.DeserializeObject <SystemService[]>(data);
                Application.CurrentConfiguration.Boot.Services = objects;
                ConfigRepo.Save();
                return(HttpStatusCode.OK);
            };

            Post["/save/commands"] = x => {
                string data    = Request.Form.Data;
                var    objects = JsonConvert.DeserializeObject <Command[]>(data);
                Application.CurrentConfiguration.SetupCommands = objects;
                ConfigRepo.Save();
                return(HttpStatusCode.OK);
            };

            Post["/apply/parameters"] = x => {
                Sysctl.Set();
                return(HttpStatusCode.OK);
            };

            Post["/apply/modules"] = x => {
                Mod.Set();
                return(HttpStatusCode.OK);
            };

            Post["/apply/services"] = x => {
                Systemctl.Set();
                return(HttpStatusCode.OK);
            };

            Post["/apply/commands"] = x => {
                SetupCommands.Set();
                return(HttpStatusCode.OK);
            };
        }