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

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

            var resp = await client.CreateContainer(containerName, new Dictionary<string, string>());

            Assert.AreEqual(HttpStatusCode.Created, resp.StatusCode);
            Assert.IsTrue(this.simulator.Containers.ContainsKey(containerName));

            var metaData = new Dictionary<string, string> { { "Test1", "Test1" }, { "Test2", "Test2" } };

            resp = await client.CreateContainer(containerName, metaData);

            Assert.AreEqual(HttpStatusCode.Accepted, resp.StatusCode);
            Assert.IsTrue(this.simulator.Containers.ContainsKey(containerName));
            Assert.IsTrue(this.simulator.Containers[containerName].MetaData.ContainsKey("X-Container-Meta-Test1"));
        }
        public async Task CanCreateStorageContainerWithMetaData()
        {
            var containerName = "newContainer";

            var client =
                 new StorageServiceRestClient(GetValidContext(), this.ServiceLocator);
            
            var metaData = new Dictionary<string, string> { { "Test1", "Test1" }, { "Test2", "Test2" } };

            var resp = await client.CreateContainer(containerName, metaData);

            Assert.AreEqual(HttpStatusCode.Created, resp.StatusCode);
            Assert.IsTrue(this.simulator.Containers.ContainsKey(containerName));

            Assert.IsTrue(this.simulator.Headers.ContainsKey("X-Container-Meta-Test1"));
            Assert.IsTrue(this.simulator.Headers.ContainsKey("X-Container-Meta-Test2"));
            Assert.AreEqual("Test1", this.simulator.Headers["X-Container-Meta-Test1"]);
            Assert.AreEqual("Test2", this.simulator.Headers["X-Container-Meta-Test2"]);
        }
        public async Task CreateStorageConainerWithSlashesInContainerName()
        {
            var containerName = "new/Container";

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

            await client.CreateContainer(containerName, new Dictionary<string, string>());
        }
        public async Task CanCreateStorageContainer()
        {
            var containerName = "newContainer";

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

            var resp = await client.CreateContainer(containerName, new Dictionary<string, string>());

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

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

            await client.CreateContainer(containerName, new Dictionary<string, string>());

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

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

            await client.CreateContainer(containerName, new Dictionary<string, string>());

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