public async Task CanFindByLogin() { var type11 = new ElasticIdentityUserLogin("loginProvider1", "providerKey1", "Login Provider 1"); var type12 = new ElasticIdentityUserLogin("loginProvider1", "providerKey2", "Login Provider 1"); var type21 = new ElasticIdentityUserLogin("loginProvider2", "providerKey1", "Login Provider 2"); // user type 11 ElasticIdentityUser user11 = new ElasticIdentityUser(nameof(user11)); user11.Logins.Add(type11); await _store.CreateAsync(user11, CancellationToken.None); // user type 12 ElasticIdentityUser user12 = new ElasticIdentityUser(nameof(user12)); user12.Logins.Add(type12); user12.Logins.Add(type21); await _store.CreateAsync(user12, CancellationToken.None); // user type 21 ElasticIdentityUser user21 = new ElasticIdentityUser(nameof(user21)); user21.Logins.Add(type21); user21.Logins.Add(type12); await _store.CreateAsync(user21, CancellationToken.None); _elasticClient.Indices.Refresh(_indexName); var user = await _store.FindByLoginAsync(type11.LoginProvider, type11.ProviderKey, CancellationToken.None); Assert.Equal(nameof(user11), user.UserName); }
public async Task FindByLogin_Test() { var store = new ElasticUserStore <ElasticUser, ElasticRole>(_nestClient, new ElasticOptions { UsersIndex = _userIndex }); var user1 = new ElasticUser { UserName = "******", PasswordHash = "phash", Logins = new List <ElasticUserLogin> { new ElasticUserLogin(new UserLoginInfo("prov1", "key1", "test1")) }, Email = new ElasticConfirmation("*****@*****.**") }; var user2 = new ElasticUser { UserName = "******", PasswordHash = "phash", Logins = new List <ElasticUserLogin> { new ElasticUserLogin(new UserLoginInfo("prov2", "key2", "test2")) }, Email = new ElasticConfirmation("*****@*****.**") }; var createResult1 = await store.CreateAsync(user1, NoCancellationToken); var createResult2 = await store.CreateAsync(user2, NoCancellationToken); var elasticUser = await store.FindByLoginAsync("prov2", "key2", NoCancellationToken); Assert.Equal(createResult1, IdentityResult.Success); Assert.Equal(createResult2, IdentityResult.Success); Assert.Equal(user2.Id, elasticUser.Id); }