private async Task AssertRegularResponse(bool disableDirectStreaming, int?statusCode = null)
        {
            var settings            = disableDirectStreaming ? _settingsDisableDirectStream : _settings;
            var memoryStreamFactory = new TrackMemoryStreamFactory();
            var requestData         = new RequestData(HttpMethod.GET, "/", null, settings, null, memoryStreamFactory)
            {
                Node = new Node(new Uri("http://localhost:9200"))
            };

            var stream   = new TrackDisposeStream();
            var response = ResponseBuilder.ToResponse <RootNodeInfoResponse>(requestData, null, statusCode, null, stream);

            memoryStreamFactory.Created.Count().Should().Be(disableDirectStreaming ? 1 : 0);
            if (disableDirectStreaming)
            {
                var memoryStream = memoryStreamFactory.Created[0];
                memoryStream.IsDisposed.Should().BeTrue();
            }
            stream.IsDisposed.Should().BeTrue();


            stream = new TrackDisposeStream();
            var ct = new CancellationToken();

            response = await ResponseBuilder.ToResponseAsync <RootNodeInfoResponse>(requestData, null, statusCode, null, stream, cancellationToken : ct);

            memoryStreamFactory.Created.Count().Should().Be(disableDirectStreaming ? 2 : 0);
            if (disableDirectStreaming)
            {
                var memoryStream = memoryStreamFactory.Created[1];
                memoryStream.IsDisposed.Should().BeTrue();
            }
            stream.IsDisposed.Should().BeTrue();
        }
Ejemplo n.º 2
0
        private async Task AssertStreamResponse(bool disableDirectStreaming, Action <ResponseBuilder <Stream> > mutate = null)
        {
            var settings            = disableDirectStreaming ? _settingsDisableDirectStream : _settings;
            var memoryStreamFactory = new TrackMemoryStreamFactory();

            var requestData = new RequestData(HttpMethod.GET, "/", null, settings, (IRequestParameters)null, memoryStreamFactory)
            {
                Node = new Node(new Uri("http://localhost:9200"))
            };

            var responseBuilder = new ResponseBuilder <Stream>(requestData)
            {
            };

            mutate?.Invoke(responseBuilder);

            var stream = new TrackDisposeStream();

            responseBuilder.Stream = stream;

            var response = responseBuilder.ToResponse();

            memoryStreamFactory.Created.Count().Should().Be(disableDirectStreaming ? 1 : 0);
            stream.IsDisposed.Should().Be(disableDirectStreaming ? true : false);


            stream = new TrackDisposeStream();
            responseBuilder.Stream = stream;
            response = await responseBuilder.ToResponseAsync();

            memoryStreamFactory.Created.Count().Should().Be(disableDirectStreaming ? 2 : 0);
            stream.IsDisposed.Should().Be(disableDirectStreaming ? true : false);
        }
		private async Task AssertRegularResponse(bool disableDirectStreaming, Action<ResponseBuilder<RootNodeInfoResponse>> mutate = null)
		{
			var settings = disableDirectStreaming ? _settingsDisableDirectStream : _settings;
			var memoryStreamFactory = new TrackMemoryStreamFactory();
			var requestData = new RequestData(HttpMethod.GET, "/", null, settings, null, memoryStreamFactory)
			{
				Node = new Node(new Uri("http://localhost:9200"))
			};

			var responseBuilder = new ResponseBuilder<RootNodeInfoResponse>(requestData)
			{
			};
			mutate?.Invoke(responseBuilder);

			var stream = new TrackDisposeStream();
			responseBuilder.Stream = stream;

			var response = responseBuilder.ToResponse();
			memoryStreamFactory.Created.Count().Should().Be(disableDirectStreaming ? 1 : 0);
			if (disableDirectStreaming)
			{
				var memoryStream = memoryStreamFactory.Created[0];
				memoryStream.IsDisposed.Should().BeTrue();
			}
			stream.IsDisposed.Should().BeTrue();


			stream = new TrackDisposeStream();
			responseBuilder.Stream = stream;
			response = await responseBuilder.ToResponseAsync();
			memoryStreamFactory.Created.Count().Should().Be(disableDirectStreaming ? 2 : 0);
			if (disableDirectStreaming)
			{
				var memoryStream = memoryStreamFactory.Created[1];
				memoryStream.IsDisposed.Should().BeTrue();
			}
			stream.IsDisposed.Should().BeTrue();
		}