public void Generate_ConfigurationExtensions_WhenPropertyHasInvalidIdentifier() { var(generated, _) = _configGenerator.Generate("InvalidIdentifier.json"); generated.Select(x => x.fileName).Should().ContainSingle(x => x == "ConfigurationExtensions.cs"); var configurationExtensions = generated.FirstOrDefault(x => x.fileName == "ConfigurationExtensions.cs"); configurationExtensions.generatedClass.Should().Contain(@"return configuration.GetValue<int>(""MyArray:LogLevel2:Microsoft,[Host.ing,Lifetime1"")"); AssertCompilation(generated); }
public void Generate_FromMyArrayFile_ShouldContains_ListOfMyArray() { var(generated, _) = _configGenerator.Generate("MyArray.json"); generated.Select(x => x.fileName).Should().ContainSingle(x => x == "MyArray.cs"); var appsettings = generated.FirstOrDefault(x => x.fileName == "AppSettings.cs"); appsettings.generatedClass.Should().Contain("public System.Collections.Generic.List<MyArray> MyArray { get; set; }"); AssertCompilation(generated); }
public void Generate_FromBasicDataTypes_Should_CreateBasicTypes() { using var assertionScope = new AssertionScope(); var(generated, _) = _configGenerator.Generate("BasicDataTypes.json"); var appsettings = generated.FirstOrDefault(x => x.fileName == "AppSettings.cs"); appsettings.generatedClass.Should().Contain("public int number_1 { get; set; }"); appsettings.generatedClass.Should().Contain("public int number_2 { get; set; }"); appsettings.generatedClass.Should().Contain("public float number_3 { get; set; }"); appsettings.generatedClass.Should().Contain("public int number_4 { get; set; }"); appsettings.generatedClass.Should().Contain("public bool bool_1 { get; set; }"); appsettings.generatedClass.Should().Contain("public bool bool_2 { get; set; }"); appsettings.generatedClass.Should().Contain("public string popularity { get; set; }"); appsettings.generatedClass.Should().Contain("public System.TimeSpan Timespan_1 { get; set; }"); appsettings.generatedClass.Should().Contain("public System.DateTime DateTime_1 { get; set; }"); appsettings.generatedClass.Should().Contain("public System.Collections.Generic.List<System.DateTime> Array_1 { get; set; }"); appsettings.generatedClass.Should().Contain("public System.Collections.Generic.List<string> Array_2 { get; set; }"); // invalid identifier skip appsettings.generatedClass.Should().NotContain("public _object _object { get; set; }"); generated.Select(x => x.fileName).Should().NotContain(x => x == "_object.cs"); var(compilationResult, reason) = new TestCodeCompiler().Compile(generated.Select(x => x.generatedClass)); compilationResult.Should().BeTrue(); reason.Should().BeEmpty(); }
public void Generate_() { using var assertionScope = new AssertionScope(); var(generated, _) = _configGenerator.Generate("NLog.json"); generated.Select(x => x.fileName).Should().ContainSingle(x => x == "extensions.cs"); var appsettings = generated.FirstOrDefault(x => x.fileName == "AppSettings.cs"); appsettings.generatedClass.Should().Contain("public NLog NLog { get; set; }"); var(compilationResult, reason) = new TestCodeCompiler().Compile(generated.Select(x => x.generatedClass)); compilationResult.Should().BeTrue(); reason.Should().BeEmpty(); }
static void Main(string[] args) { MarkdownGenerator markdownGenerator = new MarkdownGenerator(); SharedContent sharedContent = new SharedContent(); MetricsGenerator metricsGenerator = new MetricsGenerator(sharedContent); metricsGenerator.Generate(); ConfigGenerator configGenerator = new ConfigGenerator(sharedContent); configGenerator.Generate(); RpcAndCliGenerator rpcAndCliGenerator = new RpcAndCliGenerator(markdownGenerator, sharedContent); rpcAndCliGenerator.Generate(); SampleConfigGenerator sampleConfigGenerator = new SampleConfigGenerator(markdownGenerator, sharedContent); sampleConfigGenerator.Generate(); }
static void Main(string[] args) { MarkdownGenerator markdownGenerator = new MarkdownGenerator(); SharedContent sharedContent = new SharedContent(); JsonRpcGenerator rpcGenerator = new JsonRpcGenerator(markdownGenerator, sharedContent); rpcGenerator.Generate(); CliGenerator cliGenerator = new CliGenerator(markdownGenerator, sharedContent); cliGenerator.Generate(); MetricsGenerator metricsGenerator = new MetricsGenerator(sharedContent); metricsGenerator.Generate(); ConfigGenerator configGenerator = new ConfigGenerator(sharedContent); configGenerator.Generate(); }
public void Start() { //_contentHandler.Get("/config", (req, res) => //{ // res.Send("<h1>Hello, World</h1>"); //}); _contentHandler.Get("/ondemand", (req, res) => { // generate mobileconfig var args = req.Url.Query.Substring(1).Split('&').Select(s => s.Split('=')).ToDictionary(s => s[0], s => WebUtility.UrlDecode(s[1])); try { var config = new ConfigGenerator(); config.Name = args["name"]; config.AuthenticationType = args["type"]; config.Username = args["username"]; config.Password = args["password"]; config.Apn = args["apn"]; // gen hash var key = AppDelegate.Current.HttpServer.Token; var digest = config.GetDigest(key); if (digest != args["token"]) { res.Send("error"); return; } // send it res.Send(config.Generate(), "application/x-apple-aspen-config"); } catch (Exception e) { res.Send("error"); } }); _contentHandler.Start(); }