Ejemplo n.º 1
0
                public void ShouldThrowExceptionWhenXmlFileIsMissing()
                {
                    var path = Files.Root + @"../../src/Magick.Native/resources/Release";

#if Q8
                    path += "Q8";
#elif Q16
                    path += "Q16";
#else
                    path += "Q16-HDRI";
#endif

                    foreach (var fileName in Directory.GetFiles(path, "*.xml"))
                    {
                        var tempFile = fileName + ".tmp";

                        Cleanup.DeleteFile(tempFile);

                        File.Move(fileName, tempFile);

                        try
                        {
                            var exception = Assert.Throws <ArgumentException>("path", () =>
                            {
                                MagickNET.Initialize(path);
                            });

                            Assert.Contains("Unable to find file: " + Path.GetFullPath(fileName), exception.Message);
                        }
                        finally
                        {
                            File.Move(tempFile, fileName);
                        }
                    }
                }
Ejemplo n.º 2
0
                public void ShouldThrowExceptionWhenXmlFileIsMissing()
                {
                    string path = Files.Root + @"../../src/Magick.Native/resources/Release";

#if Q8
                    path += "Q8";
#elif Q16
                    path += "Q16";
#elif Q16HDRI
                    path += "Q16-HDRI";
#else
#error Not implemented!
#endif

                    foreach (string fileName in Directory.GetFiles(path, "*.xml"))
                    {
                        string tempFile = fileName + ".tmp";

                        Cleanup.DeleteFile(tempFile);

                        File.Move(fileName, tempFile);

                        try
                        {
                            ExceptionAssert.Throws <ArgumentException>("path", () =>
                            {
                                MagickNET.Initialize(path);
                            }, "Unable to find file: " + Path.GetFullPath(fileName));
                        }
                        finally
                        {
                            File.Move(tempFile, fileName);
                        }
                    }
                }
Ejemplo n.º 3
0
        public void Test_Write()
        {
            var fileSize = new FileInfo(Files.RoseSparkleGIF).Length;

            Assert.Equal(9891, fileSize);

            using (var collection = new MagickImageCollection(Files.RoseSparkleGIF))
            {
                using (MemoryStream memStream = new MemoryStream())
                {
                    collection.Write(memStream);

                    Assert.Equal(fileSize, memStream.Length);
                }
            }

            var tempFile = new FileInfo(Path.GetTempFileName() + ".gif");

            try
            {
                using (var collection = new MagickImageCollection(Files.RoseSparkleGIF))
                {
                    collection.Write(tempFile);

                    Assert.Equal(fileSize, tempFile.Length);
                }
            }
            finally
            {
                Cleanup.DeleteFile(tempFile);
            }
        }
Ejemplo n.º 4
0
        public void Initialize_XmlFileIsMissing_ThrowsException()
        {
            string path = Files.Root + @"../../Source/Magick.NET.Native/Resources/xml";

            foreach (string fileName in Directory.GetFiles(path, "*.xml"))
            {
                string tempFile = fileName + ".tmp";

                Cleanup.DeleteFile(tempFile);

                File.Move(fileName, tempFile);

                try
                {
                    ExceptionAssert.Throws <ArgumentException>("path", () =>
                    {
                        MagickNET.Initialize(path);
                    }, "Unable to find file: " + Path.GetFullPath(fileName));
                }
                finally
                {
                    File.Move(tempFile, fileName);
                }
            }
        }
Ejemplo n.º 5
0
        public void Test_OnPostAuthorizeRequestFile()
        {
            MagickModule        module  = CreateFileModule();
            TestHttpContextBase context = new TestHttpContextBase();

            module.OnBeginRequest(context);
            module.OnPostAuthorizeRequest(context);

            Assert.IsNull(context.RemapedHandler);

            TestFileUrlResolver.Result = new TestFileUrlResolverResult();

            module.OnPostAuthorizeRequest(context);
            Assert.IsNull(context.RemapedHandler);

            TestFileUrlResolver.Result.FileName = "c:\foo.bar";

            module.OnPostAuthorizeRequest(context);
            Assert.IsNull(context.RemapedHandler);

            string tempFile = Path.GetTempFileName();

            try
            {
                TestFileUrlResolver.Result.FileName = tempFile;

                module.OnPostAuthorizeRequest(context);
                Assert.IsNull(context.RemapedHandler);

                TestFileUrlResolver.Result.Format = MagickFormat.Stegano;

                module.OnPostAuthorizeRequest(context);
                Assert.IsNull(context.RemapedHandler);

                TestFileUrlResolver.Result.Format = MagickFormat.Tiff;

                module.OnPostAuthorizeRequest(context);
                Assert.IsNull(context.RemapedHandler);

                TestFileUrlResolver.Result.Format = MagickFormat.Svg;

                module.OnPostAuthorizeRequest(context);
                Assert.IsNotNull(context.RemapedHandler);
                Assert.AreEqual(context.RemapedHandler.GetType(), typeof(GzipHandler));
            }
            finally
            {
                Cleanup.DeleteFile(tempFile);
            }
        }
Ejemplo n.º 6
0
        public void Initialize_WithConfigurationFiles_FolderContainsAllFiles()
        {
            string path = null;

            try
            {
                path = MagickNET.Initialize(ConfigurationFiles.Default);

                AssertFiles(path);
            }
            finally
            {
                Cleanup.DeleteDirectory(path);
            }
        }
Ejemplo n.º 7
0
                public void ShouldWriteAllFilesInTheReturnedPath()
                {
                    string path = null;

                    try
                    {
                        path = MagickNET.Initialize(ConfigurationFiles.Default);

                        AssertConfigFiles(path);
                    }
                    finally
                    {
                        Cleanup.DeleteDirectory(path);
                    }
                }
Ejemplo n.º 8
0
        public IEnumerable <ITestCollection> OrderTestCollections(IEnumerable <ITestCollection> testCollections)
        {
#if !NETCORE
            MagickNET.SetGhostscriptDirectory(@"C:\Program Files (x86)\gs\gs9.53.1\bin");
#endif

            var configFiles = ConfigurationFiles.Default;
            configFiles.Policy.Data = ModifyPolicy(configFiles.Policy.Data);
            configFiles.Type.Data   = CreateTypeData();

            var path = Path.Combine(Path.GetTempPath(), "Magick.NET.Tests");
            Cleanup.DeleteDirectory(path);
            Directory.CreateDirectory(path);

            MagickNET.Initialize(configFiles, path);

            return(testCollections);
        }
Ejemplo n.º 9
0
        public IEnumerable <ITestCollection> OrderTestCollections(IEnumerable <ITestCollection> testCollections)
        {
            Ghostscript.Initialize();

            var configFiles = ConfigurationFiles.Default;

            configFiles.Policy.Data = ModifyPolicy(configFiles.Policy.Data);
            configFiles.Type.Data   = CreateTypeData();

            var path = Path.Combine(Path.GetTempPath(), "Magick.NET.Tests");

            Cleanup.DeleteDirectory(path);
            Directory.CreateDirectory(path);

            MagickNET.Initialize(configFiles, path);

            return(testCollections);
        }
Ejemplo n.º 10
0
        private MagickWebSettings LoadSettings(string config)
        {
            config = CreateConfig(config);

            _tempFile = Path.GetTempFileName();
            try
            {
                File.WriteAllText(_tempFile, config);

                MagickWebSettings settings = MagickWebSettings.CreateInstance(this);
                Assert.IsNotNull(settings);

                return(settings);
            }
            finally
            {
                Cleanup.DeleteFile(_tempFile);
            }
        }
Ejemplo n.º 11
0
        public void Test_OnPostMapRequestHandlerFile()
        {
            MagickModule module = CreateFileModule();

            module.Init(new TestHttpApplication());

            TestHttpContextBase context = new TestHttpContextBase();

            module.OnBeginRequest(context);
            module.OnPostMapRequestHandler(context);

            Assert.IsNull(context.Handler);

            string tempFile = Path.GetTempFileName();

            try
            {
                TestFileUrlResolver.Result = new TestFileUrlResolverResult()
                {
                    FileName = tempFile,
                    Format   = MagickFormat.Jpg,
                };

                module.OnPostMapRequestHandler(context);
                Assert.IsNotNull(context.Handler);
                Assert.AreEqual(context.Handler.GetType(), typeof(ImageOptimizerHandler));

                TestFileUrlResolver.ScriptResult = new TestScriptData()
                {
                    OutputFormat = MagickFormat.Tiff,
                    Script       = XElement.Parse("<test/>").CreateNavigator(),
                };

                module.OnPostMapRequestHandler(context);
                Assert.IsNotNull(context.Handler);
                Assert.AreEqual(context.Handler.GetType(), typeof(MagickScriptHandler));
            }
            finally
            {
                Cleanup.DeleteFile(tempFile);
            }
        }
Ejemplo n.º 12
0
        public void Initialize_XmlFileIsMissing_ThrowsException()
        {
            string path = Files.Root + @"../../Source/Magick.NET.Native/Resources/xml";

            foreach (string fileName in Directory.GetFiles(path, "*.xml"))
            {
                string tempFile = fileName + ".tmp";

                Cleanup.DeleteFile(tempFile);

                File.Move(fileName, tempFile);

                ExceptionAssert.Throws <ArgumentException>(() =>
                {
                    MagickNET.Initialize(path);
                }, "MagickNET._ImageMagickFiles does not contain: " + Path.GetFileName(fileName));

                File.Move(tempFile, fileName);
            }
        }
Ejemplo n.º 13
0
                public void ShouldWriteCustomPolicyToDisk()
                {
                    string policy = @"<test/>";

                    string path = null;

                    try
                    {
                        var configFiles = ConfigurationFiles.Default;
                        configFiles.Policy.Data = policy;

                        path = MagickNET.Initialize(configFiles);

                        Assert.Equal(policy, File.ReadAllText(Path.Combine(path, "policy.xml")));
                    }
                    finally
                    {
                        Cleanup.DeleteDirectory(path);
                    }
                }
        public void Test_Write()
        {
            long fileSize;

            using (IMagickImage image = new MagickImage(Files.RoseSparkleGIF))
            {
                fileSize = image.FileSize;
            }

            Assert.AreEqual(fileSize, 9891);

            using (IMagickImageCollection collection = new MagickImageCollection(Files.RoseSparkleGIF))
            {
                using (MemoryStream memStream = new MemoryStream())
                {
                    collection.Write(memStream);

                    Assert.AreEqual(fileSize, memStream.Length);
                }
            }

            FileInfo tempFile = new FileInfo(Path.GetTempFileName() + ".gif");

            try
            {
                using (IMagickImageCollection collection = new MagickImageCollection(Files.RoseSparkleGIF))
                {
                    collection.Write(tempFile);

                    Assert.AreEqual(fileSize, tempFile.Length);
                }
            }
            finally
            {
                Cleanup.DeleteFile(tempFile);
            }
        }
Ejemplo n.º 15
0
 public void Dispose()
 => Cleanup.DeleteFile(_tempFile);
Ejemplo n.º 16
0
 public void Dispose()
 => Cleanup.DeleteDirectory(_tempDirectory);
Ejemplo n.º 17
0
 public void Dispose()
 => Cleanup.DeleteFile(FileInfo);
Ejemplo n.º 18
0
 public static void RemoveCustomPolicyFolder()
 {
     Cleanup.DeleteDirectory(_path);
 }
Ejemplo n.º 19
0
        public void Test_Write304()
        {
            string config = @"<magick.net.web canCreateDirectories=""false"" cacheDirectory=""c:\cache""/>";

            MagickWebSettings settings = TestSectionLoader.Load(config);

            TestMagickHandler handler = new TestMagickHandler(settings, ImageData);

            HttpRequest request = new HttpRequest("foo", "https://bar", string.Empty);

            using (MemoryStream memStream = new MemoryStream())
            {
                using (StreamWriter writer = new StreamWriter(memStream))
                {
                    HttpResponse response = new HttpResponse(writer);
                    HttpContext  context  = new HttpContext(request, response);

                    FileInfo file          = new FileInfo(handler.FileName);
                    string   modifiedSince = file.LastWriteTimeUtc.AddMinutes(1).ToString("r", CultureInfo.InvariantCulture);
                    request.SetHeaders("If-Modified-Since", modifiedSince);
                    handler.ProcessRequest(context);

                    Assert.AreEqual(200, response.StatusCode);
                    Assert.AreEqual(file.LastWriteTimeUtc.ToString(), response.Cache.GetLastModified().ToString());

                    request.SetHeaders("If-Modified-Since", "foobar");
                    handler.ProcessRequest(context);

                    Assert.AreEqual(200, response.StatusCode);

                    modifiedSince = file.LastWriteTimeUtc.AddMinutes(1).ToString("r", CultureInfo.InvariantCulture) + "; foo";
                    request.SetHeaders("If-Modified-Since", modifiedSince);
                    handler.ProcessRequest(context);

                    Assert.AreEqual(200, response.StatusCode);

                    modifiedSince = file.LastWriteTimeUtc.ToString("r", CultureInfo.InvariantCulture);
                    request.SetHeaders("If-Modified-Since", modifiedSince);
                    handler.ProcessRequest(context);

                    Assert.AreEqual(304, response.StatusCode);

                    string tempFile = Path.GetTempFileName();
                    try
                    {
                        File.Copy(handler.FileName, tempFile, true);
                        File.SetLastWriteTimeUtc(tempFile, DateTime.Now.AddYears(2));

                        handler.FileName = tempFile;

                        request.SetHeaders("If-Modified-Since", modifiedSince);
                        handler.ProcessRequest(context);

                        Assert.AreEqual(304, response.StatusCode);
                        Assert.AreEqual(DateTime.Now.Year, response.Cache.GetLastModified().Year);
                    }
                    finally
                    {
                        Cleanup.DeleteFile(tempFile);
                    }
                }
            }
        }