Пример #1
0
            public void WillNotTransmitFileIfNotInList()
            {
                var testable = new TestableDbDiskCache();
                var response = new Mock <HttpResponseBase>();

                testable.ClassUnderTest.SendContent("url", response.Object);

                response.Verify(x => x.TransmitFile("url"), Times.Never());
            }
Пример #2
0
            public void WillAddUrlToList()
            {
                var testable = new TestableDbDiskCache();

                testable.Mock <IUriBuilder>().Setup(x => x.ParseSignature("key-sig-name.css")).Returns("sig");

                testable.ClassUnderTest.Save(new byte[] { 1 }, "key-sig-name.css", null);

                Assert.True(DateTime.Now.Subtract(testable.ClassUnderTest.FileList["key-sig-name.css"]).TotalSeconds < 1);
            }
Пример #3
0
            public void WillSwallowError()
            {
                var testable = new TestableDbDiskCache();

                testable.ClassUnderTest.FileList["url1"] = DateTime.Now.Subtract(new TimeSpan(0, 5, 1));
                testable.Mock <IFileWrapper>().Setup(x => x.DeleteFile(It.IsAny <string>())).Throws(new Exception());

                var ex = Record.Exception(() => testable.ClassUnderTest.PurgeOldFiles());

                Assert.Null(ex);
            }
Пример #4
0
            public void WillUpdateTimestampWhenTransmittingFile()
            {
                var testable = new TestableDbDiskCache();

                testable.ClassUnderTest.FileList["url"] = DateTime.Now.Subtract(new TimeSpan(0, 3, 0));
                var response = new Mock <HttpResponseBase>();

                testable.ClassUnderTest.SendContent("url", response.Object);

                Assert.True(testable.ClassUnderTest.FileList["url"] > DateTime.Now.Subtract(new TimeSpan(0, 1, 0)));
            }
Пример #5
0
            public void WillTransmitFileIfInList()
            {
                var testable = new TestableDbDiskCache();

                testable.ClassUnderTest.FileList["url"] = DateTime.Now;
                var response = new Mock <HttpResponseBase>();

                testable.ClassUnderTest.SendContent("url", response.Object);

                response.Verify(x => x.TransmitFile("url"), Times.Once());
            }
Пример #6
0
            public void WillDeleteFilesOlderThanFiveMinutes()
            {
                var testable = new TestableDbDiskCache();

                testable.ClassUnderTest.FileList["url1"] = DateTime.Now.Subtract(new TimeSpan(0, 5, 1));
                testable.ClassUnderTest.FileList["url2"] = DateTime.Now;
                testable.ClassUnderTest.FileList["url3"] = DateTime.Now.Subtract(new TimeSpan(0, 5, 1));
                testable.ClassUnderTest.FileList["url4"] = DateTime.Now;

                testable.ClassUnderTest.PurgeOldFiles();

                Assert.Equal(2, testable.ClassUnderTest.FileList.Count);
                Assert.True(testable.ClassUnderTest.FileList.ContainsKey("url2"));
                Assert.True(testable.ClassUnderTest.FileList.ContainsKey("url4"));
                testable.Mock <IFileWrapper>().Verify(x => x.DeleteFile("url1"), Times.AtLeastOnce());
                testable.Mock <IFileWrapper>().Verify(x => x.DeleteFile("url3"), Times.AtLeastOnce());
            }