コード例 #1
0
        public async Task CanUpdateAStorageContainer()
        {
            var containerName = "newContainer";

            var origMetaData = new Dictionary<string, string> { { "X-Container-Meta-Test1", "Test1" } };

            this.simulator.Containers.Add(containerName, new StorageRestSimulator.StorageItem(containerName) { MetaData = origMetaData });

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

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

            var resp = await client.UpdateContainer(containerName, metadata);
            Assert.AreEqual(HttpStatusCode.Accepted, resp.StatusCode);

            resp = await client.GetContainer(containerName);
            
            Assert.IsTrue(resp.Headers.Any(kvp => kvp.Key == "X-Container-Meta-Test2"));
            Assert.IsFalse(resp.Headers.Any(kvp => kvp.Key == "X-Container-Meta-Test1"));
            Assert.AreEqual("Test2", resp.Headers.First(kvp => kvp.Key == "X-Container-Meta-Test2").Value.First());
        }
コード例 #2
0
        public async Task UpdateStorageContainerFormsCorrectUrlAndMethod()
        {
            var containerName = "newContainer";

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

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

            await client.UpdateContainer(containerName, metadata);

            Assert.AreEqual(string.Format("{0}/{1}", endpoint, containerName), this.simulator.Uri.ToString());
            Assert.AreEqual(HttpMethod.Post, this.simulator.Method);
        }
コード例 #3
0
        public async Task ErrorIsReturnedWhenUpdatingAContainerThatIsNotFound()
        {
            var containerName = "newContainer";

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

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

            var resp = await client.UpdateContainer(containerName, metadata);

            Assert.AreEqual(HttpStatusCode.NotFound, resp.StatusCode);
        }
コード例 #4
0
        public async Task UpdateStorageContainerIncludesAuthHeader()
        {
            var containerName = "newContainer";

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

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

            await client.UpdateContainer(containerName, metadata);

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