public static async Task <int> Main(string[] args) { await CatapultEngineConfig.InitConfigFile(); var configuration = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddJsonFile("appsettings.json", false) .AddJsonFile("engineconfig.json", false) .Build(); var serviceCollection = new ServiceCollection(); ConfigureServices(serviceCollection, configuration); var serviceProvider = serviceCollection.BuildServiceProvider(); var app = new CommandLineApplication <Program>(); ConfigureApplication(app, serviceProvider); try { return(app.Execute(args)); } catch (CommandParsingException ex) { Console.WriteLine(ex.Message); } return(-1); }
public async void Load_ConfigFile(bool configFileExists) { if (configFileExists) { await File.WriteAllTextAsync(EngineConfigFile, JsonConvert.SerializeObject(new { EngineConfig = _configs })); } else { if (File.Exists(EngineConfigFile)) { File.Delete(EngineConfigFile); } } var config = new CatapultEngineConfig(_logger.Object); await config.Load(); if (configFileExists) { Assert.Equal(_configs["ApiUrl"], config.ApiUrl); } else { Assert.Equal("https://localhost", config.ApiUrl); } }
public async void InitConfigFile(bool reset) { await File.WriteAllTextAsync(EngineConfigFile, JsonConvert.SerializeObject(new { EngineConfig = _configs })); await CatapultEngineConfig.InitConfigFile(reset, _logger.Object); var expected = reset ? "https://localhost" : "https://localhost/test"; var obj = JObject.Parse(await File.ReadAllTextAsync(EngineConfigFile)); var loadedConfigs = obj["EngineConfig"].ToObject <Dictionary <string, string> >(); Assert.Equal(expected, loadedConfigs["ApiUrl"]); }
public void SetValue(string configName, string configValue) { if (File.Exists(EngineConfigFile)) { File.Delete(EngineConfigFile); } var config = new CatapultEngineConfig(_logger.Object); config.SetValue(configName, configValue); Assert.Equal(configValue, config.Configs[configName]); }
public void TestPropertyValues() { if (File.Exists(EngineConfigFile)) { File.Delete(EngineConfigFile); } var config = new CatapultEngineConfig(_logger.Object); Assert.Equal("https://localhost", config.ApiUrl); Assert.Equal(TimeSpan.Parse("00:01:00"), config.ApiRequestTimeout); Assert.Equal("", config.AuthorizationToken); Assert.Equal(30, config.JobCheckingInterval); }
public async void Save_ToConfigFile() { if (File.Exists(EngineConfigFile)) { File.Delete(EngineConfigFile); } var config = new CatapultEngineConfig(_logger.Object); config.Configs["ApiUrl"] = "https://localhost/test"; await config.Save(); var obj = JObject.Parse(await File.ReadAllTextAsync(EngineConfigFile)); var loadedConfigs = obj["EngineConfig"].ToObject <Dictionary <string, string> >(); Assert.Equal("https://localhost/test", loadedConfigs["ApiUrl"]); }
public void GetValue_WithoutDefault(string configName) { if (File.Exists(EngineConfigFile)) { File.Delete(EngineConfigFile); } var config = new CatapultEngineConfig(_logger.Object); if (configName == "ApiUrl") { var value = config.GetValue(configName); Assert.Equal("https://localhost", value); } else { var exception = Record.Exception(() => config.GetValue(configName)); Assert.IsType <InvalidEngineConfigNameException>(exception); } }
public void RemoveValue(string configName) { if (File.Exists(EngineConfigFile)) { File.Delete(EngineConfigFile); } var config = new CatapultEngineConfig(_logger.Object); config.RemoveValue(configName); if (configName == "ApiUrl") { Assert.Equal("https://localhost", config.ApiUrl); } else { Assert.False(config.Configs.ContainsKey(configName)); } }
public void GetValue_WithDefault(string configName) { if (File.Exists(EngineConfigFile)) { File.Delete(EngineConfigFile); } var config = new CatapultEngineConfig(_logger.Object); var value = config.GetValueOrDefault(configName, "DefaultValue"); if (configName == "ApiUrl") { Assert.Equal("https://localhost", value); } else { Assert.Equal("DefaultValue", value); } }