示例#1
0
    public void AdjustUserLoginKey()
    {
        var tenant1 = new TenantInfo("abc", "abc", "abc",
                                     "DataSource=testdb.db", null);
        var c = new TestIdentityDbContext(tenant1, _options);

        Assert.True(c.Model.FindEntityType(typeof(MultiTenantIdentityUserLogin <string>)).FindProperty("Id").IsPrimaryKey());
    }
示例#2
0
    public void WorkWithSingleParamCtor()
    {
        var tenant1 = new TenantInfo("abc", "abc", "abc",
                                     "DataSource=testdb.db", null);
        var c = new TestIdentityDbContext(tenant1);

        Assert.NotNull(c);
    }
示例#3
0
        private static void ClearDatabase()
        {
            using (var dbContext = new TestVotingContext())
            {
                dbContext.ClearDatabase();
            }

            using (var identityContext = new TestIdentityDbContext())
            {
                identityContext.ClearUsers();
            }
        }
示例#4
0
    public void ReturnTypePlusTenantIdForMultiTenantIdentityDbContext()
    {
        var factory   = new MultiTenantModelCacheKeyFactory();
        var dbContext = new TestIdentityDbContext(
            new TenantInfo("test", null, null, null, null),
            new DbContextOptions <TestIdentityDbContext>());

        dynamic key = factory.Create(dbContext);

        Assert.IsType <(Type, string)>(key);
        Assert.Equal(typeof(TestIdentityDbContext), key.Item1);
        Assert.Equal("test", key.Item2);
    }
        public void WorkWithSingleParamCtor()
        {
            var tenant1 = new TenantInfo
            {
                Id               = "abc",
                Identifier       = "abc",
                Name             = "abc",
                ConnectionString = "DataSource=testdb.db"
            };
            var c = new TestIdentityDbContext(tenant1);

            Assert.NotNull(c);
        }
        public void SetMultiTenantOnIdentityDbContextVariant_None(Type entityType, bool isMultiTenant)
        {
            var tenant1 = new TenantInfo
            {
                Id               = "abc",
                Identifier       = "abc",
                Name             = "abc",
                ConnectionString = "DataSource=testdb.db"
            };
            var c = new TestIdentityDbContext(tenant1, _options);
            var multitenantEntities = c.Model.GetEntityTypes().Where(et => et.IsMultiTenant()).Select(et => et.ClrType).ToList();

            Assert.Equal(isMultiTenant, c.Model.FindEntityType(entityType).IsMultiTenant());
        }
示例#7
0
    public void AdjustRoleIndex()
    {
        var tenant1 = new TenantInfo("abc", "abc", "abc",
                                     "DataSource=testdb.db", null);
        var c = new TestIdentityDbContext(tenant1, _options);

        var props = new List <IProperty>();

        props.Add(c.Model.FindEntityType(typeof(MultiTenantIdentityRole)).FindProperty("NormalizedName"));
        props.Add(c.Model.FindEntityType(typeof(MultiTenantIdentityRole)).FindProperty("TenantId"));

        var index = c.Model.FindEntityType(typeof(MultiTenantIdentityRole)).FindIndex(props);

        Assert.NotNull(index);
        Assert.True(index.IsUnique);
    }
示例#8
0
    public void AddUserLoginIndex()
    {
        var tenant1 = new TenantInfo("abc", "abc", "abc",
                                     "DataSource=testdb.db", null);
        var c = new TestIdentityDbContext(tenant1, _options);

        var props = new List <IProperty>();

        props.Add(c.Model.FindEntityType(typeof(MultiTenantIdentityUserLogin <string>)).FindProperty("LoginProvider"));
        props.Add(c.Model.FindEntityType(typeof(MultiTenantIdentityUserLogin <string>)).FindProperty("ProviderKey"));
        props.Add(c.Model.FindEntityType(typeof(MultiTenantIdentityUserLogin <string>)).FindProperty("TenantId"));

        var index = c.Model.FindEntityType(typeof(MultiTenantIdentityUserLogin <string>)).FindIndex(props);

        Assert.NotNull(index);
        Assert.True(index.IsUnique);
    }
示例#9
0
        public void CreateNewUser()
        {
            var    hasher = new PasswordHasher();
            string hash   = hasher.HashPassword(NewUserPassword);

            var newUser = new ApplicationUser()
            {
                Id             = NewUserId,
                UserName       = NewUserEmail,
                Email          = NewUserEmail,
                PasswordHash   = hash,
                SecurityStamp  = Guid.NewGuid().ToString(),
                EmailConfirmed = true
            };

            using (var dbContext = new TestIdentityDbContext())
            {
                dbContext.Users.Add(newUser);

                dbContext.SaveChanges();
            }
        }