Example #1
0
        public void Flow_tests()
        {
            var putDocResponse = Client.Documents.PostAsync(ClientTestData.Artists.Artist1Json).Result;

            var putRequest = new PutAttachmentRequest(
                putDocResponse.Id,
                putDocResponse.Rev,
                ClientTestData.Attachments.One.Name,
                ClientTestData.Attachments.One.ContentType,
                ClientTestData.Attachments.One.Bytes);
            var putAttachmentResponse = SUT.PutAsync(putRequest).Result;

            putAttachmentResponse.Should().BeSuccessfulPut(ClientTestData.Artists.Artist1Id);

            var getRequest = new GetAttachmentRequest(
                putAttachmentResponse.Id,
                putAttachmentResponse.Rev,
                ClientTestData.Attachments.One.Name);
            var getResponse = SUT.GetAsync(getRequest).Result;

            getResponse.Should().BeSuccessfulGet(ClientTestData.Artists.Artist1Id, ClientTestData.Attachments.One.Name);

            var deleteRequest = new DeleteAttachmentRequest(
                putAttachmentResponse.Id,
                putAttachmentResponse.Rev,
                ClientTestData.Attachments.One.Name);
            var deleteResponse = SUT.DeleteAsync(deleteRequest).Result;

            deleteResponse.Should().BeSuccessfulDelete(ClientTestData.Artists.Artist1Id);
        }
Example #2
0
        public virtual async Task <DocumentHeaderResponse> PutAsync(PutAttachmentRequest request, CancellationToken cancellationToken = default)
        {
            var httpRequest = PutAttachmentHttpRequestFactory.Create(request);

            using (var res = await SendAsync(httpRequest, cancellationToken).ForAwait())
            {
                return(await DocumentHeaderResponseFactory.CreateAsync(res).ForAwait());
            }
        }
        public virtual HttpRequest Create(PutAttachmentRequest request)
        {
            var httpRequest = CreateFor<PutAttachmentRequest>(HttpMethod.Put, GenerateRequestUrl(request.DocId, request.DocRev, request.Name));

            httpRequest.SetIfMatch(request.DocRev);
            httpRequest.SetContent(request.Content, request.ContentType);

            return httpRequest;
        }
Example #4
0
        public virtual async Task <DocumentHeaderResponse> PutAsync(PutAttachmentRequest request)
        {
            var httpRequest = CreateHttpRequest(request);

            using (var res = await SendAsync(httpRequest).ForAwait())
            {
                return(ProcessDocumentHeaderResponse(res));
            }
        }
        public virtual HttpRequest Create(PutAttachmentRequest request)
        {
            var httpRequest = CreateFor <PutAttachmentRequest>(HttpMethod.Put, GenerateRequestUrl(request.DocId, request.DocRev, request.Name));

            httpRequest.SetIfMatch(request.DocRev);
            httpRequest.SetContent(request.Content, request.ContentType);

            return(httpRequest);
        }
Example #6
0
        public virtual HttpRequest Create(PutAttachmentRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            var httpRequest = new HttpRequest(HttpMethod.Put, GenerateRelativeUrl(request))
                              .SetRequestTypeHeader(request.GetType())
                              .SetIfMatchHeader(request.DocRev)
                              .SetContent(request.Content, request.ContentType);

            return(httpRequest);
        }
Example #7
0
        protected virtual string GenerateRelativeUrl(PutAttachmentRequest request)
        {
            var urlParams = new UrlParams();

            urlParams.AddIfNotNullOrWhiteSpace("rev", request.DocRev);

            return(string.Format("/{0}/{1}{2}",
                                 new UrlSegment(request.DocId),
                                 new UrlSegment(request.Name),
                                 new QueryString(urlParams)));
        }
Example #8
0
        public virtual async Task <DocumentHeaderResponse> PutAsync(PutAttachmentRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            using (var httpRequest = CreateHttpRequest(request))
            {
                using (var res = await SendAsync(httpRequest).ForAwait())
                {
                    return(ProcessDocumentHeaderResponse(res));
                }
            }
        }
Example #9
0
        public void When_PUT_of_a_new_attachment_and_new_document_The_response_is_ok()
        {
            var putRequest = new PutAttachmentRequest(
                ClientTestData.Artists.Artist1Id,
                ClientTestData.Attachments.One.Name,
                ClientTestData.Attachments.One.ContentType,
                ClientTestData.Attachments.One.Bytes);

            var putAttachmentAndDocResponse = SUT.PutAsync(putRequest).Result;

            putAttachmentAndDocResponse.Should().BeSuccessfulPut(ClientTestData.Artists.Artist1Id);
        }
Example #10
0
        public void When_GET_of_an_existing_attachment_Using_id_The_attachment_is_returned_correctly()
        {
            var putDocResponse = Client.Documents.PostAsync(ClientTestData.Artists.Artist1Json).Result;

            var putRequest = new PutAttachmentRequest(
                putDocResponse.Id,
                putDocResponse.Rev,
                ClientTestData.Attachments.One.Name,
                ClientTestData.Attachments.One.ContentType,
                ClientTestData.Attachments.One.Bytes);
            var putAttachmentResponse = SUT.PutAsync(putRequest).Result;

            var getRequest = new GetAttachmentRequest(
                putAttachmentResponse.Id,
                ClientTestData.Attachments.One.Name);
            var getAttachmentResponse = SUT.GetAsync(getRequest).Result;

            getAttachmentResponse.Should().BeSuccessfulGet(ClientTestData.Artists.Artist1Id, ClientTestData.Attachments.One.Name);
            getAttachmentResponse.Content.Should().Equal(ClientTestData.Attachments.One.Bytes);
        }
Example #11
0
        public void When_DELETE_of_an_existing_attachment_The_response_is_ok()
        {
            var putDocResponse = Client.Documents.PostAsync(ClientTestData.Artists.Artist1Json).Result;

            var putRequest = new PutAttachmentRequest(
                putDocResponse.Id,
                putDocResponse.Rev,
                ClientTestData.Attachments.One.Name,
                ClientTestData.Attachments.One.ContentType,
                ClientTestData.Attachments.One.Bytes);
            var putAttachmentResponse = SUT.PutAsync(putRequest).Result;

            var deleteRequest = new DeleteAttachmentRequest(
                putAttachmentResponse.Id,
                putAttachmentResponse.Rev,
                ClientTestData.Attachments.One.Name);
            var deleteResponse = SUT.DeleteAsync(deleteRequest).Result;

            deleteResponse.Should().BeSuccessfulDelete(ClientTestData.Artists.Artist1Id);
        }
Example #12
0
 protected virtual HttpRequest CreateHttpRequest(PutAttachmentRequest request)
 {
     return(PutAttachmentHttpRequestFactory.Create(request));
 }
Example #13
0
 public static Task <DocumentHeaderResponse> PerformAsync(this IMyCouchClient client, PutAttachmentRequest request)
 {
     return(client.Attachments.PutAsync(request));
 }