示例#1
0
        public void SimpleConstructorTest()
        {
            // Arrange

            // Act
            var target = new TinyCachePlugin();

            // Assert
            Assert.NotNull(target);
            Assert.IsType <TinyCachePlugin>(target);
        }
示例#2
0
        public void InstallTwiceTest()
        {
            // Arrange
            var c      = new Config();
            var target = new TinyCachePlugin();

            // Act
            var dummy  = target.Install(c);
            var actual = target.Install(c);

            // Assert
            Assert.NotNull(actual);
            Assert.IsType <TinyCachePlugin>(actual);
        }
示例#3
0
        public void UninstallWithoutInstallingTest()
        {
            // Arrange
            bool expected = true;
            var  rs       = new ResizerSection(ConfigXml);
            var  c        = new Config(rs);
            var  target   = new TinyCachePlugin();

            // Act
            bool actual = target.Uninstall(c);

            // Assert
            Assert.Equal <bool>(expected, actual);
        }
示例#4
0
        public void ProcessReadCacheFileTest()
        {
            // Arrange
            int expected = 0;
            int actual   = 0;
            var rs       = new ResizerSection(ConfigXml);
            var c        = new Config(rs);
            var target   = c.Plugins.Get <TinyCachePlugin>();

            ResizeSettings settings = new ResizeSettings();

            settings.Cache = ServerCacheMode.Default;
            ResponseArgs args = new ResponseArgs();

            args.RewrittenQuerystring = settings;

            File.Delete(target.PhysicalCacheFile);
            target.VirtualCacheFile = "folder/ImFlushed.txt";
            if (Directory.Exists(Path.GetDirectoryName(target.PhysicalCacheFile)))
            {
                Directory.Delete(Path.GetDirectoryName(target.PhysicalCacheFile), true);
            }

            for (int i = 0; i < 60; i++)
            {
                args.ResizeImageToStream = (Stream ms) =>
                {
                    ms.WriteByte(99);
                };
                args.RequestKey = string.Format(CultureInfo.InvariantCulture, "test{0}", i);
                target.Process(HttpContext.Current, args);
            }

            target = new TinyCachePlugin();
            target.VirtualCacheFile  = "folder/ImFlushed.txt";
            args.ResizeImageToStream = (Stream ms) =>
            {
                ms.WriteByte(99);
                actual++;
            };

            // Act
            args.RequestKey = "test0";
            target.Process(HttpContext.Current, args);

            // Assert
            Assert.True(File.Exists(target.PhysicalCacheFile));
            Assert.Equal <int>(expected, actual);
        }
示例#5
0
        public void ReadPhysicalCacheFileWithEmptyVirtualCacheFile()
        {
            // Arrange
            string          expected = string.Empty;
            var             rs       = new ResizerSection(ConfigXml);
            var             c        = new Config(rs);
            TinyCachePlugin target   = c.Plugins.Get <TinyCachePlugin>();

            // Act
            target.VirtualCacheFile = expected;
            var actual = target.PhysicalCacheFile;

            // Assert
            Assert.Null(actual);
        }
示例#6
0
        public void ReadAndWritePhysicalCacheFile()
        {
            // Arrange
            string          expected = "folder/name.txt";
            var             rs       = new ResizerSection(ConfigXml);
            var             c        = new Config(rs);
            TinyCachePlugin target   = c.Plugins.Get <TinyCachePlugin>();

            // Act
            target.VirtualCacheFile = "~/" + expected;
            var actual = target.PhysicalCacheFile;

            // Assert
            Assert.True(actual.EndsWith(expected));
        }
示例#7
0
        public void ReadAndWriteVirtualCacheFile()
        {
            // Arrange
            string          expected = "/folder/name.txt";
            var             rs       = new ResizerSection(ConfigXml);
            var             c        = new Config(rs);
            TinyCachePlugin target   = c.Plugins.Get <TinyCachePlugin>();

            // Act
            target.VirtualCacheFile = expected;
            var actual = target.VirtualCacheFile;

            // Assert
            Assert.Equal(expected, actual);
        }
示例#8
0
        public void CanOperateWithEmptyVirtualCacheFile()
        {
            // Arrange
            bool            expected = false;
            var             rs       = new ResizerSection(ConfigXml);
            var             c        = new Config(rs);
            TinyCachePlugin target   = c.Plugins.Get <TinyCachePlugin>();

            target.VirtualCacheFile = string.Empty;

            // Act
            var actual = target.CanOperate;

            // Assert
            Assert.Equal <bool>(expected, actual);
        }