예제 #1
0
        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 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"]);
        }