public void Unchanged_log_file_is_not_added_to_existing_zip___just_deleted()
        {
            // This file...
            // CreateLogFile(new DateTime(2008, 9, 3), "The content A");
            // ...is now in this zip-file:
            CreateArchiveFile(new DateTime(2008, 9, 3), "UEsDBBQAAAAIAAAAIzmvQCjGEgAAABAAAAAaAAAAMjAwODA5MDMtTXlBcHAtTXlMb2cuTXlF" +
                              "eHR7v3t/SEaqQnJ+XklqXomCIwBQSwMEFAAAAAgAAAAjORURIV8SAAAAEAAAABwAAAAyMDA4" +
                              "MDkwMy1NeUFwcC1NeUxvZy5NeUV4dC4xe797f0hGqkJyfl5Jal6JghMAUEsBAjMAFAAAAAgAA" +
                              "AAjOa9AKMYSAAAAEAAAABoAAAAAAAAAAAAAAAAAAAAAADIwMDgwOTAzLU15QXBwLU15TG9nL" +
                              "k15RXh0UEsBAjMAFAAAAAgAAAAjORURIV8SAAAAEAAAABwAAAAAAAAAAAAAAAAASgAAADIwMD" +
                              "gwOTAzLU15QXBwLU15TG9nLk15RXh0LjFQSwUGAAAAAAIAAgCSAAAAlgAAAAAA");

            // ...but then /this/ file suddenly appeared
            CreateLogFile(new DateTime(2008, 9, 3), "The content B", ".1");

            _trigger.Trig();

            _fileSystem.AssertFileList(
                LOG_DIR + "Archived_20080903.zip");

            _fileSystem.GetFileAccessInfo(LOG_DIR + "Archived_20080903.zip").Writes.ShouldBe(0);

            _fileSystem.GetFile(LOG_DIR + "Archived_20080903.zip").ContentAsBase64
            .ShouldBe("UEsDBBQAAAAIAAAAIzmvQCjGEgAAABAAAAAaAAAAMjAwODA5MDMtTXlBcHAtTXlMb2cuTXlF" +
                      "eHR7v3t/SEaqQnJ+XklqXomCIwBQSwMEFAAAAAgAAAAjORURIV8SAAAAEAAAABwAAAAyMDA4" +
                      "MDkwMy1NeUFwcC1NeUxvZy5NeUV4dC4xe797f0hGqkJyfl5Jal6JghMAUEsBAjMAFAAAAAgAA" +
                      "AAjOa9AKMYSAAAAEAAAABoAAAAAAAAAAAAAAAAAAAAAADIwMDgwOTAzLU15QXBwLU15TG9nL" +
                      "k15RXh0UEsBAjMAFAAAAAgAAAAjORURIV8SAAAAEAAAABwAAAAAAAAAAAAAAAAASgAAADIwMD" +
                      "gwOTAzLU15QXBwLU15TG9nLk15RXh0LjFQSwUGAAAAAAIAAgCSAAAAlgAAAAAA");
        }
Пример #2
0
        public void Read_SeveralTimes_VerifyReload()
        {
            var       fileSystem   = new FakeFileSystem(DateTimeProvider.Singleton);
            var       path         = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "settings.xml");
            IFakeFile settingsFile = fileSystem.SetFileFromUtf8String(path, ExpectedSettingsFile1);

            DateTime currentTime = new DateTime(2016, 1, 1, 12, 0, 0);

            var dateTimeProviderMock = new Mock <IDateTimeProvider>();

            dateTimeProviderMock
            .Setup(x => x.Time())
            .Returns(() => currentTime);

            var settingsInternal = new SettingsInternal(fileSystem, dateTimeProviderMock.Object);

            var value = settingsInternal.GetSetting("key"); // should cause reload

            currentTime = currentTime.AddSeconds(32);
            value       = settingsInternal.GetSetting("key");

            currentTime = currentTime.AddSeconds(32); // should cause reload
            value       = settingsInternal.GetSetting("key");

            FileAccessInfo fileAccessInfo = fileSystem.GetFileAccessInfo(path);

            Assert.That(fileAccessInfo.Reads, Is.EqualTo(2));
            Assert.That(fileAccessInfo.Writes, Is.EqualTo(0));
        }