public async Task Client_UploadsJustLatestToStorage() { // Arrange using (var tc = new TestContext()) { tc.UploadRequest.UploadDirect = false; // Act var uploadResult = await tc.Target.UploadAsync(tc.UploadRequest); // Assert Assert.NotNull(uploadResult); Assert.Null(uploadResult.DirectUri); Assert.Null(uploadResult.DirectETag); await tc.VerifyUriAndContentAsync(uploadResult.LatestUri, "testpath/latest.txt"); Assert.NotNull(uploadResult.LatestETag); } }
public async Task Client_UploadsJustDirectTimestampToStorage() { // Arrange using (var tc = new TestContext()) { tc.UploadRequest.Type = UploadRequestType.Timestamp; tc.UploadRequest.UploadLatest = false; // Act var uploadResult = await tc.Target.UploadAsync(tc.UploadRequest); // Assert Assert.NotNull(uploadResult); await tc.VerifyUriAndContentAsync(uploadResult.DirectUri, "testpath/2015.01.02.03.04.05.0060000.txt"); Assert.NotNull(uploadResult.DirectETag); Assert.Null(uploadResult.LatestUri); Assert.Null(uploadResult.LatestETag); } }
public async Task Client_AllowsNextNumberToBeChangedWithRequest() { // Arrange using (var tc = new TestContext()) { tc.UploadRequest.Type = UploadRequestType.Number; tc.UploadRequest.ContentType = "application/json"; tc.UploadRequest.Stream = new MemoryStream(Encoding.UTF8.GetBytes("[1, 2]")); var setupResult = await tc.Target.UploadAsync(tc.UploadRequest); tc.UploadRequest.LatestNumberETag = setupResult.LatestNumberETag; tc.UploadRequest.LatestNumber = 5; tc.UploadRequest.ETag = setupResult.LatestETag; tc.UploadRequest.ContentType = "text/plain"; tc.UploadRequest.Stream = new MemoryStream(Encoding.UTF8.GetBytes(tc.Content)); // Act var uploadResult = await tc.Target.UploadAsync(tc.UploadRequest); // Assert Assert.NotNull(uploadResult); await tc.VerifyUriAndContentAsync(setupResult.DirectUri, "testpath/1.txt", "[1, 2]"); await tc.VerifyUriAndContentAsync(uploadResult.DirectUri, "testpath/5.txt"); Assert.NotNull(uploadResult.DirectETag); await tc.VerifyUriAndContentAsync(uploadResult.LatestUri, "testpath/latest.txt"); Assert.NotNull(uploadResult.LatestETag); Assert.NotNull(uploadResult.LatestNumberETag); Assert.Equal(5, uploadResult.LatestNumber); } }
public async Task Client_UploadsDirectNumberToStorage() { // Arrange using (var tc = new TestContext()) { tc.UploadRequest.Type = UploadRequestType.Number; tc.UploadRequest.UploadLatest = false; // Act var uploadResult = await tc.Target.UploadAsync(tc.UploadRequest); // Assert Assert.NotNull(uploadResult); await tc.VerifyUriAndContentAsync(uploadResult.DirectUri, "testpath/1.txt"); Assert.NotNull(uploadResult.DirectETag); Assert.Null(uploadResult.LatestUri); Assert.Null(uploadResult.LatestETag); Assert.NotNull(uploadResult.LatestNumberETag); Assert.Equal(1, uploadResult.LatestNumber); } }
public async Task Client_UploadOverwritesExistingTimestampBlobs() { // Arrange using (var tc = new TestContext()) { tc.UploadRequest.Type = UploadRequestType.Timestamp; tc.UploadRequest.ContentType = "application/json"; tc.UploadRequest.Stream = new MemoryStream(Encoding.UTF8.GetBytes("[1, 2]")); var setupResult = await tc.Target.UploadAsync(tc.UploadRequest); tc.UploadRequest.ContentType = "text/plain"; tc.UploadRequest.Stream = new MemoryStream(Encoding.UTF8.GetBytes(tc.Content)); tc.UploadRequest.ETag = setupResult.LatestETag; tc.UtcNow = tc.UtcNow.AddMinutes(1); // Act var uploadResult = await tc.Target.UploadAsync(tc.UploadRequest); // Assert Assert.NotNull(uploadResult); await tc.VerifyUriAndContentAsync(setupResult.DirectUri, "testpath/2015.01.02.03.04.05.0060000.txt", "[1, 2]"); await tc.VerifyUriAndContentAsync(uploadResult.DirectUri, "testpath/2015.01.02.03.05.05.0060000.txt"); Assert.NotNull(uploadResult.DirectETag); await tc.VerifyUriAndContentAsync(uploadResult.LatestUri, "testpath/latest.txt"); Assert.NotNull(uploadResult.LatestETag); } }