public void ListFilesShouldContainFileInfo() { var files = _appDataFolder.ListFiles("alpha").Select(x => x.Name).ToList(); Assert.Equal(2, files.Count()); Assert.Contains("beta.txt", files); Assert.Contains("gamma.txt", files); }
public void ListFilesShouldContainSubPathAndFileName() { var files = _appDataFolder.ListFiles("alpha"); Assert.That(files.Count(), Is.EqualTo(2)); Assert.That(files, Has.Some.EqualTo("alpha/beta.txt")); Assert.That(files, Has.Some.EqualTo("alpha/gamma.txt")); }
public void ListFilesShouldContainSubPathAndFileName() { var files = _appDataFolder.ListFiles("alpha"); Assert.Equal(files.Count(), 2); Assert.Contains(files, t => t.Equals("alpha/beta.txt")); Assert.Contains(files, t => t.Equals("alpha/gamma.txt")); }
public void RemoveAll() { foreach (var filename in _appDataFolder.ListFiles(_root)) { if (_appDataFolder.FileExists(filename)) { _appDataFolder.DeleteFile(filename); } } }
private int GetFirstStepIndex(string executionId) { var stepFiles = new List <string>(_appDataFolder.ListFiles(Path.Combine(_recipeQueueFolder, executionId))); if (stepFiles.Count == 0) { return(-1); } var currentSteps = stepFiles.Select(stepFile => Int32.Parse(stepFile.Substring(stepFile.LastIndexOf('/') + 1))).ToList(); currentSteps.Sort(); return(currentSteps[0]); }
IEnumerable <ShellSettings> IShellSettingsManager.LoadSettings() { var filePaths = _appDataFolder .ListDirectories("Sites") .SelectMany(path => _appDataFolder.ListFiles(path)) .Where(path => { var filePathName = Path.GetFileName(path); return(_settingFileNameExtensions.Any(p => string.Equals(filePathName, string.Format(_settingsFileNameFormat, p), StringComparison.OrdinalIgnoreCase) )); }); List <ShellSettings> shellSettings = new List <ShellSettings>(); foreach (var filePath in filePaths) { IConfigurationSourceContainer configurationContainer = null; var extension = Path.GetExtension(filePath); switch (extension) { case ".json": configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration() .AddJsonFile(filePath); break; case ".xml": configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration() .AddXmlFile(filePath); break; case ".ini": configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration() .AddIniFile(filePath); break; case ".txt": configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration() .Add(new DefaultFileConfigurationSource(_appDataFolder, filePath)); break; } if (configurationContainer != null) { var shellSetting = new ShellSettings { Name = configurationContainer.Get <string>("Name"), RequestUrlPrefix = configurationContainer.Get <string>("RequestUrlPrefix") }; TenantState state; shellSetting.State = Enum.TryParse(configurationContainer.Get <string>("State"), true, out state) ? state : TenantState.Uninitialized; shellSettings.Add(shellSetting); } } return(shellSettings); }
private IEnumerable <ShellSettings> LoadSettingsInternal() { var filePaths = _appDataFolder .ListDirectories("Sites") .SelectMany(path => _appDataFolder.ListFiles(path)) .Where(path => String.Equals(Path.GetFileName(path), SettingsFileName, StringComparison.OrdinalIgnoreCase)); foreach (var filePath in filePaths) { yield return(ShellSettingsSerializer.ParseSettings(_appDataFolder.ReadFile(filePath))); } }
public void RemoveAll() { foreach (var folder in new[] { _metadata, _content }) { foreach (var filename in _appDataFolder.ListFiles(folder)) { var hash = Path.GetFileName(filename); lock (String.Intern(hash)) { try { if (_appDataFolder.FileExists(filename)) { _appDataFolder.DeleteFile(filename); } } catch (Exception e) { Logger.Warning(e, "An error occured while deleting the file: {0}", filename); } } } } }
public void Sweep() { foreach (var filename in _appDataFolder.ListFiles(_root).ToArray()) { var validUntilUtc = _cacheManager.Get(filename, context => { _signals.When(filename); using (var stream = _appDataFolder.OpenFile(filename)) { var cacheItem = FileSystemOutputCacheStorageProvider.Deserialize(stream); return(cacheItem.ValidUntilUtc); } }); if (_clock.UtcNow > validUntilUtc) { _appDataFolder.DeleteFile(filename); _signals.Trigger(filename); } } }
public void Sweep() { Logger.Debug("Beginning sweep for TrailLogTrimmingBackgroundTask."); try { // This task should look for audit trail log files older than a timespan // and delete them if any are found. if (GetIsTimeToTrim()) { var logFilePath = LaserAuditTrailHelper.GetLogsFilePath(); var logFileExtension = LaserAuditTrailHelper.GetAppenderFileExtension(); var fileNameBeginning = Path.Combine( logFilePath, LaserAuditTrailHelper.GetAppenderFileName( GetSiteSettings().SiteName)) .Replace(Path.DirectorySeparatorChar, '/'); var myLogs = _appDataFolder .ListFiles(logFilePath) .Where(fn => fn.StartsWith(fileNameBeginning)); // get the logs older than the specific timespan and delete them // Retention timespan: anything older will be deleted var retentionPeriod = TimeSpan.FromDays(GetAuditTrailSettings().RetentionPeriod); var dateThreshold = (_clock.UtcNow.EndOfDay() - retentionPeriod); foreach (var fileName in myLogs) { var lastWriteTime = _appDataFolder.GetFileLastWriteTimeUtc(fileName); if (lastWriteTime <= dateThreshold) { // file is older than the limit for retention. Delete it. _appDataFolder.DeleteFile(fileName); } } } } catch (Exception ex) { Logger.Error(ex, "Error during sweep for TrailLogTrimmingBackgroundTask."); } finally { Logger.Debug("Ending sweep for TrailLogTrimmingBackgroundTask."); } }
public void Sweep() { foreach (var filename in _appDataFolder.ListFiles(_metadata).ToArray()) { var hash = Path.GetFileName(filename); var validUntilUtc = _cacheManager.Get(hash, context => { _signals.When(hash); using (var stream = _appDataFolder.OpenFile(filename)) { var cacheItem = FileSystemOutputCacheStorageProvider.DeserializeMetadata(stream); return(cacheItem.ValidUntilUtc); } }); if (_clock.UtcNow > validUntilUtc) { _appDataFolder.DeleteFile(_appDataFolder.Combine(_metadata, hash)); _appDataFolder.DeleteFile(_appDataFolder.Combine(_content, hash)); _signals.Trigger(filename); } } }
public void LockShouldBeGrantedWhenDoesNotExist() { ILockFile lockFile = null; var granted = _lockFileManager.TryAcquireLock("foo.txt.lock", ref lockFile); Assert.True(granted); Assert.NotNull(lockFile); Assert.True(_lockFileManager.IsLocked("foo.txt.lock")); Assert.Equal(_appDataFolder.ListFiles("").Count(), 1); }
public void LockShouldBeGrantedWhenDoesNotExist() { ILockFile lockFile = null; var granted = _lockFileManager.TryAcquireLock("foo.txt.lock", ref lockFile); Assert.That(granted, Is.True); Assert.That(lockFile, Is.Not.Null); Assert.That(_lockFileManager.IsLocked("foo.txt.lock"), Is.True); Assert.That(_appDataFolder.ListFiles("").Count(), Is.EqualTo(1)); }
public void ShouldDoNothingWhenNoUrlsAreSpecified() { _warmupUpdater.EnsureGenerate(); Assert.That(_appDataFolder.ListFiles(WarmupFolder).Count(), Is.EqualTo(0)); }