Example #1
0
        public void MimeMultipartParserTestMultipartContent(string boundary)
        {
            MultipartContent content = new MultipartContent("mixed", boundary);

            content.Add(new StringContent("A"));
            content.Add(new StringContent("B"));
            content.Add(new StringContent("C"));

            MemoryStream memStream = new MemoryStream();

            content.CopyToAsync(memStream).Wait();
            memStream.Position = 0;
            byte[] data = memStream.ToArray();

            for (var cnt = 1; cnt <= data.Length; cnt++)
            {
                MimeMultipartParser parser = CreateMimeMultipartParser(data.Length, boundary);
                Assert.NotNull(parser);

                int                       totalBytesConsumed;
                List <string>             bodyParts;
                MimeMultipartParser.State state = ParseBufferInSteps(parser, data, cnt, out bodyParts, out totalBytesConsumed);
                Assert.Equal(MimeMultipartParser.State.BodyPartCompleted, state);
                Assert.Equal(data.Length, totalBytesConsumed);

                Assert.Equal(4, bodyParts.Count);
                Assert.Empty(bodyParts[0]);

                Assert.True(bodyParts[1].EndsWith("A"));
                Assert.True(bodyParts[2].EndsWith("B"));
                Assert.True(bodyParts[3].EndsWith("C"));
            }
        }
Example #2
0
        public Task SendAsync_SetsGenericPrincipalWhenThreadPrincipalIsNullAndCleansUpAfterward()
        {
            // Arrange
            var        config            = new HttpConfiguration();
            var        request           = new HttpRequestMessage();
            var        dispatcherMock    = new Mock <HttpControllerDispatcher>(config);
            var        server            = new HttpServer(config, dispatcherMock.Object);
            var        invoker           = new HttpMessageInvoker(server);
            IPrincipal callbackPrincipal = null;

            Thread.CurrentPrincipal = null;
            dispatcherMock.Protected()
            .Setup <Task <HttpResponseMessage> >("SendAsync", request, CancellationToken.None)
            .Callback(() => callbackPrincipal = Thread.CurrentPrincipal)
            .Returns(TaskHelpers.FromResult <HttpResponseMessage>(request.CreateResponse()));

            // Act
            return(invoker.SendAsync(request, CancellationToken.None)
                   .ContinueWith(req =>
            {
                // Assert
                Assert.NotNull(callbackPrincipal);
                Assert.False(callbackPrincipal.Identity.IsAuthenticated);
                Assert.Empty(callbackPrincipal.Identity.Name);
                Assert.Null(Thread.CurrentPrincipal);
            }));
        }
Example #3
0
        public void ReadAsMultipartAsync_ParsesEmptyContent(string boundary)
        {
            HttpContent content = CreateContent(boundary);
            MultipartMemoryStreamProvider result = content.ReadAsMultipartAsync().Result;

            Assert.Empty(result.Contents);
        }
        public void Default_Constructor()
        {
            HttpConfiguration configuration = new HttpConfiguration();

            Assert.Empty(configuration.Filters);
            Assert.NotEmpty(configuration.Formatters);
            Assert.Empty(configuration.MessageHandlers);
            Assert.Empty(configuration.Properties);
            Assert.Empty(configuration.Routes);
            Assert.NotNull(configuration.ServiceResolver);
            Assert.Equal("/", configuration.VirtualPathRoot);
        }
Example #5
0
        public void GetServicesDoesntEagerlyCreate()
        {
            // Arrange
            HttpConfiguration  config   = new HttpConfiguration();
            DependencyResolver resolver = new DependencyResolver(config);

            // Act
            IEnumerable <object> result = resolver.GetServices(typeof(SomeClass));

            // Assert
            // Service resolver should not have created an instance or arbitrary class.
            Assert.Empty(result);
        }
        public void DisposeRequestResources_WhenResourceListExists_DisposesResourceAndClearsReferences()
        {
            var list = new List <IDisposable> {
                _disposable
            };

            _request.Properties[HttpPropertyKeys.DisposableRequestResourcesKey] = list;

            _request.DisposeRequestResources();

            _disposableMock.Verify(d => d.Dispose());
            Assert.Empty(list);
        }
        public void DisposeRequestResources_WhenResourcesDisposeMethodThrowsException_IgnoresExceptionsAndContinuesDisposingOtherResources()
        {
            Mock <IDisposable> throwingDisposableMock = new Mock <IDisposable>();

            throwingDisposableMock.Setup(d => d.Dispose()).Throws(new Exception());
            var list = new List <IDisposable> {
                throwingDisposableMock.Object, _disposable
            };

            _request.Properties[HttpPropertyKeys.DisposableRequestResourcesKey] = list;

            _request.DisposeRequestResources();

            throwingDisposableMock.Verify(d => d.Dispose());
            _disposableMock.Verify(d => d.Dispose());
            Assert.Empty(list);
        }
Example #8
0
        public void ParseQueryStringSucceeds(Uri address)
        {
            NameValueCollection result = address.ParseQueryString();

            Assert.NotNull(result);

            bool addressContainsQuery = address.Query.Contains("?");

            if (!addressContainsQuery)
            {
                Assert.Empty(result);
            }
            else
            {
                Assert.True(result.Count > 0, "Uri with query string should return non-empty set.");
            }
        }
        public void FileData_IsEmpty()
        {
            MultipartFileStreamProvider provider = new MultipartFileStreamProvider(ValidPath, ValidBufferSize);

            Assert.Empty(provider.FileData);
        }