public void Should_return_not_found_if_the_object_does_not_exist() { using (new TestHelper(authToken, storageUrl)) { var getStorageItem = new GetStorageItem(storageUrl, Constants.CONTAINER_NAME, Constants.StorageItemName); var exceptionWasThrown = false; ICloudFilesResponse getStorageItemResponse = null; try { getStorageItemResponse = new GenerateRequestByType().Submit(getStorageItem, authToken); } catch (WebException ex) { exceptionWasThrown = true; var code = ((HttpWebResponse)ex.Response).StatusCode; Assert.That(code, Is.EqualTo(HttpStatusCode.NotFound)); if (getStorageItemResponse != null) { getStorageItemResponse.Dispose(); } } Assert.That(exceptionWasThrown, Is.True); } }
/// <summary> /// constructor /// </summary> /// <param name="objectName">Storage Item Name</param> /// <param name="response">CloudFiles response</param> public StorageItemInformation(string objectName, ICloudFilesResponse response) { this.headers = response.Headers; this.objectName = objectName; this.lastModified = response.LastModified; this.sizeInBytes = response.ContentLength; }
private string OutputResponseInformation(ICloudFilesResponse response) { StringBuilder output = new StringBuilder(); output.Append("\n"); output.Append("RESPONSE:"); output.Append("\n"); output.Append("method: "); output.Append(response.Method); output.Append("\n"); output.Append("Status Code: "); output.Append(response.StatusCode.ToString()); output.Append("\n"); output.Append("Status Description: "); output.Append(response.StatusDescription); output.Append("\n"); output.Append("Headers: "); output.Append("\n"); foreach (var key in response.Headers.AllKeys) { output.Append(key); output.Append(": "); output.Append(response.Headers[key]); output.Append("\n"); } return(output.ToString()); }
public void Should_return_partial_content_if_the_item_exists_and_only_range_to_is_set() { requestHeaderFields.Add(RequestHeaderFields.Range, "-8"); using (var testHelper = new TestHelper(authToken, storageUrl)) { ICloudFilesResponse getStorageItemResponse = null; try { testHelper.PutItemInContainer(); var getStorageItem = new GetStorageItem(storageUrl, Constants.CONTAINER_NAME, Constants.StorageItemName, requestHeaderFields); getStorageItemResponse = new GenerateRequestByType().Submit(getStorageItem, authToken); Assert.That(getStorageItemResponse.Status, Is.EqualTo(HttpStatusCode.PartialContent)); } finally { if (getStorageItemResponse != null) { getStorageItemResponse.Dispose(); } testHelper.DeleteItemFromContainer(); } } }
public void Should_return_item_if_the_item_exists_and_it_hasnt_been_modified() { requestHeaderFields = new Dictionary <RequestHeaderFields, string> { { RequestHeaderFields.IfUnmodifiedSince, futureDateTime.ToString() } }; using (var testHelper = new TestHelper(authToken, storageUrl)) { ICloudFilesResponse getStorageItemResponse = null; try { testHelper.PutItemInContainer(); var getStorageItem = new GetStorageItem(storageUrl, Constants.CONTAINER_NAME, Constants.StorageItemName, requestHeaderFields); getStorageItemResponse = new GenerateRequestByType().Submit(getStorageItem, authToken); Assert.That(getStorageItemResponse.Status, Is.EqualTo(HttpStatusCode.OK)); } finally { if (getStorageItemResponse != null) { getStorageItemResponse.Dispose(); } testHelper.DeleteItemFromContainer(); } } }
public void should_return_item_with_last_modified_date_within_a_minute_of_object_creation() { requestHeaderFields = new Dictionary <RequestHeaderFields, string> { { RequestHeaderFields.IfModifiedSince, pastDateTime.ToString() } }; using (var testHelper = new TestHelper(authToken, storageUrl)) { ICloudFilesResponse getStorageItemResponse = null; try { testHelper.PutItemInContainer(); var getStorageItem = new GetStorageItem(storageUrl, Constants.CONTAINER_NAME, Constants.StorageItemName, requestHeaderFields); getStorageItemResponse = new GenerateRequestByType().Submit(getStorageItem, authToken); Assert.That(getStorageItemResponse.Status, Is.EqualTo(HttpStatusCode.OK)); Assert.That(getStorageItemResponse.LastModified, Is.AtLeast(DateTime.Now.AddMinutes(-1))); Assert.That(getStorageItemResponse.LastModified, Is.AtMost(DateTime.Now.AddMinutes(2))); } finally { if (getStorageItemResponse != null) { getStorageItemResponse.Dispose(); } testHelper.DeleteItemFromContainer(); } } }
public void Should_return_not_modified_if_the_item_exists_and_it_hasnt_been_modified() { requestHeaderFields = new Dictionary <RequestHeaderFields, string> { { RequestHeaderFields.IfModifiedSince, futureDateTime.ToString() } }; using (var testHelper = new TestHelper(authToken, storageUrl)) { ICloudFilesResponse getStorageItemResponse = null; var exceptionWasThrown = false; try { testHelper.PutItemInContainer(); var getStorageItem = new GetStorageItem(storageUrl, Constants.CONTAINER_NAME, Constants.StorageItemName, requestHeaderFields); getStorageItemResponse = new GenerateRequestByType().Submit(getStorageItem, authToken); } catch (WebException ex) { var response = (HttpWebResponse)ex.Response; Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.NotModified)); exceptionWasThrown = true; } finally { if (getStorageItemResponse != null) { getStorageItemResponse.Dispose(); } testHelper.DeleteItemFromContainer(); } Assert.That(exceptionWasThrown, Is.True); } }
private WebHeaderCollection GetHeaderCollection(ICloudFilesRequest request, out HttpStatusCode statusCode, out Stream responseStream) { httpResponse = request.GetResponse(); var headerCollection = httpResponse.Headers; statusCode = httpResponse.StatusCode; responseStream = httpResponse.GetResponseStream(); return headerCollection; }
private WebHeaderCollection GetHeaderCollection(ICloudFilesRequest request, out HttpStatusCode statusCode, out Stream responseStream) { httpResponse = request.GetResponse(); var headerCollection = httpResponse.Headers; statusCode = httpResponse.StatusCode; responseStream = httpResponse.GetResponseStream(); return(headerCollection); }
private string OutputResponseInformation(ICloudFilesResponse response) { var output = new StringBuilder(); output.AppendLine("RESPONSE:"); output.Append("Status Code: "); output.AppendLine(response.StatusCode.ToString()); output.Append("Status Description: "); output.AppendLine(response.StatusDescription); output.AppendLine("Headers: "); foreach (var key in response.Headers.AllKeys) { output.Append(key); output.Append(": "); output.Append(response.Headers[key]); output.AppendLine(); } return output.ToString(); }
public void Should_return_the_list_of_containers() { using (new TestHelper(authToken, storageUrl)) { ICloudFilesResponse response = null; try { GetContainers request = new GetContainers(storageUrl); response = new GenerateRequestByType().Submit(request, authToken); Assert.That(response.ContentBody.Count, Is.GreaterThan(0)); } finally { if (response != null) { response.Dispose(); } } } }
public void should_be_able_to_return_stream_more_than_once() { ICloudFilesResponse getStorageItemResponse = null; Stream stream = null; Stream streamcopy = null; try { connection.CreateContainer(Constants.CONTAINER_NAME); connection.PutStorageItem(Constants.CONTAINER_NAME, Constants.StorageItemName); var getStorageItem = new GetStorageItem(storageUrl, Constants.CONTAINER_NAME, Constants.StorageItemName); getStorageItemResponse = new GenerateRequestByType().Submit(getStorageItem, authToken); stream = getStorageItemResponse.GetResponseStream(); streamcopy = getStorageItemResponse.GetResponseStream(); Assert.AreEqual(stream.Length, streamcopy.Length); Assert.Greater(getStorageItemResponse.ContentLength, 0); Assert.IsTrue(stream.CanRead); Assert.IsTrue(streamcopy.CanRead); } finally { if (getStorageItemResponse != null) { getStorageItemResponse.Close(); } if (stream != null) { stream.Close(); } if (streamcopy != null) { streamcopy.Close(); } connection.DeleteStorageItem(Constants.CONTAINER_NAME, Constants.StorageItemName); connection.DeleteContainer(Constants.CONTAINER_NAME); } }
public void Should_return_ok_if_the_object_exists() { using (var testHelper = new TestHelper(authToken, storageUrl)) { ICloudFilesResponse getStorageItemResponse = null; try { testHelper.PutItemInContainer(); var getStorageItem = new GetStorageItem(storageUrl, Constants.CONTAINER_NAME, Constants.StorageItemName); getStorageItemResponse = new GenerateRequestByType().Submit(getStorageItem, authToken); Assert.That(getStorageItemResponse.Status, Is.EqualTo(HttpStatusCode.OK)); } finally { if (getStorageItemResponse != null) { getStorageItemResponse.Dispose(); } testHelper.DeleteItemFromContainer(); } } }
public void Should_return_OK_status() { using (new TestHelper(authToken, storageUrl)) { ICloudFilesResponse response = null; try { GetContainers request = new GetContainers(storageUrl); response = new GenerateRequestByType(new RequestFactoryWithAgentSupport("NASTTestUserAgent")).Submit(request, authToken); Assert.That(response.Status, Is.EqualTo(HttpStatusCode.OK)); Assert.That(response.ContentBody, Is.Not.Null); } finally { if (response != null) { response.Dispose(); } } } }
private Dictionary<string, string> GetMetadata(ICloudFilesResponse getStorageItemResponse) { var metadata = new Dictionary<string, string>(); var headers = getStorageItemResponse.Headers; foreach (var key in headers.AllKeys) { if (key.IndexOf(Constants.META_DATA_HEADER) > -1) metadata.Add(key, headers[key]); } return metadata; }