コード例 #1
0
ファイル: Program.cs プロジェクト: zulkiflifauzi/OpenCatapult
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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"]);
        }
コード例 #4
0
        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]);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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"]);
        }
コード例 #7
0
        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);
            }
        }
コード例 #8
0
        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));
            }
        }
コード例 #9
0
        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);
            }
        }