public static async Task PruneInvalidAuthTokens_Success()
        {
            var model = new PruneInvalidAuthTokensRequest
            {
                BatchSize = 100,
            };

            var mockDatabaseCommand = MockDatabaseHelper.CreateMockDatabaseCommand(new Dictionary <string, object> {
                { "BatchSize", model.BatchSize }
            });

            var mockDatabaseCommandFactory = new Mock <IDatabaseCommandFactory>(MockBehavior.Strict);

            mockDatabaseCommandFactory.Setup(_ => _.Create()).Returns(mockDatabaseCommand.Object).Verifiable();

            var mockUploadScheduler = new Mock <IUploadScheduler>(MockBehavior.Strict);
            var mockUserManager     = MockUserManager.CreateMock();

            var controller = new AdminController(
                mockDatabaseCommandFactory.Object,
                mockUploadScheduler.Object,
                mockUserManager.Object);
            await controller.PruneInvalidAuthTokens(model);

            mockDatabaseCommandFactory.VerifyAll();
            mockUploadScheduler.VerifyAll();

            // Workaround for a Moq bug. See: https://github.com/moq/moq4/issues/456#issuecomment-331692858
            mockUserManager.Object.Logger = mockUserManager.Object.Logger;
            mockUserManager.VerifyAll();
        }
Exemplo n.º 2
0
        public async Task PruneInvalidAuthTokens(PruneInvalidAuthTokensRequest model)
        {
            const string CommandTextFormat = @"
                DELETE TOP (@BatchSize)
                FROM OpenIddictTokens
                WHERE ExpirationDate < CAST(GETUTCDATE() AS datetimeoffset)
                OR Status <> 'valid'
                OR Status IS NULL";
            var          parameters        = new Dictionary <string, object>
            {
                { "BatchSize", model.BatchSize },
            };

            using (var command = this.databaseCommandFactory.Create(CommandTextFormat, parameters))
            {
                await command.ExecuteNonQueryAsync();
            }
        }
        public static async Task PruneInvalidAuthTokens_Success()
        {
            var model = new PruneInvalidAuthTokensRequest
            {
                BatchSize = 100,
            };

            var mockDatabaseCommand = MockDatabaseHelper.CreateMockDatabaseCommand(new Dictionary <string, object> {
                { "BatchSize", model.BatchSize }
            });

            var mockDatabaseCommandFactory = new Mock <IDatabaseCommandFactory>(MockBehavior.Strict);

            mockDatabaseCommandFactory.Setup(_ => _.Create()).Returns(mockDatabaseCommand.Object).Verifiable();

            var controller = new AdminController(mockDatabaseCommandFactory.Object);
            await controller.PruneInvalidAuthTokens(model);

            mockDatabaseCommandFactory.VerifyAll();
        }