Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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);
            }
        }