public void ShouldNotAppendContentNetworkPrefixIfRexIsAValidAbsoluteUri() { DataServiceTranslator.ContentNetworkPrefix = "http://prefix/"; var resource = new Resource { Ref = "http://www.microsoft.com/test.wmv", ResourceType = "Master" }; var videoItem = new VideoItem { Id = new Uri("http://uri"), Title = "VideoTitle", Duration = 10, Resources = new ResourceCollection { resource } }; var items = new ItemCollection { videoItem }; var container = new Container { Items = items }; List <Asset> assets = DataServiceTranslator.ConvertToAssets(container); Assert.AreEqual("http://www.microsoft.com/test.wmv", assets[0].Source.ToString()); }
public void ShouldAppendContentNetworkPrefixIfRefIsNotAValidAbsoluteUri() { DataServiceTranslator.ContentNetworkPrefix = "http://prefix/"; var resource = new Resource { Ref = "RefResource", ResourceType = "LiveSmoothStream" }; var videoItem = new VideoItem { Id = new Uri("http://uri"), Title = "VideoTitle", Duration = 10, Resources = new ResourceCollection { resource } }; var items = new ItemCollection { videoItem }; var container = new Container { Items = items }; List <Asset> assets = DataServiceTranslator.ConvertToAssets(container); Assert.AreEqual(string.Concat(DataServiceTranslator.ContentNetworkPrefix, videoItem.Resources[0].Ref), assets[0].Source.ToString()); }
/// <summary> /// Loads the assets asynchronously. /// </summary> /// <param name="filter">The filter.</param> /// <param name="maxNumberOfItems">The max number of items.</param> public void LoadAssetsAsync(string filter, int maxNumberOfItems) { AssetsDataServiceClient client = this.CreateAssetsDataServiceClient(); client.LoadLibraryFilterCompleted += (sender, args) => { if (args.Error != null) { client.Abort(); this.logger.Log(this.GetType().Name, args.Error); if (args.Error.GetType() == typeof(Exception)) { throw args.Error; } return; } try { List <Asset> assets = DataServiceTranslator.ConvertToAssets(args.Result); this.OnLoadAssetsCompleted(new DataEventArgs <List <Asset> >(assets)); } catch (Exception e) { client.Abort(); this.logger.Log(this.GetType().Name, e); throw; } }; client.LoadLibraryFilterAsync(filter, maxNumberOfItems); }
public void ShouldConvertChildContainerIntoFolderAssets() { var resource = new Resource { Ref = "RefResource", ResourceType = "Master" }; var videoItem = new VideoItem { Id = new Uri("http://uri"), Title = "VideoTitle", Duration = 10, Resources = new ResourceCollection { resource } }; var childVideoItem = new VideoItem { Id = new Uri("http://uri1"), Title = "VideoTitle", Duration = 10, Resources = new ResourceCollection { resource } }; var items = new ItemCollection { videoItem }; var container = new Container { Items = items, Containers = new ContainerCollection() }; var childContainer = new Container { Id = new Uri("http://childContainer"), Title = "Folder", Items = new ItemCollection { childVideoItem } }; container.Containers.Add(childContainer); List <Asset> assets = DataServiceTranslator.ConvertToAssets(container); Assert.AreEqual(2, assets.Count); Assert.IsInstanceOfType(assets[1], typeof(FolderAsset)); Assert.AreEqual(childContainer.Title, assets[1].Title); Assert.AreEqual(childContainer.Id, assets[1].ProviderUri); Assert.IsNull(((FolderAsset)assets[1]).ParentFolder); Assert.AreEqual(childVideoItem.Id, ((FolderAsset)assets[1]).Assets[0].ProviderUri); Assert.AreEqual(childVideoItem.Title, ((FolderAsset)assets[1]).Assets[0].Title); Assert.AreEqual(childVideoItem.Resources[0].ResourceType.ToUpper(), ((FolderAsset)assets[1]).Assets[0].ResourceType.ToString().ToUpper()); }
public void ShouldReturnZeroAssetsWhenCollectionIsNull() { var container = new Container { Items = null }; List <Asset> assets = DataServiceTranslator.ConvertToAssets(container); Assert.AreEqual(0, assets.Count); }
/// <summary> /// Loads the assets asynchronously. /// </summary> /// <param name="filter">The filter.</param> /// <param name="maxNumberOfItems">The max number of items.</param> public void LoadAssetsAsync(string filter, int maxNumberOfItems) { AssetsDataServiceClient client = this.CreateAssetsDataServiceClient(); client.LoadLibraryFilterCompleted += (sender, args) => { if (args.Error != null) { client.Abort(); this.logger.Log(this.GetType().Name, args.Error); if (args.Error.GetType() == typeof(Exception)) { throw args.Error; } return; } try { List <Asset> assets = DataServiceTranslator.ConvertToAssets(args.Result); this.OnLoadAssetsCompleted(new DataEventArgs <List <Asset> >(assets)); } catch (Exception e) { client.Abort(); this.logger.Log(this.GetType().Name, e); throw; } }; string projectId = null; if (HtmlPage.Document.QueryString.TryGetValue("projectId", out projectId)) { var highlightId = Guid.Parse(projectId); filter = string.Format("{0}HighlightId={1}", filter, highlightId); } else { maxNumberOfItems = 0; } client.LoadLibraryFilterAsync(filter, maxNumberOfItems); }
public void ShouldConvertContainerIntoAssets() { var resource1 = new Resource { Ref = "RefResource", ResourceType = "Master" }; var resource2 = new Resource { Ref = "http://uri/test.ism/manifest", ResourceType = "SmoothStream" }; var videoItem1 = new VideoItem { Id = new Uri("http://uri"), Title = "VideoTitle", Duration = 10, Resources = new ResourceCollection() { resource1 }, Metadata = new List <MetadataField> { new MetadataField("TestName", "TestValue") }, ThumbnailSource = "http://test1/test.png" }; var videoItem2 = new VideoItem { Id = new Uri("http://uri2"), Title = "VideoAdaptiveStreamingTitle", Duration = 10, Creator = "test", Created = new DateTime(2009, 1, 1), Modified = new DateTime(2009, 1, 2), ModifiedBy = "test1", Resources = new ResourceCollection { resource2 } }; var items = new ItemCollection() { videoItem1, videoItem2 }; var container = new Container { Items = items }; List <Asset> assets = DataServiceTranslator.ConvertToAssets(container); Assert.AreEqual(2, assets.Count); Assert.AreEqual(videoItem1.Id, assets[0].ProviderUri); Assert.AreEqual(videoItem1.Title, assets[0].Title); Assert.AreEqual(videoItem1.Creator, assets[0].Creator); Assert.AreEqual(videoItem1.Created, assets[0].Created); Assert.AreEqual(videoItem1.ModifiedBy, assets[0].ModifiedBy); Assert.AreEqual(videoItem1.Modified, assets[0].Modified); Assert.AreEqual(videoItem1.Metadata, assets[0].Metadata); Assert.AreEqual(videoItem1.ThumbnailSource, ((VideoAsset)assets[0]).ThumbnailSource); StringAssert.Contains(assets[0].Source.ToString(), resource1.Ref); Assert.AreEqual(assets[0].ResourceType, ResourceType.Master); Assert.AreEqual(videoItem2.Id, assets[1].ProviderUri); Assert.AreEqual(videoItem2.Title, assets[1].Title); Assert.AreEqual(videoItem2.Creator, assets[1].Creator); Assert.AreEqual(videoItem2.Created, assets[1].Created); Assert.AreEqual(videoItem2.ModifiedBy, assets[1].ModifiedBy); Assert.AreEqual(videoItem2.Modified, assets[1].Modified); StringAssert.Contains(assets[1].Source.ToString(), resource2.Ref); Assert.AreEqual(assets[1].ResourceType, ResourceType.SmoothStream); }
public void ShouldReturnZeroAssetsWhenContainerIsNull() { List <Asset> assets = DataServiceTranslator.ConvertToAssets(null); Assert.AreEqual(0, assets.Count); }