public async Task CanGetStorageObjectWithMetadata() { var containerName = "newContainer"; var objectName = "newObject"; var data = "Some Data"; var content = TestHelper.CreateStream(data); var metaData = new Dictionary<string, string> { { "X-Object-Meta-Test1", "Test1" }, { "X-Object-Meta-Test2", "Test2" }}; this.simulator.Objects.Add(objectName, new StorageRestSimulator.StorageItem(objectName) { MetaData = metaData, Content = content}); var client = new StorageServiceRestClient(GetValidContext(), this.ServiceLocator); var resp = await client.GetObject(containerName, objectName); Assert.AreEqual(HttpStatusCode.OK, resp.StatusCode); Assert.IsTrue(resp.Headers.Any(kvp => kvp.Key == "X-Object-Meta-Test2")); Assert.AreEqual("Test2", resp.Headers.First(kvp => kvp.Key == "X-Object-Meta-Test2").Value.First()); var respContent = TestHelper.GetStringFromStream(resp.Content); Assert.AreEqual(data,respContent); }
public async Task CanGetStorageObject() { var containerName = "newContainer"; var objectName = "newObject"; var data = "Some Data"; var content = TestHelper.CreateStream(data); var hash = Convert.ToBase64String(MD5.Create().ComputeHash(content)); content.Position = 0; this.simulator.Objects.Add(objectName, new StorageRestSimulator.StorageItem(objectName) { Content = content }); var client = new StorageServiceRestClient(GetValidContext(), this.ServiceLocator); var resp = await client.GetObject(containerName, objectName); Assert.AreEqual(HttpStatusCode.OK, resp.StatusCode); var respContent = TestHelper.GetStringFromStream(resp.Content); Assert.AreEqual(data, respContent); Assert.IsTrue(resp.Headers.Any(kvp => kvp.Key == "ETag")); Assert.AreEqual(hash, resp.Headers.First(kvp => kvp.Key == "ETag").Value.First()); }
public async Task GetStorageObjectFormsCorrectUrlAndMethod() { var containerName = "newContainer"; var objectName = "newObject"; var client = new StorageServiceRestClient(GetValidContext(), this.ServiceLocator); await client.GetObject(containerName, objectName); Assert.AreEqual(string.Format("{0}/{1}/{2}", endpoint, containerName, objectName), this.simulator.Uri.ToString()); Assert.AreEqual(HttpMethod.Get, this.simulator.Method); }
public async Task ErrorIsReturnedWhenObjectIsNotFound() { var containerName = "newContainer"; var objectName = "newObject"; var client = new StorageServiceRestClient(GetValidContext(), this.ServiceLocator); var resp = await client.GetObject(containerName, objectName); Assert.AreEqual(HttpStatusCode.NotFound, resp.StatusCode); }
public async Task GetStorageObjectIncludesAuthHeader() { var containerName = "newContainer"; var objectName = "newObject"; var client = new StorageServiceRestClient(GetValidContext(), this.ServiceLocator); await client.GetObject(containerName, objectName); Assert.IsTrue(this.simulator.Headers.ContainsKey("X-Auth-Token")); Assert.AreEqual(this.authId, this.simulator.Headers["X-Auth-Token"]); }