public async Task CanDeleteStorageContainer()
        {
            var containerName = "newContainer";

            this.simulator.Containers.Add(containerName, new StorageRestSimulator.StorageItem(containerName));

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

            var resp = await client.DeleteContainer(containerName);

            Assert.AreEqual(HttpStatusCode.NoContent, resp.StatusCode);
            Assert.IsFalse(this.simulator.Containers.ContainsKey(containerName));
        }
        public async Task ErrorIsReturnedWhenDeletingAContainerThatIsNotEmpty()
        {
            var containerName = "newContainer";

            this.simulator.Containers.Add(containerName, new StorageRestSimulator.StorageItem(containerName));
            this.simulator.IsContainerEmpty = false;

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

            var resp = await client.DeleteContainer(containerName);

            Assert.AreEqual(HttpStatusCode.Conflict, resp.StatusCode);
            Assert.IsTrue(this.simulator.Containers.ContainsKey(containerName));
        }
        public async Task DeleteStorageContainerFormsCorrectUrlAndMethod()
        {
            var containerName = "newContainer";

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

            await client.DeleteContainer(containerName);

            Assert.AreEqual(string.Format("{0}/{1}", endpoint, containerName), this.simulator.Uri.ToString());
            Assert.AreEqual(HttpMethod.Delete, this.simulator.Method);
        }
        public async Task ErrorIsReturnedWhenDeletingAContainerThatIsNotFound()
        {
            var containerName = "newContainer";

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

            var resp = await client.DeleteContainer(containerName);

            Assert.AreEqual(HttpStatusCode.NotFound, resp.StatusCode);
        }
        public async Task DeleteStorageContainerIncludesAuthHeader()
        {
            var containerName = "newContainer";

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

            await client.DeleteContainer(containerName);

            Assert.IsTrue(this.simulator.Headers.ContainsKey("X-Auth-Token"));
            Assert.AreEqual(this.authId, this.simulator.Headers["X-Auth-Token"]);
        }