Browse Source

Made Volo.Abp.Http.Client.Tests tests properly working after asp.net core 3.0 migration.

pull/1810/head
Halil İbrahim Kalkan 7 years ago
parent
commit
d1901aa9e7
  1. 9
      framework/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/DynamicProxying/AspNetCoreTestDynamicProxyHttpClientFactory.cs
  2. 17
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ApiExploring/AbpApiDefinitionController_Tests.cs
  3. 2
      framework/test/Volo.Abp.AspNetCore.Tests/Volo/Abp/AspNetCore/AbpAspNetCoreTestBase.cs
  4. 9
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpClientTestBase.cs
  5. 15
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpClientTestModule.cs
  6. 9
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestBase.cs
  7. 3
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs
  8. 2
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/RegularTestControllerClientProxy_Tests.cs
  9. 6
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Startup.cs

9
framework/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/DynamicProxying/AspNetCoreTestDynamicProxyHttpClientFactory.cs

@ -8,11 +8,11 @@ namespace Volo.Abp.AspNetCore.TestBase.DynamicProxying
public class AspNetCoreTestDynamicProxyHttpClientFactory : IDynamicProxyHttpClientFactory, ITransientDependency public class AspNetCoreTestDynamicProxyHttpClientFactory : IDynamicProxyHttpClientFactory, ITransientDependency
{ {
private readonly ITestServerAccessor _testServerAccessor; private readonly ITestServerAccessor _testServerAccessor;
private readonly IHttpClientFactory _httpClientFactory;
public AspNetCoreTestDynamicProxyHttpClientFactory(ITestServerAccessor testServerAccessor, IHttpClientFactory httpClientFactory) { public AspNetCoreTestDynamicProxyHttpClientFactory(
ITestServerAccessor testServerAccessor)
{
_testServerAccessor = testServerAccessor; _testServerAccessor = testServerAccessor;
_httpClientFactory = httpClientFactory;
} }
public HttpClient Create() public HttpClient Create()
@ -20,7 +20,8 @@ namespace Volo.Abp.AspNetCore.TestBase.DynamicProxying
return _testServerAccessor.Server.CreateClient(); return _testServerAccessor.Server.CreateClient();
} }
public HttpClient Create(string name) { public HttpClient Create(string name)
{
return Create(); return Create();
} }
} }

17
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/ApiExploring/AbpApiDefinitionController_Tests.cs

@ -0,0 +1,17 @@
using System.Threading.Tasks;
using Shouldly;
using Volo.Abp.Http.Modeling;
using Xunit;
namespace Volo.Abp.AspNetCore.Mvc.ApiExploring
{
public class AbpApiDefinitionController_Tests : AspNetCoreMvcTestBase
{
[Fact]
public async Task GetAsync()
{
var model = await GetResponseAsObjectAsync<ApplicationApiDescriptionModel>("/api/abp/api-definition");
model.ShouldNotBeNull();
}
}
}

2
framework/test/Volo.Abp.AspNetCore.Tests/Volo/Abp/AspNetCore/AbpAspNetCoreTestBase.cs

@ -43,9 +43,7 @@ namespace Volo.Abp.AspNetCore
using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, url)) using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, url))
{ {
requestMessage.Headers.Add("Accept-Language", CultureInfo.CurrentUICulture.Name); requestMessage.Headers.Add("Accept-Language", CultureInfo.CurrentUICulture.Name);
var response = await Client.SendAsync(requestMessage); var response = await Client.SendAsync(requestMessage);
response.StatusCode.ShouldBe(expectedStatusCode); response.StatusCode.ShouldBe(expectedStatusCode);
return response; return response;
} }

9
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpClientTestBase.cs

@ -0,0 +1,9 @@
using Volo.Abp.AspNetCore;
namespace Volo.Abp.Http
{
public abstract class AbpHttpClientTestBase : AbpAspNetCoreTestBase<Startup>
{
}
}

15
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestModule.cs → framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpClientTestModule.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.AspNetCore.Mvc.ApplicationParts;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Http.Client; using Volo.Abp.Http.Client;
using Volo.Abp.Http.DynamicProxying; using Volo.Abp.Http.DynamicProxying;
@ -7,8 +8,11 @@ using Volo.Abp.TestApp;
namespace Volo.Abp.Http namespace Volo.Abp.Http
{ {
[DependsOn(typeof(AbpAspNetCoreMvcTestModule), typeof(AbpHttpClientModule))] [DependsOn(
public class AbpHttpTestModule : AbpModule typeof(AbpHttpClientModule),
typeof(AbpAspNetCoreMvcTestModule)
)]
public class AbpHttpClientTestModule : AbpModule
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
@ -19,6 +23,11 @@ namespace Volo.Abp.Http
{ {
options.RemoteServices.Default = new RemoteServiceConfiguration("/"); options.RemoteServices.Default = new RemoteServiceConfiguration("/");
}); });
//This is needed after ASP.NET Core 3.0 upgrade.
context.Services.AddMvc()
.PartManager.ApplicationParts
.Add(new AssemblyPart(typeof(AbpAspNetCoreMvcModule).Assembly));
} }
} }
} }

9
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestBase.cs

@ -1,9 +0,0 @@
using Volo.Abp.AspNetCore;
namespace Volo.Abp.Http
{
public abstract class AbpHttpTestBase : AbpAspNetCoreTestBase<Startup>
{
}
}

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

@ -5,6 +5,7 @@ using Microsoft.Extensions.DependencyInjection;
using Shouldly; using Shouldly;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
using Volo.Abp.Http.Modeling;
using Volo.Abp.TestApp.Application; using Volo.Abp.TestApp.Application;
using Volo.Abp.TestApp.Application.Dto; using Volo.Abp.TestApp.Application.Dto;
using Volo.Abp.TestApp.Domain; using Volo.Abp.TestApp.Domain;
@ -12,7 +13,7 @@ using Xunit;
namespace Volo.Abp.Http.DynamicProxying namespace Volo.Abp.Http.DynamicProxying
{ {
public class PersonAppServiceClientProxy_Tests : AbpHttpTestBase public class PersonAppServiceClientProxy_Tests : AbpHttpClientTestBase
{ {
private readonly IPeopleAppService _peopleAppService; private readonly IPeopleAppService _peopleAppService;
private readonly IRepository<Person, Guid> _personRepository; private readonly IRepository<Person, Guid> _personRepository;

2
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/RegularTestControllerClientProxy_Tests.cs

@ -6,7 +6,7 @@ using Xunit;
namespace Volo.Abp.Http.DynamicProxying namespace Volo.Abp.Http.DynamicProxying
{ {
public class RegularTestControllerClientProxy_Tests : AbpHttpTestBase public class RegularTestControllerClientProxy_Tests : AbpHttpClientTestBase
{ {
//TODO: Create a regular MVC Controller and add different parameter bindings, verbs and routes and test client proxy for it! //TODO: Create a regular MVC Controller and add different parameter bindings, verbs and routes and test client proxy for it!

6
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Startup.cs

@ -1,8 +1,6 @@
using System; using System;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace Volo.Abp.Http namespace Volo.Abp.Http
{ {
@ -10,7 +8,7 @@ namespace Volo.Abp.Http
{ {
public IServiceProvider ConfigureServices(IServiceCollection services) public IServiceProvider ConfigureServices(IServiceCollection services)
{ {
services.AddApplication<AbpHttpTestModule>(options => services.AddApplication<AbpHttpClientTestModule>(options =>
{ {
options.UseAutofac(); options.UseAutofac();
}); });
@ -19,7 +17,7 @@ namespace Volo.Abp.Http
return services.BuildServiceProviderFromFactory(); return services.BuildServiceProviderFromFactory();
} }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) public void Configure(IApplicationBuilder app)
{ {
app.InitializeApplication(); app.InitializeApplication();
} }

Loading…
Cancel
Save