private static async Task <int> OnGetBlobMetadata(BlobMetadataOptions options) { Console.WriteLine( $"Getting global storage blob list for scid : {options.ServiceConfigurationId}, sandbox {options.Sandbox}, path {options.Path}"); TitleStorageBlobMetadataResult result = await TitleStorage.GetGlobalStorageBlobMetaDataAsync( options.ServiceConfigurationId, options.Sandbox, options.Path, options.MaxItems, options.SkipItems); Console.WriteLine( $"Total {result.TotalItems} items found, Displaying item {options.SkipItems} to {options.SkipItems + result.Items.Count()}"); foreach (var metadata in result.Items) { Console.WriteLine($"\t{metadata.Path}, \t{metadata.Type}, \t{metadata.Size}"); } return(0); }
public async Task GetBlobMetadata() { this.SetUpMockAuth(); string response = "{'blobs':[" + "{'fileName':'test1.txt,config','etag':'','size':2}," + "{'fileName':'test11.txt,binary','etag':'','size':2}," + "{'fileName':'test2.txt,config','etag':'','size':2}," + "{'fileName':'test3.txt,config','etag':'','size':2}," + "{'fileName':'test4.txt,config','etag':'','size':2}," + "{'fileName':'test5.txt,config','etag':'','size':2}" + "]," + "'pagingInfo':{'totalItems':8,'continuationToken':'123456'}}"; var uri = new Uri(new Uri(ClientSettings.Singleton.TitleStorageEndpoint), $"global/scids/{DefaultScid}/data/{DefaultGlobalStoragePath}?maxItems={DefaultMaxItems}&skipItems={DefaultSkipItems}"); var mockHttp = new MockHttpMessageHandler(); mockHttp.Expect(uri.ToString()) .WithHeaders("Authorization", this.ExpectedToken(DefaultScid, DefaultSandbox)) .Respond("application/json", response); TestHook.MockHttpHandler = mockHttp; var metadataResult = await TitleStorage.GetGlobalStorageBlobMetaDataAsync(DefaultScid, DefaultSandbox, DefaultGlobalStoragePath, DefaultMaxItems, DefaultSkipItems); Assert.AreEqual((uint)8, metadataResult.TotalItems); Assert.AreEqual(6, metadataResult.Items.Count()); Assert.IsTrue(metadataResult.HasNext); // GetNextAsync var nextPageUri = new Uri(new Uri(ClientSettings.Singleton.TitleStorageEndpoint), $"global/scids/{DefaultScid}/data/{DefaultGlobalStoragePath}?maxItems={DefaultMaxItems}&continuationToken=123456"); mockHttp.Expect(nextPageUri.ToString()) .WithHeaders("Authorization", this.ExpectedToken(DefaultScid, DefaultSandbox)) .Respond("application/json", response); var metaResult1 = await metadataResult.GetNextAsync(DefaultMaxItems); Assert.AreEqual((uint)8, metadataResult.TotalItems); Assert.AreEqual(6, metadataResult.Items.Count()); Assert.IsTrue(metadataResult.HasNext); }
public async Task GetBlobMetadataNotFound() { this.SetUpMockAuth(); var uri = new Uri(new Uri(ClientSettings.Singleton.TitleStorageEndpoint), $"global/scids/{DefaultScid}/data/{DefaultGlobalStoragePath}"); var mockHttp = new MockHttpMessageHandler(); mockHttp.Expect(uri.ToString()) .WithHeaders("Authorization", this.ExpectedToken(DefaultScid, DefaultSandbox)) .Respond(HttpStatusCode.NotFound); TestHook.MockHttpHandler = mockHttp; var metadataResult = await TitleStorage.GetGlobalStorageBlobMetaDataAsync(DefaultScid, DefaultSandbox, DefaultGlobalStoragePath, DefaultMaxItems, DefaultSkipItems); Assert.AreEqual((uint)0, metadataResult.TotalItems); Assert.AreEqual(0, metadataResult.Items.Count()); Assert.IsFalse(metadataResult.HasNext); }