Exemple #1
0
        public async Task ShouldRunOnValidateActionNoCommandsAsync(string url)
        {
            if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
            {
                // return;
            }

            bool complete = false;

            void OnParseCommands(ImageCommandContext context)
            {
                Assert.NotNull(context);
                Assert.NotNull(context.Context);
                Assert.NotNull(context.Commands);
                Assert.NotNull(context.Parser);
                complete = true;
            }

            using (TestServer server = ImageSharpTestServer.CreateWithActions(OnParseCommands))
            {
                await server.CreateClient().GetAsync(url);
            }

            Assert.True(complete);
        }
        public async Task ShouldRunOnPrepareResponseAction()
        {
            bool complete = false;

            void OnPrepareResponse(HttpContext context)
            {
                Assert.NotNull(context);
                Assert.NotNull(context.Response);
                complete = true;
            }

            TestServer server = ImageSharpTestServer.CreateWithActions(null, null, null, OnPrepareResponse);

            await server.CreateClient().GetAsync(ImageSharpTestServer.TestImage + "?width=20").ConfigureAwait(false);

            Assert.True(complete);
        }
        public void CanAddRemoveImageProcessors()
        {
            void RemoveServices(IServiceCollection services)
            {
                IImageSharpBuilder builder = services.AddImageSharp()
                                             .AddProcessor <MockWebProcessor>();

                Assert.Contains(services, x => x.ImplementationType == typeof(MockWebProcessor));

                builder.RemoveProcessor <MockWebProcessor>();

                Assert.DoesNotContain(services, x => x.ImplementationType == typeof(MockWebProcessor));
            }

            using (TestServer server = ImageSharpTestServer.Create(ImageSharpTestServer.DefaultConfig, RemoveServices))
            {
            }
        }
        public async Task ShouldRunOnBeforeSaveAction()
        {
            bool complete = false;

            void OnBeforeSave(FormattedImage image)
            {
                Assert.NotNull(image);
                Assert.NotNull(image.Format);
                Assert.NotNull(image.Image);
                complete = true;
            }

            TestServer server = ImageSharpTestServer.CreateWithActions(null, OnBeforeSave);

            await server.CreateClient().GetAsync(ImageSharpTestServer.TestImage + "?width=20").ConfigureAwait(false);

            Assert.True(complete);
        }
Exemple #5
0
        public async Task ShouldRunOnValidateActionAsync(string url)
        {
            // Running this test with Azurite https://github.com/Azure/Azurite/ on Travis results in the following exception.
            //
            // Error Message:
            // Microsoft.Azure.Storage.StorageException : Unexpected response code, Expected:PartialContent, Received:OK
            // Stack Trace:
            //   at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteAsync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
            //   at Microsoft.Azure.Storage.Blob.BlobReadStream.DispatchReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
            //   at Microsoft.Azure.Storage.Blob.BlobReadStream.Read(Byte[] buffer, Int32 offset, Int32 count)
            //   at SixLabors.ImageSharp.Image.InternalDetectFormat(Stream stream, Configuration config)
            //   at SixLabors.ImageSharp.Image.DiscoverDecoder(Stream stream, Configuration config, IImageFormat& format)
            //   at SixLabors.ImageSharp.Image.Decode[TPixel](Stream stream, Configuration config)
            //   at SixLabors.ImageSharp.Image.Load[TPixel](Configuration config, Stream stream, IImageFormat& format)
            //   at SixLabors.ImageSharp.Web.Middleware.ImageSharpMiddleware.Invoke(HttpContext context) in /home/travis/build/SixLabors/ImageSharp.Web/src/ImageSharp.Web/Middleware/ImageSharpMiddleware.cs:line 228
            //   at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.Invoke(HttpContext httpContext)
            //   at Microsoft.AspNetCore.TestHost.ClientHandler.<>c__DisplayClass3_0.<<SendAsync>b__0>d.MoveNext()
            // --- End of stack trace from previous location where exception was thrown ---
            //   at Microsoft.AspNetCore.TestHost.ClientHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
            //   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
            //   at SixLabors.ImageSharp.Web.Tests.Actions.ActionTests.ShouldRunOnValidateAction(String url) in /home/travis/build/SixLabors/ImageSharp.Web/tests/ImageSharp.Web.Tests/Actions/ActionTests.cs:line 31
            if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
            {
                return;
            }

            bool complete = false;

            void OnParseCommands(ImageCommandContext context)
            {
                Assert.NotNull(context);
                Assert.NotNull(context.Context);
                Assert.NotNull(context.Commands);
                Assert.NotNull(context.Parser);
                complete = true;
            }

            using (TestServer server = ImageSharpTestServer.CreateWithActions(OnParseCommands))
            {
                await server.CreateClient().GetAsync(url + "?width=20").ConfigureAwait(false);
            }

            Assert.True(complete);
        }
        public async Task ShouldRunOnProcessedAction()
        {
            bool complete = false;

            void OnProcessed(ImageProcessingContext context)
            {
                Assert.NotNull(context);
                Assert.NotNull(context.Context);
                Assert.NotNull(context.Extension);
                Assert.NotNull(context.Stream);
                complete = true;
            }

            TestServer server = ImageSharpTestServer.CreateWithActions(null, null, OnProcessed);

            await server.CreateClient().GetAsync(ImageSharpTestServer.TestImage + "?width=20").ConfigureAwait(false);

            Assert.True(complete);
        }
        public async Task ShouldRunOnValidateAction()
        {
            bool complete = false;

            void OnParseCommands(ImageCommandContext context)
            {
                Assert.NotNull(context);
                Assert.NotNull(context.Context);
                Assert.NotNull(context.Commands);
                Assert.NotNull(context.Parser);
                complete = true;
            }

            TestServer server = ImageSharpTestServer.CreateWithActions(OnParseCommands);

            await server.CreateClient().GetAsync(ImageSharpTestServer.TestImage + "?width=20").ConfigureAwait(false);

            Assert.True(complete);
        }
        public void CanAddRemoveFactoryImageProviders()
        {
            void RemoveServices(IServiceCollection services)
            {
                IImageSharpBuilder builder = services.AddImageSharp()
                                             .AddProvider(_ => new MockImageProvider());

                Assert.DoesNotContain(services, x => x.ImplementationType == typeof(MockImageProvider));

                Assert.Contains(services, x => x.ImplementationFactory?.Method.ReturnType == typeof(MockImageProvider));

                builder.RemoveProvider <MockImageProvider>();

                Assert.DoesNotContain(services, x => x.ImplementationFactory?.Method.ReturnType == typeof(MockImageProvider));
            }

            using (TestServer server = ImageSharpTestServer.Create(ImageSharpTestServer.DefaultConfig, RemoveServices))
            {
            }
        }