コード例 #1
0
        public async Task AccessToken_Delete_ByUser()
        {
            await NoRepoIntegrationTestAsync(async() =>
            {
                await AccessTokenVault.DeleteAllAccessTokensAsync(CancellationToken.None);
                var userId1      = 42;
                var userId2      = 43;
                var timeout      = TimeSpan.FromMinutes(10);
                var shortTimeout = TimeSpan.FromSeconds(1);
                var savedTokens  = new[]
                {
                    await AccessTokenVault.CreateTokenAsync(userId1, timeout, CancellationToken.None),
                    await AccessTokenVault.CreateTokenAsync(userId1, shortTimeout, CancellationToken.None),
                    await AccessTokenVault.CreateTokenAsync(userId2, timeout, CancellationToken.None),
                    await AccessTokenVault.CreateTokenAsync(userId2, shortTimeout, CancellationToken.None),
                };

                // ACTION
                Thread.Sleep(1100);
                await AccessTokenVault.DeleteTokensByUserAsync(userId1, CancellationToken.None);

                // ASSERT
                Assert.IsNull(await AccessTokenVault.GetTokenByIdAsync(savedTokens[0].Id, CancellationToken.None));
                Assert.IsNull(await AccessTokenVault.GetTokenByIdAsync(savedTokens[1].Id, CancellationToken.None));
                Assert.IsNotNull(await AccessTokenVault.GetTokenByIdAsync(savedTokens[2].Id, CancellationToken.None));
                Assert.IsNotNull(await AccessTokenVault.GetTokenByIdAsync(savedTokens[3].Id, CancellationToken.None));
            });
        }