Browse Source

Update unit test.

pull/7460/head
maliming 6 years ago
parent
commit
75e47dd4a5
  1. 5
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentInputFormatter.cs
  2. 7
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs
  3. 11
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs
  4. 8
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs
  5. 4
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs

5
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentInputFormatter.cs

@ -20,7 +20,10 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters
public override Task<InputFormatterResult> ReadRequestBodyAsync(InputFormatterContext context) public override Task<InputFormatterResult> ReadRequestBodyAsync(InputFormatterContext context)
{ {
return InputFormatterResult.SuccessAsync(new RemoteStreamContent(context.HttpContext.Request.Body)); return InputFormatterResult.SuccessAsync(new RemoteStreamContent(context.HttpContext.Request.Body)
{
ContentType = context.HttpContext.Request.ContentType
});
} }
} }
} }

7
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController.cs

@ -2,6 +2,7 @@
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Shouldly;
using Volo.Abp.Content; using Volo.Abp.Content;
namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters
@ -14,11 +15,11 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters
public async Task<IRemoteStreamContent> DownloadAsync() public async Task<IRemoteStreamContent> DownloadAsync()
{ {
var memoryStream = new MemoryStream(); var memoryStream = new MemoryStream();
await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("stream")); await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("DownloadAsync"));
return new RemoteStreamContent(memoryStream) return new RemoteStreamContent(memoryStream)
{ {
ContentType = "audio/mpeg" ContentType = "application/rtf"
}; };
} }
@ -28,7 +29,7 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters
{ {
using (var reader = new StreamReader(streamContent.GetStream())) using (var reader = new StreamReader(streamContent.GetStream()))
{ {
return await reader.ReadToEndAsync(); return await reader.ReadToEndAsync() + ":" + streamContent.ContentType;
} }
} }
} }

11
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentTestController_Tests.cs

@ -13,8 +13,8 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters
public async Task DownloadAsync() public async Task DownloadAsync()
{ {
var result = await GetResponseAsync("/api/remote-stream-content-test/download"); var result = await GetResponseAsync("/api/remote-stream-content-test/download");
result.Content.Headers.ContentType?.ToString().ShouldBe("audio/mpeg"); result.Content.Headers.ContentType?.ToString().ShouldBe("application/rtf");
(await result.Content.ReadAsStringAsync()).ShouldBe("stream"); (await result.Content.ReadAsStringAsync()).ShouldBe("DownloadAsync");
} }
[Fact] [Fact]
@ -23,15 +23,14 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters
using (var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/api/remote-stream-content-test/upload")) using (var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/api/remote-stream-content-test/upload"))
{ {
var memoryStream = new MemoryStream(); var memoryStream = new MemoryStream();
await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("upload")); await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("UploadAsync"));
memoryStream.Position = 0; memoryStream.Position = 0;
requestMessage.Content = new StreamContent(memoryStream); requestMessage.Content = new StreamContent(memoryStream);
requestMessage.Content.Headers.Add("Content-Type", "*/*"); requestMessage.Content.Headers.Add("Content-Type", "application/rtf");
var response = await Client.SendAsync(requestMessage); var response = await Client.SendAsync(requestMessage);
(await response.Content.ReadAsStringAsync()).ShouldBe("upload"); (await response.Content.ReadAsStringAsync()).ShouldBe("UploadAsync:application/rtf");
} }
} }
} }

8
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs

@ -177,11 +177,11 @@ namespace Volo.Abp.Http.DynamicProxying
{ {
var result = await _peopleAppService.DownloadAsync(); var result = await _peopleAppService.DownloadAsync();
result.ContentType.ShouldBe("audio/mpeg"); result.ContentType.ShouldBe("application/rtf");
using (var reader = new StreamReader(result.GetStream())) using (var reader = new StreamReader(result.GetStream()))
{ {
var str = await reader.ReadToEndAsync(); var str = await reader.ReadToEndAsync();
str.ShouldBe("stream"); str.ShouldBe("DownloadAsync");
} }
} }
@ -189,12 +189,12 @@ namespace Volo.Abp.Http.DynamicProxying
public async Task UploadAsync() public async Task UploadAsync()
{ {
var memoryStream = new MemoryStream(); var memoryStream = new MemoryStream();
await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("upload")); await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("UploadAsync"));
var result = await _peopleAppService.UploadAsync(new RemoteStreamContent(memoryStream) var result = await _peopleAppService.UploadAsync(new RemoteStreamContent(memoryStream)
{ {
ContentType = "application/rtf" ContentType = "application/rtf"
}); });
result.ShouldBe("upload"); result.ShouldBe("UploadAsync");
} }
} }
} }

4
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/PeopleAppService.cs

@ -71,11 +71,11 @@ namespace Volo.Abp.TestApp.Application
public async Task<IRemoteStreamContent> DownloadAsync() public async Task<IRemoteStreamContent> DownloadAsync()
{ {
var memoryStream = new MemoryStream(); var memoryStream = new MemoryStream();
await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("stream")); await memoryStream.WriteAsync(Encoding.UTF8.GetBytes("DownloadAsync"));
return new RemoteStreamContent(memoryStream) return new RemoteStreamContent(memoryStream)
{ {
ContentType = "audio/mpeg" ContentType = "application/rtf"
}; };
} }

Loading…
Cancel
Save