// 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 Microsoft.AspNet.Identity.Test; using Microsoft.Framework.DependencyInjection; using Microsoft.Framework.DependencyInjection.Fallback; using System; 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 : UserStoreTestBase { public override string ConnectionString { get { return @"Server=(localdb)\v11.0;Database=SqlUserStoreGuidTest;Trusted_Connection=True;"; } } 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); } } public override UserManager CreateManager(ApplicationDbContext context) { return MockHelpers.CreateManager(() => new ApplicationUserStore(context)); } public override RoleManager CreateRoleManager(ApplicationDbContext context) { var services = new ServiceCollection(); services.AddIdentity().AddRoleStore(() => new ApplicationRoleStore(context)); return services.BuildServiceProvider().GetService>(); } } }