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(); }
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(); }