public void CreatePageModel_RichTextEmbeddedMediaManagerItems_Success() { Page testPage = (Page)TestSession.GetObject(TestFixture.Tsi2306PageWebDavUrl); RenderedItem testRenderedItem; PageModelData pageModel = CreatePageModel(testPage, out testRenderedItem); RegionModelData mainRegion = GetMainRegion(pageModel); EntityModelData article = mainRegion.Entities.LastOrDefault(e => e.MvcData.ViewName == "Article"); Assert.IsNotNull(article, "article"); ContentModelData[] articleBody = (ContentModelData[])article.Content["articleBody"]; RichTextData content = (RichTextData)articleBody[0]["content"]; EntityModelData embeddedMediaManagerItem = content.Fragments.OfType <EntityModelData>().FirstOrDefault(); Assert.IsNotNull(embeddedMediaManagerItem, "embeddedMediaManagerItem"); OutputJson(embeddedMediaManagerItem); BinaryContentData binaryContent = embeddedMediaManagerItem.BinaryContent; ExternalContentData externalContent = embeddedMediaManagerItem.ExternalContent; Assert.IsNotNull(binaryContent, "binaryContent"); Assert.IsNotNull(externalContent, "externalContent"); Assert.AreEqual("https://mmecl.dist.sdlmedia.com/distributions/?o=3e5f81f2-c7b3-47f7-8ede-b84b447195b9", binaryContent.Url, "binaryContent.Url"); Assert.AreEqual("1065-mm-204-dist-file.ecl", binaryContent.FileName, "binaryContent.FileName"); Assert.AreEqual("application/externalcontentlibrary", binaryContent.MimeType, "binaryContent.MimeType"); Assert.AreEqual("ecl:1065-mm-204-dist-file", externalContent.Id, "ecl:1065-mm-204-dist-file"); Assert.AreEqual("html5dist", externalContent.DisplayTypeId, "externalContent.DisplayTypeId"); Assert.IsNotNull(externalContent.Metadata, "externalContent.Metadata"); }
protected virtual ViewModel CreateViewModel(MappingData mappingData) { ViewModelData viewModelData = mappingData.SourceViewModel; EntityModelData entityModelData = viewModelData as EntityModelData; ViewModel result; if (string.IsNullOrEmpty(mappingData.ModelId)) { // Use parameterless constructor result = (ViewModel)mappingData.ModelType.CreateInstance(); } else { // Pass model Identifier in constructor. result = (ViewModel)mappingData.ModelType.CreateInstance(mappingData.ModelId); } result.ExtensionData = viewModelData.ExtensionData; result.HtmlClasses = viewModelData.HtmlClasses; result.XpmMetadata = mappingData.Localization.IsXpmEnabled ? viewModelData.XpmMetadata : null; MediaItem mediaItem = result as MediaItem; if (mediaItem != null) { BinaryContentData binaryContent = entityModelData?.BinaryContent; if (binaryContent == null) { throw new DxaException( $"Unable to create Media Item ('{mappingData.ModelType.Name}') because the Data Model '{entityModelData?.Id}' does not contain Binary Content Data." ); } mediaItem.Url = binaryContent.Url; mediaItem.FileName = binaryContent.FileName; mediaItem.MimeType = binaryContent.MimeType; mediaItem.FileSize = binaryContent.FileSize; } EclItem eclItem = result as EclItem; if (eclItem != null) { ExternalContentData externalContent = entityModelData.ExternalContent; if (externalContent == null) { throw new DxaException( $"Unable to create ECL Item ('{mappingData.ModelType.Name}') because the Data Model '{entityModelData.Id}' does not contain External Content Data." ); } eclItem.EclDisplayTypeId = externalContent.DisplayTypeId; eclItem.EclTemplateFragment = externalContent.TemplateFragment; eclItem.EclExternalMetadata = externalContent.Metadata; eclItem.EclUri = externalContent.Id; } MapSemanticProperties(result, mappingData); return(result); }
public void CreatePageModel_MediaManager_Success() { Page testPage = (Page)TestSession.GetObject(TestFixture.MediaManagerPageWebDavUrl); RenderedItem testRenderedItem; PageModelData pageModel = CreatePageModel(testPage, out testRenderedItem); RegionModelData mainRegion = GetMainRegion(pageModel); EntityModelData mmItem = mainRegion.Entities[0]; BinaryContentData binaryContent = mmItem.BinaryContent; ExternalContentData externalContent = mmItem.ExternalContent; Assert.IsNotNull(binaryContent, "binaryContent"); Assert.AreEqual("https://mmecl.dist.sdlmedia.com/distributions/?o=51498399-31e9-4c89-98eb-0c4256c96f71", binaryContent.Url, "binaryContent.Url"); Assert.AreEqual("application/externalcontentlibrary", binaryContent.MimeType, "binaryContent.MimeType"); Assert.IsNotNull(externalContent, "externalContent"); Assert.AreEqual("ecl:1065-mm-415-dist-file", externalContent.Id, "externalContent.Id"); Assert.AreEqual("html5dist", externalContent.DisplayTypeId, "externalContent.DisplayTypeId"); Assert.IsNotNull(externalContent.Metadata, "externalContent.Metadata"); object globalId; Assert.IsTrue(externalContent.Metadata.TryGetValue("GlobalId", out globalId), "externalContent.Metadata['GlobalId']"); Assert.AreEqual("51498399-31e9-4c89-98eb-0c4256c96f71", globalId, "globalId"); StringAssert.Contains(externalContent.TemplateFragment, (string)globalId, "externalContent.TemplateFragment"); }
private void AssertEqualExternalContent(ExternalContentData expected, ExternalContentData actual, string subject) { if (expected == null) { Assert.IsNull(actual, subject); } else { Assert.IsNotNull(actual, subject); Assert.AreEqual(expected.Id, actual.Id, subject + ".Id"); Assert.AreEqual(expected.DisplayTypeId, actual.DisplayTypeId, subject + ".DisplayTypeId"); Assert.AreEqual(expected.TemplateFragment, actual.TemplateFragment, subject + ".TemplateFragment"); // TODO: AssertEqualDictionaries(expected.Metadata, actual.Metadata, subject + ".Metadata"); } }
public void CreatePageModel_Flickr_Success() { Page testPage = (Page)TestSession.GetObject(TestFixture.FlickrTestPageWebDavUrl); RenderedItem testRenderedItem; PageModelData pageModel = CreatePageModel(testPage, out testRenderedItem); RegionModelData mainRegion = GetMainRegion(pageModel); EntityModelData flickrImage = mainRegion.Entities[0]; BinaryContentData binaryContent = flickrImage.BinaryContent; ExternalContentData externalContent = flickrImage.ExternalContent; Assert.IsNotNull(binaryContent, "binaryContent"); StringAssert.Matches(binaryContent.Url, new Regex(@"/Preview/Images/.*\.jpg"), "binaryContent.Url"); Assert.AreEqual("image/jpeg", binaryContent.MimeType, "binaryContent.MimeType"); Assert.IsNotNull(externalContent, "externalContent"); Assert.AreEqual("ecl:1065-flickr-5606989559_6b62b3c3fc_72157626470204584-img-file", externalContent.Id, "externalContent.Id"); Assert.AreEqual("img", externalContent.DisplayTypeId, "externalContent.DisplayTypeId"); Assert.IsNotNull(externalContent.Metadata, "externalContent.Metadata"); object width; Assert.IsTrue(externalContent.Metadata.TryGetValue("Width", out width), "externalContent.Metadata['Width']"); Assert.AreEqual("1024", width, "width"); }