public void TestCanGetBool() { string[] args = new string[] { "NAME=1" }; CommandLineConfig config = new CommandLineConfig(LoggingService(), args); Assert.AreEqual(true, config.GetBool("NAME")); }
public void TestSingleArgument() { string[] args = new string[] { "NAME=VALUE" }; CommandLineConfig config = new CommandLineConfig(LoggingService(), args); Assert.AreEqual("VALUE", config.GetString("NAME")); }
public void TestIpAddress() { var args = new[] { "" }; var config = new CommandLineConfig(args); Assert.Equal(config.IpAddress.ToString(), "0.0.0.0"); }
private static void Main(string[] args) { var config = new CommandLineConfig(args); var server = Server(config); var tokenSource = new CancellationTokenSource(); server.Start(tokenSource.Token); }
public void TestArgsProvided() { var args = new[] { "-p", "7000", "-d", "/this/directory", "-l", "./logfile.txt" }; var config = new CommandLineConfig(args); Assert.Equal(config.Port, 7000); Assert.Equal(config.PublicDir, "/this/directory"); Assert.Equal(config.LogFile, "./logfile.txt"); }
private static Server Server(CommandLineConfig config) { var listener = new Listener(config.IpAddress, config.Port); var parser = new Parser(); var router = BasicServerRouter.Configure(); var factory = new RequestProcessorFactory(parser, router); var logger = new FileLogger(config.LogFile); var server = new Server(listener, factory, logger); return(server); }
public ServerIntegrationTest() { var args = new string[] { "-d", _publicDir, "-l", _logFile }; _config = new CommandLineConfig(args); _tokenSource = new CancellationTokenSource(); var listener = new Listener(_config.IpAddress, _config.Port); var parser = new Parser(); var router = new Router(); router.AddRoute(new Route("GET", "/", new DirHandler(_config.PublicDir))); var factory = new RequestProcessorFactory(parser, router); var logger = new FileLogger(_config.LogFile); _server = new Server(listener, factory, logger); var startTask = Task.Run(() => _server.Start(_tokenSource.Token)); }
internal new static Config Parse(IEnumerable <String> args) { return((Config)CommandLineConfig.Parse(args)); }
internal new static Config Parse(params String[] args) { return((Config)CommandLineConfig.Parse(args)); }
public static void LoadFromFile(string filename) { #region Config file loading and verification var doc = new XmlDocument(); try { doc.Load(File.OpenRead(filename)); } catch (Exception e) { throw ConfigurationException.AppConfigLoadFailure(e); } var xnList = doc.GetElementsByTagName("mbuilder"); if (xnList.Count != 1) { throw ConfigurationException.MultipleMBuilderSettings(); } #endregion var mbuildRoot = xnList[0] as XmlElement; if (mbuildRoot == null) { throw ConfigurationException.ConfigurationReadFailure(); } var nodeList = mbuildRoot.SelectSingleNode("setup/debug") as XmlElement; if (nodeList != null && nodeList.HasAttribute("enabled")) { IsDebug = nodeList.Attributes["enabled"].Value.ToLower() == bool.TrueString.ToLower(); } else { IsDebug = false; } var pm = new PropertyManager(); nodeList = mbuildRoot.SelectSingleNode("setup/asyncbuilders") as XmlElement; if (nodeList != null && nodeList.HasAttribute("count")) { var rawBuilderCount = nodeList.Attributes["count"].Value; var strBuildCount = pm.Evaluate(rawBuilderCount); var bldCount = 0; if (!Int32.TryParse(strBuildCount, out bldCount)) { throw ConfigurationException.ConfigurationReadFailure("setup/asyncbuilders"); } MaximumBuilders = bldCount; } else { MaximumBuilders = Environment.ProcessorCount; } Log.DebugFormat("Debug Mode: {0}", IsDebug); Log.DebugFormat("Asynchronous Builders: {0}", MaximumBuilders); nodeList = mbuildRoot.SelectSingleNode("builders/commandlinebuilder") as XmlElement; if (nodeList != null) { CommandLineConfig.Configure(nodeList); } }