public async Task CannotDownloadStorageObjectWithnullOutputStream()
 {
     var client = new StorageServicePocoClient(GetValidContext(), this.ServiceLocator);
     await client.DownloadStorageObject("container", "object", null);
 }
 public async Task CannotDownloadStorageObjectWithEmptyObjectName()
 {
     var client = new StorageServicePocoClient(GetValidContext(), this.ServiceLocator);
     await client.DownloadStorageObject("container", string.Empty, new MemoryStream());
 }
        public async Task ExceptionthrownWhenDownloadingAStorageObjectAndServerError()
        {
            var containerName = "TestContainer";
            var objectName = "TestObject";

            var restResp = new HttpResponseAbstraction(new MemoryStream(), new HttpHeadersAbstraction(), HttpStatusCode.InternalServerError);
            this.StorageServiceRestClient.Responses.Enqueue(restResp);

            var client = new StorageServicePocoClient(GetValidContext(), this.ServiceLocator);
            await client.DownloadStorageObject(containerName, objectName, new MemoryStream());
        }
 public async Task CannotDownloadStorageObjectWithNullContainerName()
 {
     var client = new StorageServicePocoClient(GetValidContext(), this.ServiceLocator);
     await client.DownloadStorageObject(null, "object", new MemoryStream());
 }
        public async Task CanDownloadStorageObjectWithOkResponse()
        {
            var containerName = "TestContainer";
            var objectName = "TestObject";

            var headers = new HttpHeadersAbstraction()
            {
                {"Content-Length", "1234"},
                {"Content-Type", "application/octet-stream"},
                {"Last-Modified", "Wed, 12 Mar 2014 23:42:23 GMT"},
                {"ETag", "d41d8cd98f00b204e9800998ecf8427e"}
            };

            var data = "some data";
            var content = TestHelper.CreateStream(data);

            var restResp = new HttpResponseAbstraction(content, headers, HttpStatusCode.OK);
            this.StorageServiceRestClient.Responses.Enqueue(restResp);

            var client = new StorageServicePocoClient(GetValidContext(), this.ServiceLocator);

            var respContent = new MemoryStream();
            var result = await client.DownloadStorageObject(containerName, objectName, respContent);

            Assert.IsNotNull(result);
            Assert.AreEqual(objectName, result.Name);
            Assert.AreEqual(containerName, result.ContainerName);
            Assert.AreEqual(1234, result.Length);
            Assert.AreEqual("application/octet-stream", result.ContentType);
            Assert.AreEqual("d41d8cd98f00b204e9800998ecf8427e", result.ETag);
            Assert.AreEqual(DateTime.Parse("Wed, 12 Mar 2014 23:42:23 GMT"), result.LastModified);
            Assert.AreEqual(data,TestHelper.GetStringFromStream(respContent));
        }