Commit 38f2e9ad authored by Steve Smith's avatar Steve Smith

parent f82c939e
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard1.6</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>CleanArchitecture.Core</AssemblyName> <AssemblyName>CleanArchitecture.Core</AssemblyName>
<PackageId>CleanArchitecture.Core</PackageId> <PackageId>CleanArchitecture.Core</PackageId>
<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
<PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
......
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard1.6</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>CleanArchitecture.Infrastructure</AssemblyName> <AssemblyName>CleanArchitecture.Infrastructure</AssemblyName>
<PackageId>CleanArchitecture.Infrastructure</PackageId> <PackageId>CleanArchitecture.Infrastructure</PackageId>
<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
<PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
...@@ -16,11 +11,8 @@ ...@@ -16,11 +11,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.1"> <PackageReference Include="StructureMap.Microsoft.DependencyInjection" Version="1.4.0" />
<PrivateAssets>All</PrivateAssets>
</PackageReference>
<PackageReference Include="StructureMap.Microsoft.DependencyInjection" Version="1.3.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework> <TargetFramework>netcoreapp2.0</TargetFramework>
<PreserveCompilationContext>true</PreserveCompilationContext> <PreserveCompilationContext>true</PreserveCompilationContext>
<AssemblyName>CleanArchitecture.Web</AssemblyName> <AssemblyName>CleanArchitecture.Web</AssemblyName>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<PackageId>CleanArchitecture.Web</PackageId> <PackageId>CleanArchitecture.Web</PackageId>
<RuntimeFrameworkVersion>1.0.3</RuntimeFrameworkVersion>
<PackageTargetFallback>$(PackageTargetFallback);dotnet5.6;portable-net45+win8</PackageTargetFallback>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
...@@ -22,8 +20,8 @@ ...@@ -22,8 +20,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.1.1" /> <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" /> <!--<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.1.1" /> <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.1" /> <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" /> <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
...@@ -35,7 +33,7 @@ ...@@ -35,7 +33,7 @@
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.1" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="1.1.1" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="1.1.1" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink.Loader" Version="14.1.0" /> <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink.Loader" Version="14.1.0" />-->
</ItemGroup> </ItemGroup>
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish"> <Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
......
...@@ -44,7 +44,7 @@ namespace CleanArchitecture.Web.Controllers ...@@ -44,7 +44,7 @@ namespace CleanArchitecture.Web.Controllers
Title = "Run and Review Tests", Title = "Run and Review Tests",
Description = "Make sure all the tests run and review what they are doing." Description = "Make sure all the tests run and review what they are doing."
}); });
return 3; return _todoRepository.List().Count;
} }
} }
} }
using System; using System.IO;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore;
namespace CleanArchitecture.Web namespace CleanArchitecture.Web
{ {
...@@ -11,14 +8,12 @@ namespace CleanArchitecture.Web ...@@ -11,14 +8,12 @@ namespace CleanArchitecture.Web
{ {
public static void Main(string[] args) public static void Main(string[] args)
{ {
var host = new WebHostBuilder() BuildWebHost(args).Run();
.UseKestrel() }
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration() public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>() .UseStartup<Startup>()
.Build(); .Build();
host.Run();
}
} }
} }
...@@ -20,17 +20,12 @@ namespace CleanArchitecture.Web ...@@ -20,17 +20,12 @@ namespace CleanArchitecture.Web
{ {
public class Startup public class Startup
{ {
public Startup(IHostingEnvironment env) public Startup(IConfiguration config)
{ {
var builder = new ConfigurationBuilder() Configuration = config;
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
} }
public IConfigurationRoot Configuration { get; } public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container. // This method gets called by the runtime. Use this method to add services to the container.
public IServiceProvider ConfigureServices(IServiceCollection services) public IServiceProvider ConfigureServices(IServiceCollection services)
...@@ -39,10 +34,11 @@ namespace CleanArchitecture.Web ...@@ -39,10 +34,11 @@ namespace CleanArchitecture.Web
// TODO: Add DbContext and IOC // TODO: Add DbContext and IOC
services.AddDbContext<AppDbContext>(options => services.AddDbContext<AppDbContext>(options =>
options.UseInMemoryDatabase(Guid.NewGuid().ToString())); //options.UseInMemoryDatabase(Guid.NewGuid().ToString()));
//options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddMvc(); services.AddMvc()
.AddControllersAsServices();
var container = new Container(); var container = new Container();
...@@ -67,7 +63,6 @@ namespace CleanArchitecture.Web ...@@ -67,7 +63,6 @@ namespace CleanArchitecture.Web
}); });
return container.GetInstance<IServiceProvider>(); return container.GetInstance<IServiceProvider>();
services.AddTransient<IRepository<ToDoItem>, EfRepository<ToDoItem>>();
} }
public void ConfigureTesting(IApplicationBuilder app, public void ConfigureTesting(IApplicationBuilder app,
......
{ {
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\v11.0;Database=cleanarchitecture;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": { "Logging": {
"IncludeScopes": false, "IncludeScopes": false,
"LogLevel": { "LogLevel": {
......
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp1.0</TargetFramework> <TargetFramework>netcoreapp2.0</TargetFramework>
<AssemblyName>CleanArchitecture.Tests</AssemblyName> <AssemblyName>CleanArchitecture.Tests</AssemblyName>
<PackageId>CleanArchitecture.Tests</PackageId> <PackageId>CleanArchitecture.Tests</PackageId>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles> <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
<PackageTargetFallback>$(PackageTargetFallback);dotnet5.6</PackageTargetFallback>
<RuntimeFrameworkVersion>1.0.3</RuntimeFrameworkVersion>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
</PropertyGroup> </PropertyGroup>
<!-- Solves Problem#1 (binding error) https://github.com/Microsoft/vstest/issues/428. --> <!-- Solves Problem#1 (binding error) https://github.com/Microsoft/vstest/issues/428. -->
...@@ -42,12 +36,11 @@ ...@@ -42,12 +36,11 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" /> <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
<PackageReference Include="xunit" Version="2.2.0" /> <PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="1.1.1" /> <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="1.1.1" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.2" /> <PackageReference Include="Newtonsoft.Json" Version="10.0.2" />
<PackageReference Include="System.Diagnostics.TraceSource" Version="4.3.0" /> <PackageReference Include="System.Diagnostics.TraceSource" Version="4.3.0" />
<PackageReference Include="Moq" Version="4.7.8" /> <PackageReference Include="Moq" Version="4.7.8" />
......
...@@ -23,13 +23,13 @@ namespace CleanArchitecture.Tests.Integration.Web ...@@ -23,13 +23,13 @@ namespace CleanArchitecture.Tests.Integration.Web
public class ApiToDoItemsControllerListShould public class ApiToDoItemsControllerListShould
{ {
private readonly HttpClient _client; private readonly HttpClient _client;
public ApiToDoItemsControllerListShould() public ApiToDoItemsControllerListShould()
{ {
_client = GetClient(); _client = GetClient();
} }
protected HttpClient GetClient() protected HttpClient GetClient()
{ {
var builder = new WebHostBuilder() var builder = new WebHostBuilder()
.UseContentRoot(Directory.GetCurrentDirectory()) .UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>() .UseStartup<Startup>()
...@@ -44,7 +44,7 @@ namespace CleanArchitecture.Tests.Integration.Web ...@@ -44,7 +44,7 @@ namespace CleanArchitecture.Tests.Integration.Web
new MediaTypeWithQualityHeaderValue("application/json")); new MediaTypeWithQualityHeaderValue("application/json"));
return client; return client;
} }
[Fact] [Fact]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment