Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
            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));
            }
Exemplo n.º 3
0
        public void TestTempTestFolderName()
        {
            var tempFolder = TempPath.GetTempTestFolder();
            var folderName = Path.GetFileName(Path.GetDirectoryName(tempFolder));

            Assert.AreEqual("PowerPointLabsTest", folderName);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
            public override VoronPathSetting GetJournalPath(long journalNumber)
            {
                var name     = JournalName(journalNumber);
                var filename = $"ravendb-{Process.GetCurrentProcess().Id}-{_instanceId}-{name}-{Guid.NewGuid()}";

                return(TempPath.Combine(filename));
            }
Exemplo n.º 6
0
        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");
                }
            }
        }
Exemplo n.º 7
0
 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));
            }
        }
Exemplo n.º 11
0
        /// <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();
        }
Exemplo n.º 12
0
        /// <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();
        }
Exemplo n.º 13
0
        private static string GetExchangesTempPath()
        {
            var assembly         = Assembly.GetExecutingAssembly();
            var companyAttribute = assembly?.GetCustomAttribute <AssemblyCompanyAttribute>();

            return(Path.Combine(TempPath.GetTempPath(), companyAttribute?.Company ?? string.Empty, "exchanges"));
        }
Exemplo n.º 14
0
        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));
            }
        }
Exemplo n.º 15
0
 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");
 }
Exemplo n.º 16
0
 public IEnumerator <TN> GetEnumerator()
 {
     for (TempPath <TN> p = this; p != null; p = p.PreviousSteps)
     {
         yield return(p.LastStep);
     }
 }
Exemplo n.º 17
0
 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));
        }
Exemplo n.º 19
0
        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));
        }
Exemplo n.º 20
0
        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));
        }
Exemplo n.º 21
0
 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);
 }
Exemplo n.º 22
0
 public BackupFileUploadHandler(
     PermissionContext permissionContext,
     TempPath tempPath,
     TenantManager tenantManager)
 {
     PermissionContext = permissionContext;
     TempPath          = tempPath;
     TenantManager     = tenantManager;
 }
Exemplo n.º 23
0
            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));
            }
Exemplo n.º 24
0
        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));
     }
 }
Exemplo n.º 26
0
        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);
        }
Exemplo n.º 27
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");
     }
 }
Exemplo n.º 28
0
 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));
     }
 }
Exemplo n.º 30
0
        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));
        }
Exemplo n.º 31
0
 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));
     }
 }
Exemplo n.º 32
0
 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));
     }
 }
Exemplo n.º 33
0
 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));
     }
 }
Exemplo n.º 34
0
 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()));
     }
 }
Exemplo n.º 35
0
        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));
            }
        }
Exemplo n.º 36
0
 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));
     }
 }
Exemplo n.º 37
0
        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));
            }
        }
Exemplo n.º 38
0
        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));
            }
        }
Exemplo n.º 39
0
        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));
            }
        }
Exemplo n.º 40
0
        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));
            }
        }
Exemplo n.º 41
0
        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));
            }
        }
Exemplo n.º 42
0
 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");
         }
     }
 }
Exemplo n.º 43
0
 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));
     }
 }
Exemplo n.º 44
0
 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));
     }
 }
Exemplo n.º 45
0
 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);
         }
     }
 }