// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using Microsoft.AspNet.Identity.Test; using Microsoft.Data.Entity.Services; using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.DependencyInjection.Fallback; using Microsoft.Framework.Logging; using Xunit; namespace Microsoft.AspNet.Identity.EntityFramework.Test { public class GuidUser : IdentityUser { public GuidUser() { Id = Guid.NewGuid(); UserName = Id.ToString(); } } public class GuidRole : IdentityRole { public GuidRole() { Id = Guid.NewGuid(); Name = Id.ToString(); } } [TestCaseOrderer("Microsoft.AspNet.Identity.Test.PriorityOrderer", "Microsoft.AspNet.Identity.EntityFramework.Test")] public class UserStoreGuidTest : SqlStoreTestBase { private readonly string _connectionString = @"Server=(localdb)\v11.0;Database=SqlUserStoreGuidTest" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + DateTime.Now.Year + ";Trusted_Connection=True;"; public override string ConnectionString { get { return _connectionString; } } public class ApplicationUserStore : UserStore { public ApplicationUserStore(ApplicationDbContext context) : base(context) { } public override Guid ConvertIdFromString(string userId) { return new Guid(userId); } } public class ApplicationRoleStore : RoleStore { public ApplicationRoleStore(ApplicationDbContext context) : base(context) { } public override Guid ConvertIdFromString(string id) { return new Guid(id); } } protected override UserManager CreateManager(object context) { if (context == null) { context = CreateTestContext(); } return MockHelpers.CreateManager(new ApplicationUserStore((ApplicationDbContext)context)); } protected override RoleManager CreateRoleManager(object context) { if (context == null) { context = CreateTestContext(); } var services = UserStoreTest.ConfigureDbServices(ConnectionString); services.AddIdentity().AddRoleStore(new ApplicationRoleStore((ApplicationDbContext)context)); return services.BuildServiceProvider().GetService>(); } } }