public Stream UploadSingleChunk(CommonChunkedUploadSession uploadSession, Stream stream, long chunkLength) { if (uploadSession.BytesTotal == 0) { uploadSession.BytesTotal = chunkLength; } if (uploadSession.BytesTotal >= chunkLength) { //This is hack fixing strange behaviour of plupload in flash mode. if (string.IsNullOrEmpty(uploadSession.ChunksBuffer)) { uploadSession.ChunksBuffer = TempPath.GetTempFileName(); } using (var bufferStream = new FileStream(uploadSession.ChunksBuffer, FileMode.Append)) { stream.CopyTo(bufferStream); } uploadSession.BytesUploaded += chunkLength; if (uploadSession.BytesTotal == uploadSession.BytesUploaded) { return(new FileStream(uploadSession.ChunksBuffer, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite, 4096, FileOptions.DeleteOnClose)); } } return(Stream.Null); }
public override AbstractPager CreateScratchPager(string name, long initialSize) { var guid = Guid.NewGuid(); var filename = $"ravendb-{Process.GetCurrentProcess().Id}-{_instanceId}-{name}-{guid}"; return(GetTempMemoryMapPager(this, TempPath.Combine(filename), initialSize, Win32NativeFileAttributes.RandomAccess | Win32NativeFileAttributes.DeleteOnClose | Win32NativeFileAttributes.Temporary)); }
public void TestTempTestFolderName() { var tempFolder = TempPath.GetTempTestFolder(); var folderName = Path.GetFileName(Path.GetDirectoryName(tempFolder)); Assert.AreEqual("PowerPointLabsTest", folderName); }
public ChunkedUploadSession CreateUploadSession(File file, long contentLength) { if (SetupInfo.ChunkUploadSize > contentLength) { return new ChunkedUploadSession(RestoreIds(file), contentLength) { UseChunks = false } } ; var uploadSession = new ChunkedUploadSession(file, contentLength); var dropboxSession = DropboxProviderInfo.Storage.CreateResumableSession(); if (dropboxSession != null) { uploadSession.Items["DropboxSession"] = dropboxSession; } else { uploadSession.Items["TempPath"] = TempPath.GetTempFileName(); } uploadSession.File = RestoreIds(uploadSession.File); return(uploadSession); }
public override VoronPathSetting GetJournalPath(long journalNumber) { var name = JournalName(journalNumber); var filename = $"ravendb-{Process.GetCurrentProcess().Id}-{_instanceId}-{name}-{Guid.NewGuid()}"; return(TempPath.Combine(filename)); }
public async Task correctly_updates_from_existing_file() { using (var tempFile = TempPath.GetTempFile()) { await File.WriteAllTextAsync(tempFile.Path, GenerateStringJson("A")); int interval = 30; using (var fileLocalDataSource = new FileLocalDataSource <string[]>(tempFile.Path, new EthereumJsonSerializer(), new FileSystem(), LimboLogs.Instance, interval)) { int changedRaised = 0; var handle = new SemaphoreSlim(0); fileLocalDataSource.Changed += (sender, args) => { changedRaised++; handle.Release(); }; await File.WriteAllTextAsync(tempFile.Path, GenerateStringJson("C", "B")); await handle.WaitAsync(TimeSpan.FromMilliseconds(10 * interval)); changedRaised.Should().Be(1); fileLocalDataSource.Data.Should().BeEquivalentTo("C", "B"); await File.WriteAllTextAsync(tempFile.Path, GenerateStringJson("E", "F")); await handle.WaitAsync(TimeSpan.FromMilliseconds(10 * interval)); changedRaised.Should().Be(2); fileLocalDataSource.Data.Should().BeEquivalentTo("E", "F"); } } }
public void loads_default_when_failed_loading_file() { using var tempFile = TempPath.GetTempFile(); using (File.Open(tempFile.Path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None)) { using var fileLocalDataSource = new FileLocalDataSource <string[]>(tempFile.Path, new EthereumJsonSerializer(), new FileSystem(), LimboLogs.Instance); fileLocalDataSource.Data.Should().BeEquivalentTo(default);
public void When_file_already_exists_with_wrong_date_a_file_is_written() { using (var tempPath = new TempPath()) { var logger1 = new RollingLogger(tempPath.TempDirectory) { GetDate = () => new DateTime(2010, 10, 1) }; logger1.WriteLine("Foo"); var logger2 = new RollingLogger(tempPath.TempDirectory, maxFileSize: 10) { GetDate = () => new DateTime(2010, 10, 2) }; logger2.WriteLine("Bar"); var files = tempPath.GetFiles(); Assert.AreEqual(2, files.Count); var first = files[0]; Assert.AreEqual("nsb_log_2010-10-01_0.txt", Path.GetFileName(first)); Assert.AreEqual($"Foo{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(files.First())); var second = files[1]; Assert.AreEqual("nsb_log_2010-10-02_0.txt", Path.GetFileName(second)); Assert.AreEqual($"Bar{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(second)); } }
public void When_many_files_written_over_dates_old_files_are_deleted() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory, numberOfArchiveFilesToKeep: 2) { GetDate = () => new DateTime(2010, 10, 1) }; logger.WriteLine("Foo1"); logger.GetDate = () => new DateTime(2010, 10, 2); logger.WriteLine("Foo2"); logger.GetDate = () => new DateTime(2010, 10, 3); logger.WriteLine("Foo3"); logger.GetDate = () => new DateTime(2010, 10, 4); logger.WriteLine("Foo4"); logger.GetDate = () => new DateTime(2010, 10, 5); logger.WriteLine("Foo5"); var files = tempPath.GetFiles(); Assert.AreEqual(3, files.Count, "Should be numberOfArchiveFilesToKeep + 1 (the current file) "); var first = files[0]; Assert.AreEqual("nsb_log_2010-10-03_0.txt", Path.GetFileName(first)); Assert.AreEqual($"Foo3{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(first)); var second = files[1]; Assert.AreEqual("nsb_log_2010-10-04_0.txt", Path.GetFileName(second)); Assert.AreEqual($"Foo4{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(second)); var third = files[2]; Assert.AreEqual("nsb_log_2010-10-05_0.txt", Path.GetFileName(third)); Assert.AreEqual($"Foo5{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(third)); } }
public void When_many_files_written_over_size_old_files_are_deleted() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory, numberOfArchiveFilesToKeep: 2, maxFileSize: 5) { GetDate = () => new DateTime(2010, 10, 1) }; logger.WriteLine("Long text0"); logger.WriteLine("Long text1"); logger.WriteLine("Long text2"); logger.WriteLine("Long text3"); logger.WriteLine("Long text4"); var files = tempPath.GetFiles(); Assert.AreEqual(3, files.Count, "Should be numberOfArchiveFilesToKeep + 1 (the current file) "); var first = files[0]; Assert.AreEqual("nsb_log_2010-10-01_2.txt", Path.GetFileName(first)); Assert.AreEqual($"Long text2{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(first)); var second = files[1]; Assert.AreEqual("nsb_log_2010-10-01_3.txt", Path.GetFileName(second)); Assert.AreEqual($"Long text3{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(second)); var third = files[2]; Assert.AreEqual("nsb_log_2010-10-01_4.txt", Path.GetFileName(third)); Assert.AreEqual($"Long text4{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(third)); } }
/// <summary>加载完成后</summary> protected override void OnLoaded() { if (TempPath.IsNullOrEmpty()) { if (Runtime.IsWeb) { TempPath = "..\\XTemp"; } else { TempPath = "XTemp"; } } #if !__MOBILE__ if (PluginCache.IsNullOrWhiteSpace()) { // 兼容Linux Mono var sys = Environment.SystemDirectory; if (sys.IsNullOrEmpty()) { sys = "/"; } PluginCache = Path.GetPathRoot(sys).CombinePath("X", "Cache"); } #endif if (PluginServer.IsNullOrWhiteSpace() || PluginServer.StartsWithIgnoreCase("ftp://")) { PluginServer = "http://x.newlifex.com/"; } base.OnLoaded(); }
/// <summary>加载完成后</summary> protected override void OnLoaded() { var web = Runtime.IsWeb; if (LogPath.IsNullOrEmpty()) { LogPath = web ? "..\\Log" : "Log"; } if (DataPath.IsNullOrEmpty()) { DataPath = web ? "..\\Data" : "Data"; } if (BackupPath.IsNullOrEmpty()) { BackupPath = web ? "..\\Backup" : "Backup"; } if (TempPath.IsNullOrEmpty()) { TempPath = web ? "..\\Temp" : "Temp"; } if (LogFileFormat.IsNullOrEmpty()) { LogFileFormat = "{0:yyyy_MM_dd}.log"; } if (PluginServer.IsNullOrWhiteSpace()) { PluginServer = "http://x.newlifex.com/"; } base.OnLoaded(); }
private static string GetExchangesTempPath() { var assembly = Assembly.GetExecutingAssembly(); var companyAttribute = assembly?.GetCustomAttribute <AssemblyCompanyAttribute>(); return(Path.Combine(TempPath.GetTempPath(), companyAttribute?.Company ?? string.Empty, "exchanges")); }
public void When_file_already_exists_and_is_too_large_a_new_sequence_file_is_written() { using (var tempPath = new TempPath()) { var dateTime = new DateTime(2010, 10, 1); var logger1 = new RollingLogger(tempPath.TempDirectory, maxFileSize: 10) { GetDate = () => dateTime }; logger1.Write("Some long text"); var logger2 = new RollingLogger(tempPath.TempDirectory, maxFileSize: 10) { GetDate = () => dateTime }; logger2.Write("Bar"); var files = tempPath.GetFiles(); Assert.AreEqual(2, files.Count); var first = files[0]; Assert.AreEqual("nsb_log_2010-10-01_0.txt", Path.GetFileName(first)); Assert.AreEqual("Some long text\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(files.First())); var second = files[1]; Assert.AreEqual("nsb_log_2010-10-01_1.txt", Path.GetFileName(second)); Assert.AreEqual("Bar\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(second)); } }
public MigrationLogger() { migrationLogPath = TempPath.GetTempFileName(); migration = new FileStream(migrationLogPath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read, 4096, FileOptions.DeleteOnClose); migrationLog = new StreamWriter(migration); logger = LogManager.GetLogger("ASC.Migration"); }
public IEnumerator <TN> GetEnumerator() { for (TempPath <TN> p = this; p != null; p = p.PreviousSteps) { yield return(p.LastStep); } }
static BackupWorker() { TempFolder = Path.Combine(TempPath.GetTempPath(), "backup"); if (!Directory.Exists(TempFolder)) { Directory.CreateDirectory(TempFolder); } }
public FileInfo ExportSelectedShapes() { ShapeRange shapes = _currentShape; int hashCode = DateTime.Now.GetHashCode(); string pathName = TempPath.GetTempTestFolder() + "shapeName" + hashCode; shapes.Export(pathName, PpShapeFormat.ppShapeFormatPNG); return(new FileInfo(pathName)); }
public FileInfo ExportSelectedShapes() { var shapes = PowerPointCurrentPresentationInfo.CurrentSelection.ShapeRange; var hashCode = DateTime.Now.GetHashCode(); var pathName = TempPath.GetTempTestFolder() + "shapeName" + hashCode; shapes.Export(pathName, PpShapeFormat.ppShapeFormatPNG); return(new FileInfo(pathName)); }
public FileInfo ExportSelectedShapes() { var shapes = FunctionalTestExtensions.GetCurrentSelection().ShapeRange; var hashCode = DateTime.Now.GetHashCode(); var pathName = TempPath.GetTempTestFolder() + "shapeName" + hashCode; shapes.Export(pathName, PpShapeFormat.ppShapeFormatPNG); return(new FileInfo(pathName)); }
public void TestSpecialEffectsEffect() { TempPath.InitTempFolder(); Microsoft.Office.Interop.PowerPoint.Shape shape = _designer.ApplySpecialEffectEffect(MatrixFilters.GreyScale, true); Assert.IsTrue(shape.Name.StartsWith( EffectsDesigner.ShapeNamePrefix + "_" + EffectName.SpecialEffect)); Assert.AreEqual(MsoShapeType.msoPicture, shape.Type); Assert.IsNotNull(_imgItem.SpecialEffectImageFile); }
public BackupFileUploadHandler( PermissionContext permissionContext, TempPath tempPath, TenantManager tenantManager) { PermissionContext = permissionContext; TempPath = tempPath; TenantManager = tenantManager; }
protected override Task <TestBlockchain> Build(ISpecProvider specProvider = null, UInt256?initialValues = null) { TempFile = TempPath.GetTempFile(); LocalDataSource = new TxPriorityContract.LocalDataSource(TempFile.Path, new EthereumJsonSerializer(), LimboLogs.Instance); Semaphore = new SemaphoreSlim(0); LocalDataSource.Changed += (o, e) => Semaphore.Release(); return(base.Build(specProvider, initialValues)); }
public void TestBlurEffect() { TempPath.InitTempFolder(); var shape = _designer.ApplyBlurEffect(); Assert.IsTrue(shape.Name.StartsWith( EffectsDesigner.ShapeNamePrefix + "_" + EffectName.Blur)); Assert.AreEqual(MsoShapeType.msoPicture, shape.Type); Assert.IsNotNull(_imgItem.BlurImageFile); }
public void When_line_is_write_line_appears_in_file() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory); logger.WriteLine("Foo"); var singleFile = tempPath.GetSingle(); Assert.AreEqual($"Foo{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(singleFile)); } }
public async Task init_should_load_static_nodes_from_empty_file() { using var tempFile = TempPath.GetTempFile(); await File.WriteAllTextAsync(tempFile.Path, string.Empty); _staticNodesManager = new StaticNodesManager(tempFile.Path, LimboLogs.Instance); await _staticNodesManager.InitAsync(); _staticNodesManager.Nodes.Count().Should().Be(0); }
public void correctly_reads_existing_file() { using (var tempFile = TempPath.GetTempFile()) { File.WriteAllText(tempFile.Path, GenerateStringJson("A", "B", "C")); // var x = new EthereumJsonSerializer().Serialize(new string []{"A", "B", "C"}); using var fileLocalDataSource = new FileLocalDataSource <string[]>(tempFile.Path, new EthereumJsonSerializer(), new FileSystem(), LimboLogs.Instance); fileLocalDataSource.Data.Should().BeEquivalentTo("A", "B", "C"); } }
public void When_multiple_lines_are_written_lines_appears_in_file() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory); logger.Write("Foo"); logger.Write("Bar"); var singleFile = tempPath.GetSingle(); Assert.AreEqual("Foo\r\nBar\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(singleFile)); } }
public void When_new_write_causes_overlap_of_file_size_line_is_written_to_current_file() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory, maxFileSize: 10); logger.WriteLine("Foo"); logger.WriteLine("Some long text"); var singleFile = tempPath.GetSingle(); Assert.AreEqual($"Foo{Environment.NewLine}Some long text{Environment.NewLine}", NonLockingFileReader.ReadAllTextWithoutLocking(singleFile)); } }
internal string GetFilePath() { var folder = Path.Combine(TempPath.GetTempPath(), BackupTempFolder, TenantManager.GetCurrentTenant().TenantId.ToString()); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } return(Path.Combine(folder, BackupFileName)); }
public void When_file_is_deleted_underneath_continues_to_write_afterwards() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory) { GetDate = () => new DateTime(2010, 10, 1) }; logger.Write("Foo"); var single = tempPath.GetSingle(); File.Delete(single); logger.Write("Bar"); Assert.AreEqual("Bar\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(single)); } }
public void When_file_is_deleted_underneath_immediately_before_write() { using (var tempPath = new TempPath()) { var logger = new RollingLoggerThatDeletesBeforeWrite(tempPath.TempDirectory) { GetDate = () => new DateTime(2010, 10, 1) }; logger.Write("Foo"); var singleFile = tempPath.GetSingle(); File.Delete(singleFile); logger.Write("Bar"); Assert.AreEqual("Bar\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(singleFile)); } }
public void When_file_is_locked_exception_is_swallowed() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory) { GetDate = () => new DateTime(2010, 10, 1) }; logger.Write("Foo"); var single = tempPath.GetSingle(); using (LockFile(single)) { logger.Write("Bar"); } Assert.AreEqual("Foo\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(single)); } }
public void When_file_already_exists_that_file_is_written_to() { using (var tempPath = new TempPath()) { var dateTime = new DateTime(2010, 10, 1); var logger1 = new RollingLogger(tempPath.TempDirectory) { GetDate = () => dateTime }; logger1.Write("Foo"); var files1 = tempPath.GetFiles(); Assert.AreEqual(1, files1.Count); Assert.AreEqual("Foo\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(files1.First())); var logger2 = new RollingLogger(tempPath.TempDirectory) { GetDate = () => dateTime }; logger2.Write("Bar"); var files2 = tempPath.GetFiles(); Assert.AreEqual(1, files2.Count); Assert.AreEqual("Foo\r\nBar\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(files2.First())); } }
public void When_file_already_exists_with_wrong_date_a_file_is_written() { using (var tempPath = new TempPath()) { var logger1 = new RollingLogger(tempPath.TempDirectory) { GetDate = () => new DateTime(2010, 10, 1) }; logger1.Write("Foo"); var logger2 = new RollingLogger(tempPath.TempDirectory, maxFileSize: 10) { GetDate = () => new DateTime(2010, 10, 2) }; logger2.Write("Bar"); var files = tempPath.GetFiles(); Assert.AreEqual(2, files.Count); var first = files[0]; Assert.AreEqual("nsb_log_2010-10-01_0.txt", Path.GetFileName(first)); Assert.AreEqual("Foo\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(files.First())); var second = files[1]; Assert.AreEqual("nsb_log_2010-10-02_0.txt", Path.GetFileName(second)); Assert.AreEqual("Bar\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(second)); } }
public void When_many_files_written_over_dates_old_files_are_deleted() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory, numberOfArchiveFilesToKeep: 2) { GetDate = () => new DateTime(2010, 10, 1) }; logger.Write("Foo1"); logger.GetDate = () => new DateTime(2010, 10, 2); logger.Write("Foo2"); logger.GetDate = () => new DateTime(2010, 10, 3); logger.Write("Foo3"); logger.GetDate = () => new DateTime(2010, 10, 4); logger.Write("Foo4"); logger.GetDate = () => new DateTime(2010, 10, 5); logger.Write("Foo5"); var files = tempPath.GetFiles(); Assert.AreEqual(3, files.Count, "Should be numberOfArchiveFilesToKeep + 1 (the current file) "); var first = files[0]; Assert.AreEqual("nsb_log_2010-10-03_0.txt", Path.GetFileName(first)); Assert.AreEqual("Foo3\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(first)); var second = files[1]; Assert.AreEqual("nsb_log_2010-10-04_0.txt", Path.GetFileName(second)); Assert.AreEqual("Foo4\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(second)); var third = files[2]; Assert.AreEqual("nsb_log_2010-10-05_0.txt", Path.GetFileName(third)); Assert.AreEqual("Foo5\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(third)); } }
public void When_max_file_size_is_exceeded_sequence_number_is_added() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory, maxFileSize: 10) { GetDate = () => new DateTime(2010, 10, 1) }; logger.Write("Some long text"); logger.Write("Bar"); var files = tempPath.GetFiles(); Assert.AreEqual(2, files.Count); var first = files[0]; Assert.AreEqual("nsb_log_2010-10-01_0.txt", Path.GetFileName(first)); Assert.AreEqual("Some long text\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(first)); var second = files[1]; Assert.AreEqual("nsb_log_2010-10-01_1.txt", Path.GetFileName(second)); Assert.AreEqual("Bar\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(second)); } }
public void When_many_files_written_over_size_old_files_are_deleted() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory, numberOfArchiveFilesToKeep: 2, maxFileSize: 5) { GetDate = () => new DateTime(2010, 10, 1) }; logger.Write("Long text0"); logger.Write("Long text1"); logger.Write("Long text2"); logger.Write("Long text3"); logger.Write("Long text4"); var files = tempPath.GetFiles(); Assert.AreEqual(3, files.Count, "Should be numberOfArchiveFilesToKeep + 1 (the current file) "); var first = files[0]; Assert.AreEqual("nsb_log_2010-10-01_2.txt", Path.GetFileName(first)); Assert.AreEqual("Long text2\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(first)); var second = files[1]; Assert.AreEqual("nsb_log_2010-10-01_3.txt", Path.GetFileName(second)); Assert.AreEqual("Long text3\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(second)); var third = files[2]; Assert.AreEqual("nsb_log_2010-10-01_4.txt", Path.GetFileName(third)); Assert.AreEqual("Long text4\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(third)); } }
public void When_date_changes_new_file_is_written() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory) { GetDate = () => new DateTime(2010, 10, 1) }; logger.Write("Foo"); logger.GetDate = () => new DateTime(2010, 10, 2); logger.Write("Bar"); var files = tempPath.GetFiles(); Assert.AreEqual(2, files.Count); var first = files[0]; Assert.AreEqual("nsb_log_2010-10-01_0.txt", Path.GetFileName(first)); Assert.AreEqual("Foo\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(first)); var second = files[1]; Assert.AreEqual("nsb_log_2010-10-02_0.txt", Path.GetFileName(second)); Assert.AreEqual("Bar\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(second)); } }
public void ManyWritesTest() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory) { GetDate = () => new DateTime(2010, 10, 1) }; for (var i = 0; i < 1000000; i++) { logger.Write("Some long text"); } } }
public void When_new_write_causes_overlap_of_file_size_line_is_written_to_current_file() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory, maxFileSize: 10); logger.Write("Foo"); logger.Write("Some long text"); var singleFile = tempPath.GetSingle(); Assert.AreEqual("Foo\r\nSome long text\r\n", NonLockingFileReader.ReadAllTextWithoutLocking(singleFile)); } }
public void When_line_is_write_file_has_correct_name() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory) { GetDate = () => new DateTime(2010, 10, 1) }; logger.Write("Foo"); var singleFile = tempPath.GetSingle(); Assert.AreEqual("nsb_log_2010-10-01_0.txt", Path.GetFileName(singleFile)); } }
public void When_many_sequence_files_are_written_the_max_is_not_exceeded() { using (var tempPath = new TempPath()) { var logger = new RollingLogger(tempPath.TempDirectory, maxFileSize: 10) { GetDate = () => new DateTime(2010, 10, 1) }; for (var i = 0; i < 100; i++) { logger.Write("Some long text"); Assert.LessOrEqual(tempPath.GetFiles().Count, 11); } } }