public async Task CanCreateUpdateRemoveAsync() { await ResetAsync(); await _repository.RemoveAllAsync(); await _client.RefreshAsync(); Assert.Equal(0, await _repository.CountAsync()); var stack = StackData.GenerateStack(projectId: TestConstants.ProjectId, organizationId: TestConstants.OrganizationId); Assert.Null(stack.Id); await _repository.AddAsync(stack); Assert.NotNull(stack.Id); await _client.RefreshAsync(); stack = await _repository.GetByIdAsync(stack.Id); Assert.NotNull(stack); stack.Description = "New Description"; await _repository.SaveAsync(stack); await _repository.RemoveAsync(stack.Id); }
public async Task CanFindManyAsync() { Assert.Equal(0, await _repository.CountAsync()); await _repository.AddAsync(StackData.GenerateSampleStacks()); await RefreshDataAsync(); var stacks = await _repository.GetByOrganizationIdAsync(TestConstants.OrganizationId, o => o.PageNumber(1).PageLimit(1)); Assert.NotNull(stacks); Assert.Equal(3, stacks.Total); Assert.Equal(1, stacks.Documents.Count); var stacks2 = await _repository.GetByOrganizationIdAsync(TestConstants.OrganizationId, o => o.PageNumber(2).PageLimit(1)); Assert.NotNull(stacks); Assert.Equal(1, stacks.Documents.Count); Assert.NotEqual(stacks.Documents.First().Id, stacks2.Documents.First().Id); stacks = await _repository.GetByOrganizationIdAsync(TestConstants.OrganizationId); Assert.NotNull(stacks); Assert.Equal(3, stacks.Documents.Count); await _repository.RemoveAsync(stacks.Documents); await RefreshDataAsync(); Assert.Equal(0, await _repository.CountAsync()); }
public override async Task HandleItemAsync(WorkItemContext context) { var wi = context.GetData <StackWorkItem>(); using (Log.BeginScope(new ExceptionlessState().Organization(wi.OrganizationId).Project(wi.ProjectId))) { if (wi.Delete) { await _eventRepository.RemoveAllByStackIdAsync(wi.OrganizationId, wi.ProjectId, wi.StackId).AnyContext(); await _stackRepository.RemoveAsync(wi.StackId).AnyContext(); return; } if (wi.UpdateIsFixed) { await _eventRepository.UpdateFixedByStackAsync(wi.OrganizationId, wi.ProjectId, wi.StackId, wi.IsFixed).AnyContext(); } if (wi.UpdateIsHidden) { await _eventRepository.UpdateHiddenByStackAsync(wi.OrganizationId, wi.ProjectId, wi.StackId, wi.IsHidden).AnyContext(); } } }
public async Task CanFindManyAsync() { Assert.Equal(0, await _repository.CountAsync()); await _repository.AddAsync(StackData.GenerateSampleStacks()); await _configuration.Client.RefreshAsync(); var stacks = await _repository.GetByOrganizationIdAsync(TestConstants.OrganizationId, new PagingOptions().WithPage(1).WithLimit(1)); Assert.NotNull(stacks); Assert.Equal(3, stacks.Total); Assert.Equal(1, stacks.Documents.Count); var stacks2 = await _repository.GetByOrganizationIdAsync(TestConstants.OrganizationId, new PagingOptions().WithPage(2).WithLimit(1)); Assert.NotNull(stacks); Assert.Equal(1, stacks.Documents.Count); Assert.NotEqual(stacks.Documents.First().Id, stacks2.Documents.First().Id); stacks = await _repository.GetByOrganizationIdAsync(TestConstants.OrganizationId); Assert.NotNull(stacks); Assert.Equal(3, stacks.Documents.Count); await _repository.RemoveAsync(stacks.Documents); await _configuration.Client.RefreshAsync(); Assert.Equal(0, await _repository.CountAsync()); }
private async Task RemoveStackAsync(Stack stack, JobContext context) { _logger.LogInformation("Removing stack: {Stack} ({StackId})", stack.Title, stack.Id); await RenewLockAsync(context).AnyContext(); long removedEvents = await _eventRepository.RemoveAllByStackIdAsync(stack.OrganizationId, stack.ProjectId, stack.Id).AnyContext(); await _stackRepository.RemoveAsync(stack).AnyContext(); _logger.LogInformation("Removed stack: {Stack} ({StackId}), Removed {RemovedEvents} Events", stack.Title, stack.Id, removedEvents); }
private async Task RemoveStackAsync(Stack stack, JobContext context) { _logger.RemoveStackStart(stack.Id); await RenewLockAsync(context).AnyContext(); long removedEvents = await _eventRepository.RemoveAllByStackIdAsync(stack.OrganizationId, stack.ProjectId, stack.Id).AnyContext(); await _stackRepository.RemoveAsync(stack).AnyContext(); _logger.RemoveStackComplete(stack.Id, removedEvents); }
private async Task RemoveStacksAsync(IReadOnlyCollection <Stack> stacks, JobContext context) { await RenewLockAsync(context).AnyContext(); string[] stackIds = stacks.Select(s => s.Id).ToArray(); long removedEvents = await _eventRepository.RemoveAllByStackIdsAsync(stackIds).AnyContext(); await _stackRepository.RemoveAsync(stacks).AnyContext(); foreach (var orgGroup in stacks.GroupBy(s => (s.OrganizationId, s.ProjectId))) { await _cacheClient.RemoveByPrefixAsync(String.Concat("stack-filter:", orgGroup.Key.OrganizationId, ":", orgGroup.Key.ProjectId)); } _logger.RemoveStacksComplete(stackIds.Length, removedEvents); }
public override async Task HandleItemAsync(WorkItemContext context) { var workItem = context.GetData <StackWorkItem>(); if (workItem.Delete) { await _eventRepository.RemoveAllByStackIdsAsync(new[] { workItem.StackId }); await _stackRepository.RemoveAsync(workItem.StackId); return; } if (workItem.UpdateIsFixed) { await _eventRepository.UpdateFixedByStackAsync(workItem.OrganizationId, workItem.StackId, workItem.IsFixed).AnyContext(); } if (workItem.UpdateIsHidden) { await _eventRepository.UpdateHiddenByStackAsync(workItem.OrganizationId, workItem.StackId, workItem.IsHidden).AnyContext(); } }