public async Task ShouldUpdateTheNewBucketsRemoteIdIfNoExistingBucketWithRemoteId( string remoteId, Bucket bucket, Bucket existingBucket, [Frozen] IBucketRepository repository, [Target] DefaultBucketService service, CancellationToken cancellationToken ) { bucket.RemoteId = null; bucket.Endpoints = (long)ChannelEndpoint.CreateMessage; bucket.ApiCategory = 'c'; existingBucket.Endpoints = (long)ChannelEndpoint.DeleteMessage; existingBucket.ApiCategory = 'c'; var httpResponse = new HttpResponseMessage(); httpResponse.Headers.Add("x-ratelimit-bucket", new[] { remoteId }); repository.FindByRemoteIdAndMajorParameters(Any <string>(), Any <MajorParameters>(), Any <CancellationToken>()).Returns((Bucket)null !); var result = await service.MergeBucketIds(bucket, httpResponse, cancellationToken); result.Should().Be(bucket); result.RemoteId.Should().Be(remoteId); await repository.Received().FindByRemoteIdAndMajorParameters(Is(remoteId), Is(bucket.MajorParameters), Is(cancellationToken)); }
public async Task ShouldNotThrowIfNotCancelled( Bucket bucket, [Target] DefaultBucketService service, CancellationToken cancellationToken ) { var httpResponse = new HttpResponseMessage(); Func <Task> func = () => service.MergeBucketIds(bucket, httpResponse, cancellationToken); await func.Should().NotThrowAsync <OperationCanceledException>(); }
public async Task ShouldNotThrowIfHeaderIsNotPresent( string remoteId, Bucket bucket, [Target] DefaultBucketService service, CancellationToken cancellationToken ) { var httpResponse = new HttpResponseMessage(); Func <Task> func = () => service.MergeBucketIds(bucket, httpResponse, cancellationToken); await func.Should().NotThrowAsync(); }
public async Task ShouldUpdateRemoteIdIfItAlreadyHasOne( string existingId, string newId, Bucket bucket, [Target] DefaultBucketService service, CancellationToken cancellationToken ) { bucket.RemoteId = existingId; var httpResponse = new HttpResponseMessage(); httpResponse.Headers.Add("x-ratelimit-bucket", new[] { newId }); var result = await service.MergeBucketIds(bucket, httpResponse, cancellationToken); result.RemoteId.Should().Be(newId); }