Fix tests

This commit is contained in:
Hao Kung 2014-05-28 12:37:49 -07:00
parent afc361b012
commit 7e4c168f71
6 changed files with 37 additions and 48 deletions

View File

@ -28,11 +28,7 @@ namespace Microsoft.AspNet.Identity.Entity.Test
public async Task CanUseAddedManagerInstance()
{
var services = new ServiceCollection();
#if NET45
// services.AddEntityFramework().AddSqlServer();
//#else
services.AddEntityFramework().AddInMemoryStore();
#endif
services.AddSingleton<IOptionsAccessor<IdentityOptions>, OptionsAccessor<IdentityOptions>>();
services.AddInstance<DbContext>(new IdentityContext());
services.AddTransient<IUserStore<EntityUser>, InMemoryInMemoryUserStore>();
@ -47,13 +43,11 @@ namespace Microsoft.AspNet.Identity.Entity.Test
public async Task CanCreateUsingAddUserManager()
{
var services = new ServiceCollection();
#if NET45
// services.AddEntityFramework().AddSqlServer();
//#else
services.AddEntityFramework().AddInMemoryStore();
#endif
// TODO: this needs to construct a new instance of InMemoryStore
var store = new InMemoryInMemoryUserStore(new IdentityContext());
services.Add(OptionsServices.GetDefaultServices());
services.AddIdentity<EntityUser, EntityRole>(s =>
{
s.AddUserStore(() => store);

View File

@ -32,6 +32,7 @@ namespace Microsoft.AspNet.Identity.Entity.Test
builder.UseServices(services =>
{
services.Add(OptionsServices.GetDefaultServices());
services.AddEntityFramework().AddSqlServer();
services.AddIdentityEntityFramework<ApplicationDbContext, ApplicationUser>();
});

View File

@ -38,8 +38,9 @@ namespace Microsoft.AspNet.Identity.Entity.Test
[Fact]
public void CanCustomizeIdentityOptions()
{
IBuilder builder = new Microsoft.AspNet.Builder.Builder(new ServiceCollection().BuildServiceProvider());
IBuilder builder = new Builder.Builder(new ServiceCollection().BuildServiceProvider());
builder.UseServices(services => {
services.Add(OptionsServices.GetDefaultServices());
services.AddIdentity<IdentityUser>(identityServices => { });
services.AddSetup<PasswordsNegativeLengthSetup>();
});
@ -61,8 +62,11 @@ namespace Microsoft.AspNet.Identity.Entity.Test
[Fact]
public void CanSetupIdentityOptions()
{
IBuilder app = new Microsoft.AspNet.Builder.Builder(new ServiceCollection().BuildServiceProvider());
app.UseServices(services => services.AddIdentity<IdentityUser>(identityServices => identityServices.SetupOptions(options => options.User.RequireUniqueEmail = true)));
IBuilder app = new Builder.Builder(new ServiceCollection().BuildServiceProvider());
app.UseServices(services => {
services.Add(OptionsServices.GetDefaultServices());
services.AddIdentity<IdentityUser>(identityServices => identityServices.SetupOptions(options => options.User.RequireUniqueEmail = true));
});
var optionsGetter = app.ApplicationServices.GetService<IOptionsAccessor<IdentityOptions>>();
Assert.NotNull(optionsGetter);
@ -74,14 +78,11 @@ namespace Microsoft.AspNet.Identity.Entity.Test
[Fact]
public async Task EnsureStartupUsageWorks()
{
IBuilder builder = new Microsoft.AspNet.Builder.Builder(new ServiceCollection().BuildServiceProvider());
//builder.UseServices(services => services.AddIdentity<ApplicationUser>(s =>
// s.AddEntity<ApplicationDbContext>()
//{
IBuilder builder = new Builder.Builder(new ServiceCollection().BuildServiceProvider());
builder.UseServices(services =>
{
services.Add(OptionsServices.GetDefaultServices());
services.AddEntityFramework();
services.AddTransient<DbContext, IdentityContext>();
services.AddIdentity<ApplicationUser, EntityRole>(s =>

View File

@ -13,6 +13,7 @@ namespace Microsoft.AspNet.Identity.InMemory.Test
protected override UserManager<IdentityUser> CreateManager()
{
var services = new ServiceCollection();
services.Add(OptionsServices.GetDefaultServices());
services.AddTransient<IUserValidator<IdentityUser>, UserValidator<IdentityUser>>();
services.AddTransient<IPasswordValidator<IdentityUser>, PasswordValidator<IdentityUser>>();
var options = new IdentityOptions

View File

@ -16,11 +16,6 @@ namespace Microsoft.AspNet.Identity.InMemory.Test
{
public class ApplicationUser : IdentityUser { }
public class ApplicationUserManager : UserManager<ApplicationUser>
{
public ApplicationUserManager(IServiceProvider services, IUserStore<ApplicationUser> store, IOptionsAccessor<IdentityOptions> options) : base(services, store, options) { }
}
public class PasswordsNegativeLengthSetup : IOptionsSetup<IdentityOptions>
{
public int Order { get { return 0; } }
@ -33,8 +28,9 @@ namespace Microsoft.AspNet.Identity.InMemory.Test
[Fact]
public void CanCustomizeIdentityOptions()
{
IBuilder builder = new Microsoft.AspNet.Builder.Builder(new ServiceCollection().BuildServiceProvider());
var builder = new Builder.Builder(new ServiceCollection().BuildServiceProvider());
builder.UseServices(services => {
services.Add(OptionsServices.GetDefaultServices());
services.AddIdentity<IdentityUser>(identityServices => { });
services.AddSetup<PasswordsNegativeLengthSetup>();
});
@ -56,8 +52,12 @@ namespace Microsoft.AspNet.Identity.InMemory.Test
[Fact]
public void CanSetupIdentityOptions()
{
IBuilder app = new Microsoft.AspNet.Builder.Builder(new ServiceCollection().BuildServiceProvider());
app.UseServices(services => services.AddIdentity<IdentityUser>(identityServices => identityServices.SetupOptions(options => options.User.RequireUniqueEmail = true)));
var app = new Builder.Builder(new ServiceCollection().BuildServiceProvider());
app.UseServices(services =>
{
services.Add(OptionsServices.GetDefaultServices());
services.AddIdentity<IdentityUser>(identityServices => identityServices.SetupOptions(options => options.User.RequireUniqueEmail = true));
});
var optionsGetter = app.ApplicationServices.GetService<IOptionsAccessor<IdentityOptions>>();
Assert.NotNull(optionsGetter);
@ -69,24 +69,18 @@ namespace Microsoft.AspNet.Identity.InMemory.Test
[Fact]
public async Task EnsureStartupUsageWorks()
{
IBuilder builder = new Microsoft.AspNet.Builder.Builder(new ServiceCollection().BuildServiceProvider());
var builder = new Builder.Builder(new ServiceCollection().BuildServiceProvider());
//builder.UseServices(services => services.AddIdentity<ApplicationUser>(s =>
// s.AddEntity<ApplicationDbContext>()
//{
builder.UseServices(services => services.AddIdentity<ApplicationUser>(s =>
{
services.Add(OptionsServices.GetDefaultServices());
s.AddInMemory();
s.AddUserManager<ApplicationUserManager>();
s.AddRoleManager<ApplicationRoleManager>();
}));
var userStore = builder.ApplicationServices.GetService<IUserStore<ApplicationUser>>();
var roleStore = builder.ApplicationServices.GetService<IRoleStore<IdentityRole>>();
var userManager = builder.ApplicationServices.GetService<ApplicationUserManager>();
//TODO: var userManager = builder.ApplicationServices.GetService<UserManager<IdentityUser>();
var roleManager = builder.ApplicationServices.GetService<ApplicationRoleManager>();
var userManager = builder.ApplicationServices.GetService<UserManager<ApplicationUser>>();
var roleManager = builder.ApplicationServices.GetService<RoleManager<IdentityRole>>();
Assert.NotNull(userStore);
Assert.NotNull(userManager);
@ -99,19 +93,18 @@ namespace Microsoft.AspNet.Identity.InMemory.Test
[Fact]
public void VerifyUseInMemoryLifetimes()
{
IBuilder builder = new Microsoft.AspNet.Builder.Builder(new ServiceCollection().BuildServiceProvider());
var builder = new Builder.Builder(new ServiceCollection().BuildServiceProvider());
builder.UseServices(services =>
{
services.Add(OptionsServices.GetDefaultServices());
services.AddIdentity<ApplicationUser>(s => s.AddInMemory());
services.AddTransient<ApplicationUserManager>();
services.AddTransient<ApplicationRoleManager>();
});
var userStore = builder.ApplicationServices.GetService<IUserStore<ApplicationUser>>();
var roleStore = builder.ApplicationServices.GetService<IRoleStore<IdentityRole>>();
var userManager = builder.ApplicationServices.GetService<ApplicationUserManager>();
var roleManager = builder.ApplicationServices.GetService<ApplicationRoleManager>();
var userManager = builder.ApplicationServices.GetService<UserManager<ApplicationUser>>();
var roleManager = builder.ApplicationServices.GetService<RoleManager<IdentityRole>>();
Assert.NotNull(userStore);
Assert.NotNull(userManager);
@ -120,13 +113,13 @@ namespace Microsoft.AspNet.Identity.InMemory.Test
var userStore2 = builder.ApplicationServices.GetService<IUserStore<ApplicationUser>>();
var roleStore2 = builder.ApplicationServices.GetService<IRoleStore<IdentityRole>>();
var userManager2 = builder.ApplicationServices.GetService<ApplicationUserManager>();
var roleManager2 = builder.ApplicationServices.GetService<ApplicationRoleManager>();
var userManager2 = builder.ApplicationServices.GetService<UserManager<ApplicationUser>>();
var roleManager2 = builder.ApplicationServices.GetService<RoleManager<IdentityRole>>();
Assert.Equal(userStore, userStore2);
Assert.NotEqual(userManager, userManager2);
Assert.Equal(userManager, userManager2);
Assert.Equal(roleStore, roleStore2);
Assert.NotEqual(roleManager, roleManager2);
Assert.Equal(roleManager, roleManager2);
}
@ -135,8 +128,8 @@ namespace Microsoft.AspNet.Identity.InMemory.Test
const string userName = "admin";
const string roleName = "Admins";
const string password = "1qaz@WSX";
var userManager = serviceProvider.GetService<ApplicationUserManager>();
var roleManager = serviceProvider.GetService<ApplicationRoleManager>();
var userManager = serviceProvider.GetService<UserManager<ApplicationUser>>();
var roleManager = serviceProvider.GetService<RoleManager<IdentityRole>>();
var user = new ApplicationUser { UserName = userName };
IdentityResultAssert.IsSuccess(await userManager.CreateAsync(user, password));

View File

@ -5,14 +5,12 @@ using System;
using System.Threading;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Http.Security;
using Microsoft.AspNet.Identity.InMemory;
using Microsoft.AspNet.Identity.Test;
using Microsoft.AspNet.PipelineCore;
using Microsoft.AspNet.FeatureModel;
using Microsoft.AspNet.Security.Cookies;
using Microsoft.Framework.DependencyInjection;
using Microsoft.Framework.DependencyInjection.Fallback;
using Microsoft.Framework.Logging;
using Microsoft.Framework.OptionsModel;
using Moq;
using System.Security.Claims;
using System.Threading.Tasks;
@ -43,6 +41,7 @@ namespace Microsoft.AspNet.Identity.Security.Test
contextAccessor.Setup(a => a.Value).Returns(context.Object);
app.UseServices(services =>
{
services.Add(OptionsServices.GetDefaultServices());
services.AddInstance(contextAccessor.Object);
services.AddInstance<ILoggerFactory>(new NullLoggerFactory());
services.AddIdentity<ApplicationUser, IdentityRole>(s =>