async Task <string> GetConfigAsync() { await SubscribeToSolutionEventsAsync(); var localConfig = await TryGetLocalConfigAsync(); if (!string.IsNullOrWhiteSpace(localConfig)) { if (fileAccessor.Exists(localConfig)) { var(isValid, content) = await TryGetValidConfigFileAsync(localConfig); if (isValid) { return(content); } } } var pathToFolder = Path.GetDirectoryName(ConfigPathUserProfile); Directory.CreateDirectory(pathToFolder); if (fileAccessor.Exists(ConfigPathUserProfile)) { var(isValid, content) = await TryGetValidConfigFileAsync(ConfigPathUserProfile); if (isValid) { return(content); } } return(await GenerateDefaultConfigFileAsync(ConfigPathUserProfile)); }
public void TEMPLATE_IS_NOT_VALID_WHEN_FILE_DOES_NOT_EXIST() { //Arrange var template = new TemplateInfo(_fileAccessor, _eventWriter) { Name = "name", FileName = "file" }; _fileAccessor.Exists(template.FileName).Returns(false); //Act template.ActivateOptions(); //Assert template.IsValid.Should().BeFalse(); }
public void TEMPLATE_IS_PUT_WHEN_IS_VALID() { //Arrange var template = new TemplateInfo(_fileAccessor, _eventWriter) { FileName = "file", Name = "template" }; var rawBody = "body"; _fileAccessor.Exists("file").Returns(true); _fileAccessor.ReadAllText(template.FileName).Returns(rawBody); template.ActivateOptions(); var appender = new ElasticSearchAppender(_elasticClientFactory, "index", "type", _timer, _tolerateCallsFactory, _bulk, _logEventConverterFactory, _elasticFilters, _fileAccessor, _eventWriter) { Template = template }; //Act appender.ActivateOptions(); //Assert _elasticClient.Received().PutTemplateRaw(template.Name, rawBody); }
public async Task ExecuteAsync(Func <string, Task> openFunc) { try { var localConfigPath = await this.configFileProvider.TryGetLocalConfigAsync(); if (string.IsNullOrWhiteSpace(localConfigPath)) { return; } if (fileAccessor.Exists(localConfigPath)) { await openFunc(localConfigPath); } else { if (popupManager.Confirm("There is no local configuration file yet, do you want to create it for this repository ?", "Init local config file")) { fileAccessor.CopyFile(ConfigFileProvider.ConfigPathUserProfile, localConfigPath); await openFunc(localConfigPath); } } } catch (Exception ex) { popupManager.Show(ex.ToString(), "An error occured"); } }
OpenGenerateLocalConfigViewModel getSut(Fixture fixture, ConfigFileProvider configFileProvider, IFileAccessor fileAccessor, string configPath, bool fileExists) { configFileProvider.Configure().TryGetLocalConfigAsync().Returns(configPath); fileAccessor.Exists(Arg.Any <string>()).ReturnsForAnyArgs(fileExists); IoC.Container.EjectAllInstancesOf <IConfigFileProvider>(); IoC.Container.Inject <IConfigFileProvider>(configFileProvider); IoC.Container.EjectAllInstancesOf <IFileAccessor>(); IoC.Container.Inject <IFileAccessor>(fileAccessor); return(fixture.Create <OpenGenerateLocalConfigViewModel>()); }
public void ActivateOptions() { if (string.IsNullOrEmpty(Name) || string.IsNullOrEmpty(FileName)) { _eventWriter.Error(GetType(), "Template name or fileName is empty!"); return; } if (!_fileAccessor.Exists(FileName)) { _eventWriter.Error(GetType(), string.Format("Could not find template file: {0}", FileName)); return; } IsValid = true; }