/// <summary> /// Creates a bunch of content/media items return relation objects for them (unsaved) /// </summary> /// <param name="count"></param> /// <returns></returns> private IEnumerable <IRelation> CreateRelations(int count) { var rs = ServiceContext.RelationService; var rtName = Guid.NewGuid().ToString(); var rt = new RelationType(rtName, rtName, false, null, null); rs.Save(rt); var ct = MockedContentTypes.CreateBasicContentType(); ServiceContext.ContentTypeService.Save(ct); var mt = MockedContentTypes.CreateImageMediaType("img"); ServiceContext.MediaTypeService.Save(mt); return(Enumerable.Range(1, count).Select(index => { var c1 = MockedContent.CreateBasicContent(ct); var c2 = MockedMedia.CreateMediaImage(mt, -1); ServiceContext.ContentService.Save(c1); ServiceContext.MediaService.Save(c2); return new Relation(c1.Id, c2.Id, rt); }).ToList()); }
public void Can_Perform_Add_On_MediaRepository() { // Arrange var provider = new PetaPocoUnitOfWorkProvider(Logger); var unitOfWork = provider.GetUnitOfWork(); MediaTypeRepository mediaTypeRepository; using (var repository = CreateRepository(unitOfWork, out mediaTypeRepository)) { var mediaType = mediaTypeRepository.Get(1032); var image = MockedMedia.CreateMediaImage(mediaType, -1); // Act mediaTypeRepository.AddOrUpdate(mediaType); repository.AddOrUpdate(image); unitOfWork.Commit(); var fetched = repository.Get(image.Id); // Assert Assert.That(mediaType.HasIdentity, Is.True); Assert.That(image.HasIdentity, Is.True); TestHelper.AssertAllPropertyValuesAreEquals(image, fetched, "yyyy-MM-dd HH:mm:ss"); } }
public void Get_Property_Value_Uses_Converter() { var mType = MockedContentTypes.CreateImageMediaType("image2"); //lets add an RTE to this mType.PropertyGroups.First().PropertyTypes.Add( new PropertyType("test", ValueStorageType.Nvarchar, "content") { Name = "Rich Text", DataTypeId = -87 //tiny mce }); ServiceContext.MediaTypeService.Save(mType); var media = MockedMedia.CreateMediaImage(mType, -1); media.Properties["content"].SetValue("<div>This is some content</div>"); ServiceContext.MediaService.Save(media); var publishedMedia = GetNode(media.Id); var propVal = publishedMedia.Value("content"); Assert.IsInstanceOf <IHtmlString>(propVal); Assert.AreEqual("<div>This is some content</div>", propVal.ToString()); var propVal2 = publishedMedia.Value <IHtmlString>("content"); Assert.IsInstanceOf <IHtmlString>(propVal2); Assert.AreEqual("<div>This is some content</div>", propVal2.ToString()); var propVal3 = publishedMedia.Value("Content"); Assert.IsInstanceOf <IHtmlString>(propVal3); Assert.AreEqual("<div>This is some content</div>", propVal3.ToString()); }
public void Get_Paged_Parent_Child_Entities_With_Same_Entity_Relation() { //Create a media item and create a relationship between itself (parent -> child) var imageType = MockedContentTypes.CreateImageMediaType("myImage"); ServiceContext.MediaTypeService.Save(imageType); var media = MockedMedia.CreateMediaImage(imageType, -1); ServiceContext.MediaService.Save(media); var relType = ServiceContext.RelationService.GetRelationTypeByAlias(Constants.Conventions.RelationTypes.RelatedMediaAlias); ServiceContext.RelationService.Relate(media.Id, media.Id, relType); var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { var repository = CreateRepository(provider, out var relationTypeRepository); // Get parent entities for child id var parents = repository.GetPagedParentEntitiesByChildId(media.Id, 0, 10, out var totalRecords).ToList(); Assert.AreEqual(1, totalRecords); Assert.AreEqual(1, parents.Count); // Get child entities for parent id var children = repository.GetPagedChildEntitiesByParentId(media.Id, 0, 10, out totalRecords).ToList(); Assert.AreEqual(1, totalRecords); Assert.AreEqual(1, children.Count); } }
public void SaveMediaMultiple() { // Arrange var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { MediaTypeRepository mediaTypeRepository; var repository = CreateRepository(provider, out mediaTypeRepository); var mediaType = mediaTypeRepository.Get(1032); var file = MockedMedia.CreateMediaFile(mediaType, -1); // Act repository.Save(file); var image = MockedMedia.CreateMediaImage(mediaType, -1); repository.Save(image); // Assert Assert.That(file.HasIdentity, Is.True); Assert.That(image.HasIdentity, Is.True); Assert.That(file.Name, Is.EqualTo("Test File")); Assert.That(image.Name, Is.EqualTo("Test Image")); Assert.That(file.ContentTypeId, Is.EqualTo(mediaType.Id)); Assert.That(image.ContentTypeId, Is.EqualTo(mediaType.Id)); } }
public override void CreateTestData() { if (_isSetup == false) { _isSetup = true; base.CreateTestData(); //Create and Save folder-Media -> 1050 var folderMediaType = ServiceContext.MediaTypeService.Get(1031); var folder = MockedMedia.CreateMediaFolder(folderMediaType, -1); ServiceContext.MediaService.Save(folder, 0); folderId = folder.Id; //Create and Save image-Media -> 1051 var imageMediaType = ServiceContext.MediaTypeService.Get(1032); var image = MockedMedia.CreateMediaImage(imageMediaType, folder.Id); ServiceContext.MediaService.Save(image, 0); //Create and Save file-Media -> 1052 var fileMediaType = ServiceContext.MediaTypeService.Get(1033); var file = MockedMedia.CreateMediaFile(fileMediaType, folder.Id); ServiceContext.MediaService.Save(file, 0); var subfolder = MockedMedia.CreateMediaFolder(folderMediaType, folder.Id); ServiceContext.MediaService.Save(subfolder, 0); var subfolder2 = MockedMedia.CreateMediaFolder(folderMediaType, subfolder.Id); ServiceContext.MediaService.Save(subfolder2, 0); } }
public void SaveMedia() { // Arrange var provider = TestObjects.GetScopeProvider(Logger); using (var scope = provider.CreateScope()) { MediaTypeRepository mediaTypeRepository; var repository = CreateRepository(provider, out mediaTypeRepository); var mediaType = mediaTypeRepository.Get(1032); var image = MockedMedia.CreateMediaImage(mediaType, -1); // Act mediaTypeRepository.Save(mediaType); repository.Save(image); var fetched = repository.Get(image.Id); // Assert Assert.That(mediaType.HasIdentity, Is.True); Assert.That(image.HasIdentity, Is.True); TestHelper.AssertPropertyValuesAreEqual(image, fetched, "yyyy-MM-dd HH:mm:ss"); } }
public void Rebuild_All_Xml_Structures() { var provider = new PetaPocoUnitOfWorkProvider(Logger); var unitOfWork = provider.GetUnitOfWork(); MediaTypeRepository mediaTypeRepository; using (var repository = CreateRepository(unitOfWork, out mediaTypeRepository)) { var mediaType = mediaTypeRepository.Get(1032); for (var i = 0; i < 100; i++) { var image = MockedMedia.CreateMediaImage(mediaType, -1); repository.AddOrUpdate(image); } unitOfWork.Commit(); //delete all xml unitOfWork.Database.Execute("DELETE FROM cmsContentXml"); Assert.AreEqual(0, unitOfWork.Database.ExecuteScalar <int>("SELECT COUNT(*) FROM cmsContentXml")); repository.RebuildXmlStructures(media => new XElement("test"), 10); Assert.AreEqual(103, unitOfWork.Database.ExecuteScalar <int>("SELECT COUNT(*) FROM cmsContentXml")); } }
public void EntityService_Can_Get_Paged_Media_Descendants_With_Search() { var folderType = ServiceContext.ContentTypeService.GetMediaType(1031); var imageMediaType = ServiceContext.ContentTypeService.GetMediaType(1032); var root = MockedMedia.CreateMediaFolder(folderType, -1); ServiceContext.MediaService.Save(root); for (int i = 0; i < 10; i++) { var c1 = MockedMedia.CreateMediaImage(imageMediaType, root.Id); c1.Name = "ssss" + Guid.NewGuid(); ServiceContext.MediaService.Save(c1); for (int j = 0; j < 5; j++) { var c2 = MockedMedia.CreateMediaImage(imageMediaType, c1.Id); c2.Name = "tttt" + Guid.NewGuid(); ServiceContext.MediaService.Save(c2); } } var service = ServiceContext.EntityService; long total; var entities = service.GetPagedDescendants(root.Id, UmbracoObjectTypes.Media, 0, 10, out total, filter: "ssss").ToArray(); Assert.That(entities.Length, Is.EqualTo(10)); Assert.That(total, Is.EqualTo(10)); entities = service.GetPagedDescendants(root.Id, UmbracoObjectTypes.Media, 0, 50, out total, filter: "tttt").ToArray(); Assert.That(entities.Length, Is.EqualTo(50)); Assert.That(total, Is.EqualTo(50)); }
private IRelation CreateAndSaveRelation(string name, string alias) { var rs = ServiceContext.RelationService; var rt = new RelationType(name, alias, false, null, null); rs.Save(rt); var ct = MockedContentTypes.CreateBasicContentType(); ServiceContext.ContentTypeService.Save(ct); var mt = MockedContentTypes.CreateImageMediaType("img"); ServiceContext.MediaTypeService.Save(mt); var c1 = MockedContent.CreateBasicContent(ct); var c2 = MockedMedia.CreateMediaImage(mt, -1); ServiceContext.ContentService.Save(c1); ServiceContext.MediaService.Save(c2); var r = new Relation(c1.Id, c2.Id, rt); ServiceContext.RelationService.Save(r); return(r); }
public void Can_Perform_Multiple_Adds_On_MediaRepository() { // Arrange var provider = new PetaPocoUnitOfWorkProvider(Logger); var unitOfWork = provider.GetUnitOfWork(); MediaTypeRepository mediaTypeRepository; using (var repository = CreateRepository(unitOfWork, out mediaTypeRepository)) { var mediaType = mediaTypeRepository.Get(1032); var file = MockedMedia.CreateMediaFile(mediaType, -1); // Act repository.AddOrUpdate(file); unitOfWork.Commit(); var image = MockedMedia.CreateMediaImage(mediaType, -1); repository.AddOrUpdate(image); unitOfWork.Commit(); // Assert Assert.That(file.HasIdentity, Is.True); Assert.That(image.HasIdentity, Is.True); Assert.That(file.Name, Is.EqualTo("Test File")); Assert.That(image.Name, Is.EqualTo("Test Image")); Assert.That(file.ContentTypeId, Is.EqualTo(mediaType.Id)); Assert.That(image.ContentTypeId, Is.EqualTo(mediaType.Id)); } }
private Tuple <IMedia, IMedia, IMedia, IMedia, IMedia> CreateTrashedTestMedia() { //Create and Save folder-Media -> 1050 var folderMediaType = ServiceContext.MediaTypeService.Get(1031); var folder = MockedMedia.CreateMediaFolder(folderMediaType, -1); ServiceContext.MediaService.Save(folder); //Create and Save folder-Media -> 1051 var folder2 = MockedMedia.CreateMediaFolder(folderMediaType, -1); ServiceContext.MediaService.Save(folder2); //Create and Save image-Media -> 1052 var imageMediaType = ServiceContext.MediaTypeService.Get(1032); var image = (Media)MockedMedia.CreateMediaImage(imageMediaType, 1050); ServiceContext.MediaService.Save(image); //Create and Save folder-Media that is trashed -> 1053 var folderTrashed = (Media)MockedMedia.CreateMediaFolder(folderMediaType, -21); folderTrashed.Trashed = true; ServiceContext.MediaService.Save(folderTrashed); //Create and Save image-Media child of folderTrashed -> 1054 var imageTrashed = (Media)MockedMedia.CreateMediaImage(imageMediaType, folderTrashed.Id); imageTrashed.Trashed = true; ServiceContext.MediaService.Save(imageTrashed); return(new Tuple <IMedia, IMedia, IMedia, IMedia, IMedia>(folder, folder2, image, folderTrashed, imageTrashed)); }
public void Get_Paged_Children_With_Media_Type_Filter() { var mediaService = ServiceContext.MediaService; var mediaType1 = MockedContentTypes.CreateImageMediaType("Image2"); ServiceContext.MediaTypeService.Save(mediaType1); var mediaType2 = MockedContentTypes.CreateImageMediaType("Image3"); ServiceContext.MediaTypeService.Save(mediaType2); for (int i = 0; i < 10; i++) { var m1 = MockedMedia.CreateMediaImage(mediaType1, -1); mediaService.Save(m1); var m2 = MockedMedia.CreateMediaImage(mediaType2, -1); mediaService.Save(m2); } long total; var result = ServiceContext.MediaService.GetPagedChildren(-1, 0, 11, out total, SqlContext.Query <IMedia>().Where(x => new[] { mediaType1.Id, mediaType2.Id }.Contains(x.ContentTypeId)), Ordering.By("SortOrder", Direction.Ascending)); Assert.AreEqual(11, result.Count()); Assert.AreEqual(20, total); result = ServiceContext.MediaService.GetPagedChildren(-1, 1, 11, out total, SqlContext.Query <IMedia>().Where(x => new[] { mediaType1.Id, mediaType2.Id }.Contains(x.ContentTypeId)), Ordering.By("SortOrder", Direction.Ascending)); Assert.AreEqual(9, result.Count()); Assert.AreEqual(20, total); }
public void EntityService_Can_Get_Paged_Media_Children() { var folderType = ServiceContext.MediaTypeService.Get(1031); var imageMediaType = ServiceContext.MediaTypeService.Get(1032); var root = MockedMedia.CreateMediaFolder(folderType, -1); ServiceContext.MediaService.Save(root); for (int i = 0; i < 10; i++) { var c1 = MockedMedia.CreateMediaImage(imageMediaType, root.Id); ServiceContext.MediaService.Save(c1); } var service = ServiceContext.EntityService; long total; var entities = service.GetPagedChildren(root.Id, UmbracoObjectTypes.Media, 0, 6, out total).ToArray(); Assert.That(entities.Length, Is.EqualTo(6)); Assert.That(total, Is.EqualTo(10)); entities = service.GetPagedChildren(root.Id, UmbracoObjectTypes.Media, 1, 6, out total).ToArray(); Assert.That(entities.Length, Is.EqualTo(4)); Assert.That(total, Is.EqualTo(10)); }
public void Get_Property_Value_Uses_Converter() { var mType = MockedContentTypes.CreateImageMediaType(); //lets add an RTE to this mType.PropertyGroups.First().PropertyTypes.Add( new PropertyType(Guid.Parse(Constants.PropertyEditors.TinyMCEv3), DataTypeDatabaseType.Nvarchar) { Alias = "content", Name = "Rich Text", DataTypeDefinitionId = -87 //tiny mce }); ServiceContext.ContentTypeService.Save(mType); var media = MockedMedia.CreateMediaImage(mType, -1); media.Properties["content"].Value = "<div>This is some content</div>"; ServiceContext.MediaService.Save(media); var publishedMedia = GetNode(media.Id); var propVal = publishedMedia.GetPropertyValue("content"); Assert.IsInstanceOf <IHtmlString>(propVal); Assert.AreEqual("<div>This is some content</div>", propVal.ToString()); var propVal2 = publishedMedia.GetPropertyValue <IHtmlString>("content"); Assert.IsInstanceOf <IHtmlString>(propVal2); Assert.AreEqual("<div>This is some content</div>", propVal2.ToString()); var propVal3 = publishedMedia.GetPropertyValue("Content"); Assert.IsInstanceOf <IHtmlString>(propVal3); Assert.AreEqual("<div>This is some content</div>", propVal3.ToString()); }
public void Can_Perform_Multiple_Adds_On_MediaRepository_With_RepositoryResolver() { // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); var mediaTypeRepository = RepositoryResolver.Current.ResolveByType <IMediaTypeRepository>(unitOfWork); var repository = RepositoryResolver.Current.ResolveByType <IMediaRepository>(unitOfWork); var mediaType = mediaTypeRepository.Get(1032); var file = MockedMedia.CreateMediaFile(mediaType, -1); // Act repository.AddOrUpdate(file); unitOfWork.Commit(); var image = MockedMedia.CreateMediaImage(mediaType, -1); repository.AddOrUpdate(image); unitOfWork.Commit(); // Assert Assert.That(file.HasIdentity, Is.True); Assert.That(image.HasIdentity, Is.True); Assert.That(file.Name, Is.EqualTo("Test File")); Assert.That(image.Name, Is.EqualTo("Test Image")); Assert.That(file.ContentTypeId, Is.EqualTo(mediaType.Id)); Assert.That(image.ContentTypeId, Is.EqualTo(mediaType.Id)); }
public void Rebuild_Some_Xml_Structures() { var provider = new PetaPocoUnitOfWorkProvider(Logger); var unitOfWork = provider.GetUnitOfWork(); MediaTypeRepository mediaTypeRepository; using (var repository = CreateRepository(unitOfWork, out mediaTypeRepository)) { var mediaType = mediaTypeRepository.Get(1032); IMedia img50 = null; for (var i = 0; i < 100; i++) { var image = MockedMedia.CreateMediaImage(mediaType, -1); repository.AddOrUpdate(image); if (i == 50) { img50 = image; } } unitOfWork.Commit(); // assume this works (see other test) repository.RebuildXmlStructures(media => new XElement("test"), 10); //delete some xml unitOfWork.Database.Execute("DELETE FROM cmsContentXml WHERE nodeId < " + img50.Id); Assert.AreEqual(50, unitOfWork.Database.ExecuteScalar <int>("SELECT COUNT(*) FROM cmsContentXml")); repository.RebuildXmlStructures(media => new XElement("test"), 10); Assert.AreEqual(103, unitOfWork.Database.ExecuteScalar <int>("SELECT COUNT(*) FROM cmsContentXml")); } }
public void EntityService_Can_Get_Paged_Media_Descendants() { var folderType = ServiceContext.MediaTypeService.Get(1031); var imageMediaType = ServiceContext.MediaTypeService.Get(1032); var root = MockedMedia.CreateMediaFolder(folderType, -1); ServiceContext.MediaService.Save(root); var count = 0; for (int i = 0; i < 10; i++) { var c1 = MockedMedia.CreateMediaImage(imageMediaType, root.Id); ServiceContext.MediaService.Save(c1); count++; for (int j = 0; j < 5; j++) { var c2 = MockedMedia.CreateMediaImage(imageMediaType, c1.Id); ServiceContext.MediaService.Save(c2); count++; } } var service = ServiceContext.EntityService; long total; var entities = service.GetPagedDescendants(root.Id, UmbracoObjectTypes.Media, 0, 31, out total).ToArray(); Assert.That(entities.Length, Is.EqualTo(31)); Assert.That(total, Is.EqualTo(60)); entities = service.GetPagedDescendants(root.Id, UmbracoObjectTypes.Media, 1, 31, out total).ToArray(); Assert.That(entities.Length, Is.EqualTo(29)); Assert.That(total, Is.EqualTo(60)); }
public void Can_Generate_Xml_Representation_Of_Media() { // Arrange var mediaType = MockedContentTypes.CreateImageMediaType("image2"); ServiceContext.MediaTypeService.Save(mediaType); // reference, so static ctor runs, so event handlers register // and then, this will reset the width, height... because the file does not exist, of course ;-( var loggerFactory = NullLoggerFactory.Instance; var scheme = Mock.Of <IMediaPathScheme>(); var contentSettings = new ContentSettings(); var mediaFileManager = new MediaFileManager(Mock.Of <IFileSystem>(), scheme, loggerFactory.CreateLogger <MediaFileManager>(), ShortStringHelper); var ignored = new FileUploadPropertyEditor(DataValueEditorFactory, mediaFileManager, Microsoft.Extensions.Options.Options.Create(contentSettings), DataTypeService, LocalizationService, LocalizedTextService, UploadAutoFillProperties, ContentService); var media = MockedMedia.CreateMediaImage(mediaType, -1); media.WriterId = -1; // else it's zero and that's not a user and it breaks the tests ServiceContext.MediaService.Save(media, Constants.Security.SuperUserId); // so we have to force-reset these values because the property editor has cleared them media.SetValue(Constants.Conventions.Media.Width, "200"); media.SetValue(Constants.Conventions.Media.Height, "200"); media.SetValue(Constants.Conventions.Media.Bytes, "100"); media.SetValue(Constants.Conventions.Media.Extension, "png"); var nodeName = media.ContentType.Alias.ToSafeAlias(ShortStringHelper); var urlName = media.GetUrlSegment(ShortStringHelper, new[] { new DefaultUrlSegmentProvider(ShortStringHelper) }); // Act XElement element = media.ToXml(Factory.GetRequiredService <IEntityXmlSerializer>()); // Assert Assert.That(element, Is.Not.Null); Assert.That(element.Name.LocalName, Is.EqualTo(nodeName)); Assert.AreEqual(media.Id.ToString(), (string)element.Attribute("id")); Assert.AreEqual(media.ParentId.ToString(), (string)element.Attribute("parentID")); Assert.AreEqual(media.Level.ToString(), (string)element.Attribute("level")); Assert.AreEqual(media.SortOrder.ToString(), (string)element.Attribute("sortOrder")); Assert.AreEqual(media.CreateDate.ToString("s"), (string)element.Attribute("createDate")); Assert.AreEqual(media.UpdateDate.ToString("s"), (string)element.Attribute("updateDate")); Assert.AreEqual(media.Name, (string)element.Attribute("nodeName")); Assert.AreEqual(urlName, (string)element.Attribute("urlName")); Assert.AreEqual(media.Path, (string)element.Attribute("path")); Assert.AreEqual("", (string)element.Attribute("isDoc")); Assert.AreEqual(media.ContentType.Id.ToString(), (string)element.Attribute("nodeType")); Assert.AreEqual(media.GetCreatorProfile(ServiceContext.UserService).Name, (string)element.Attribute("writerName")); Assert.AreEqual(media.CreatorId.ToString(), (string)element.Attribute("writerID")); Assert.IsNull(element.Attribute("template")); Assert.AreEqual(media.Properties[Constants.Conventions.Media.File].GetValue().ToString(), element.Elements(Constants.Conventions.Media.File).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Width].GetValue().ToString(), element.Elements(Constants.Conventions.Media.Width).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Height].GetValue().ToString(), element.Elements(Constants.Conventions.Media.Height).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Bytes].GetValue().ToString(), element.Elements(Constants.Conventions.Media.Bytes).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Extension].GetValue().ToString(), element.Elements(Constants.Conventions.Media.Extension).Single().Value); }
public void To_Media_Item_Dto() { var contentType = MockedContentTypes.CreateImageMediaType(); var content = MockedMedia.CreateMediaImage(contentType, -1); var result = Mapper.Map <IMedia, ContentItemDto <IMedia> >(content); AssertContentItem(result, content); }
private void CreateTestDataForPagingTests(out List <IContent> createdContent, out List <IMember> createdMembers, out List <IMedia> createdMedia) { //Create content createdContent = new List <IContent>(); var contentType = MockedContentTypes.CreateBasicContentType("blah"); ServiceContext.ContentTypeService.Save(contentType); for (int i = 0; i < 10; i++) { var c1 = MockedContent.CreateBasicContent(contentType); ServiceContext.ContentService.Save(c1); createdContent.Add(c1); } //Create media createdMedia = new List <IMedia>(); var imageType = MockedContentTypes.CreateImageMediaType("myImage"); ServiceContext.MediaTypeService.Save(imageType); for (int i = 0; i < 10; i++) { var c1 = MockedMedia.CreateMediaImage(imageType, -1); ServiceContext.MediaService.Save(c1); createdMedia.Add(c1); } // Create members var memberType = MockedContentTypes.CreateSimpleMemberType("simple"); ServiceContext.MemberTypeService.Save(memberType); createdMembers = MockedMember.CreateSimpleMember(memberType, 10).ToList(); ServiceContext.MemberService.Save(createdMembers); var relType = ServiceContext.RelationService.GetRelationTypeByAlias(Constants.Conventions.RelationTypes.RelatedMediaAlias); // Relate content to media foreach (var content in createdContent) { foreach (var media in createdMedia) { ServiceContext.RelationService.Relate(content.Id, media.Id, relType); } } // Relate members to media foreach (var member in createdMembers) { foreach (var media in createdMedia) { ServiceContext.RelationService.Relate(member.Id, media.Id, relType); } } }
public void Can_Generate_Xml_Representation_Of_Media() { // Arrange var mediaType = MockedContentTypes.CreateImageMediaType("image2"); ServiceContext.ContentTypeService.Save(mediaType); // reference, so static ctor runs, so event handlers register // and then, this will reset the width, height... because the file does not exist, of course ;-( var ignored = new FileUploadPropertyEditor(); var media = MockedMedia.CreateMediaImage(mediaType, -1); ServiceContext.MediaService.Save(media, 0); // so we have to force-reset these values because the property editor has cleared them media.SetValue(Constants.Conventions.Media.Width, "200"); media.SetValue(Constants.Conventions.Media.Height, "200"); media.SetValue(Constants.Conventions.Media.Bytes, "100"); media.SetValue(Constants.Conventions.Media.Extension, "png"); var nodeName = media.ContentType.Alias.ToSafeAliasWithForcingCheck(); var urlName = media.GetUrlSegment(); // Act XElement element = media.ToXml(); // Assert Assert.That(element, Is.Not.Null); Assert.That(element.Name.LocalName, Is.EqualTo(nodeName)); Assert.AreEqual(media.Id.ToString(), (string)element.Attribute("id")); Assert.AreEqual(media.ParentId.ToString(), (string)element.Attribute("parentID")); Assert.AreEqual(media.Level.ToString(), (string)element.Attribute("level")); Assert.AreEqual(media.SortOrder.ToString(), (string)element.Attribute("sortOrder")); Assert.AreEqual(media.CreateDate.ToString("s"), (string)element.Attribute("createDate")); Assert.AreEqual(media.UpdateDate.ToString("s"), (string)element.Attribute("updateDate")); Assert.AreEqual(media.Name, (string)element.Attribute("nodeName")); Assert.AreEqual(urlName, (string)element.Attribute("urlName")); Assert.AreEqual(media.Path, (string)element.Attribute("path")); Assert.AreEqual("", (string)element.Attribute("isDoc")); Assert.AreEqual(media.ContentType.Id.ToString(), (string)element.Attribute("nodeType")); Assert.AreEqual(media.GetCreatorProfile().Name, (string)element.Attribute("writerName")); Assert.AreEqual(media.CreatorId.ToString(), (string)element.Attribute("writerID")); Assert.AreEqual(media.Version.ToString(), (string)element.Attribute("version")); Assert.AreEqual("0", (string)element.Attribute("template")); Assert.AreEqual(media.Properties[Constants.Conventions.Media.File].Value.ToString(), element.Elements(Constants.Conventions.Media.File).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Width].Value.ToString(), element.Elements(Constants.Conventions.Media.Width).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Height].Value.ToString(), element.Elements(Constants.Conventions.Media.Height).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Bytes].Value.ToString(), element.Elements(Constants.Conventions.Media.Bytes).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Extension].Value.ToString(), element.Elements(Constants.Conventions.Media.Extension).Single().Value); }
public void Get_Paged_Relations_By_Relation_Type() { //Create content var createdContent = new List <IContent>(); var contentType = MockedContentTypes.CreateBasicContentType("blah"); ServiceContext.ContentTypeService.Save(contentType); for (int i = 0; i < 10; i++) { var c1 = MockedContent.CreateBasicContent(contentType); ServiceContext.ContentService.Save(c1); createdContent.Add(c1); } //Create media var createdMedia = new List <IMedia>(); var imageType = MockedContentTypes.CreateImageMediaType("myImage"); ServiceContext.MediaTypeService.Save(imageType); for (int i = 0; i < 10; i++) { var c1 = MockedMedia.CreateMediaImage(imageType, -1); ServiceContext.MediaService.Save(c1); createdMedia.Add(c1); } var relType = ServiceContext.RelationService.GetRelationTypeByAlias(Constants.Conventions.RelationTypes.RelatedMediaAlias); // Relate content to media foreach (var content in createdContent) { foreach (var media in createdMedia) { ServiceContext.RelationService.Relate(content.Id, media.Id, relType); } } var paged = ServiceContext.RelationService.GetPagedByRelationTypeId(relType.Id, 0, 51, out var totalRecs).ToList(); Assert.AreEqual(100, totalRecs); Assert.AreEqual(51, paged.Count); //next page paged.AddRange(ServiceContext.RelationService.GetPagedByRelationTypeId(relType.Id, 1, 51, out totalRecs)); Assert.AreEqual(100, totalRecs); Assert.AreEqual(100, paged.Count); Assert.IsTrue(createdContent.Select(x => x.Id).ContainsAll(paged.Select(x => x.ParentId))); Assert.IsTrue(createdMedia.Select(x => x.Id).ContainsAll(paged.Select(x => x.ChildId))); }
public void To_Media_Item_Simple() { var contentType = MockedContentTypes.CreateImageMediaType(); var content = MockedMedia.CreateMediaImage(contentType, -1); var result = Mapper.Map <IMedia, ContentItemBasic <ContentPropertyBasic, IMedia> >(content); AssertBasics(result, content); foreach (var p in content.Properties) { AssertBasicProperty(result, p); } }
public void To_Media_Item_Dto() { var contentType = MockedContentTypes.CreateImageMediaType(); var content = MockedMedia.CreateMediaImage(contentType, -1); FixUsers(content); var result = Mapper.Map <IMedia, ContentPropertyCollectionDto>(content); foreach (var p in content.Properties) { AssertProperty(result, p); } }
public void Can_Get_Media_By_Path() { var mediaService = ServiceContext.MediaService; var mediaType = MockedContentTypes.CreateImageMediaType("Image2"); ServiceContext.MediaTypeService.Save(mediaType); var media = MockedMedia.CreateMediaImage(mediaType, -1); mediaService.Save(media); var mediaPath = "/media/test-image.png"; var resolvedMedia = mediaService.GetMediaByPath(mediaPath); Assert.IsNotNull(resolvedMedia); Assert.That(resolvedMedia.GetValue(Constants.Conventions.Media.File).ToString() == mediaPath); }
public void EntityService_Can_Get_Paged_Media_Descendants_Without_Recycled() { var folderType = ServiceContext.MediaTypeService.Get(1031); var imageMediaType = ServiceContext.MediaTypeService.Get(1032); var root = MockedMedia.CreateMediaFolder(folderType, -1); ServiceContext.MediaService.Save(root); var toDelete = new List <IMedia>(); for (int i = 0; i < 10; i++) { var c1 = MockedMedia.CreateMediaImage(imageMediaType, root.Id); ServiceContext.MediaService.Save(c1); if (i % 2 == 0) { toDelete.Add(c1); } for (int j = 0; j < 5; j++) { var c2 = MockedMedia.CreateMediaImage(imageMediaType, c1.Id); ServiceContext.MediaService.Save(c2); } } foreach (var content in toDelete) { ServiceContext.MediaService.MoveToRecycleBin(content); } var service = ServiceContext.EntityService; long total; //search at root to see if it returns recycled var entities = service.GetPagedDescendants(UmbracoObjectTypes.Media, 0, 1000, out total, includeTrashed: false) .Select(x => x.Id) .ToArray(); foreach (var media in toDelete) { Assert.IsFalse(entities.Contains(media.Id)); } }
public void Can_Get_Paged_Children_Dont_Get_Descendants() { var mediaType = MockedContentTypes.CreateImageMediaType("Image2"); ServiceContext.MediaTypeService.Save(mediaType); // only add 9 as we also add a folder with children for (int i = 0; i < 9; i++) { var m1 = MockedMedia.CreateMediaImage(mediaType, -1); ServiceContext.MediaService.Save(m1); } var mediaTypeForFolder = MockedContentTypes.CreateImageMediaType("Folder2"); ServiceContext.MediaTypeService.Save(mediaTypeForFolder); var mediaFolder = MockedMedia.CreateMediaFolder(mediaTypeForFolder, -1); ServiceContext.MediaService.Save(mediaFolder); for (int i = 0; i < 10; i++) { var m1 = MockedMedia.CreateMediaImage(mediaType, mediaFolder.Id); ServiceContext.MediaService.Save(m1); } var service = ServiceContext.MediaService; long total; // children in root including the folder - not the descendants in the folder var entities = service.GetPagedChildren(-1, 0, 6, out total).ToArray(); Assert.That(entities.Length, Is.EqualTo(6)); Assert.That(total, Is.EqualTo(10)); entities = service.GetPagedChildren(-1, 1, 6, out total).ToArray(); Assert.That(entities.Length, Is.EqualTo(4)); Assert.That(total, Is.EqualTo(10)); // children in folder entities = service.GetPagedChildren(mediaFolder.Id, 0, 6, out total).ToArray(); Assert.That(entities.Length, Is.EqualTo(6)); Assert.That(total, Is.EqualTo(10)); entities = service.GetPagedChildren(mediaFolder.Id, 1, 6, out total).ToArray(); Assert.That(entities.Length, Is.EqualTo(4)); Assert.That(total, Is.EqualTo(10)); }
public void To_Media_Item_Simple() { var contentType = MockedContentTypes.CreateImageMediaType(); Mock.Get(_contentTypeService).As <IContentTypeBaseService>().Setup(x => x.Get(It.IsAny <int>())).Returns(contentType); var content = MockedMedia.CreateMediaImage(contentType, -1); FixUsers(content); var result = Mapper.Map <IMedia, ContentItemBasic <ContentPropertyBasic> >(content); AssertBasics(result, content); foreach (var p in content.Properties) { AssertBasicProperty(result, p); } }
public void Can_Generate_Xml_Representation_Of_Media() { // Arrange var mediaType = MockedContentTypes.CreateImageMediaType("image2"); ServiceContext.ContentTypeService.Save(mediaType); var media = MockedMedia.CreateMediaImage(mediaType, -1); ServiceContext.MediaService.Save(media, 0); var nodeName = media.ContentType.Alias.ToSafeAliasWithForcingCheck(); var urlName = media.GetUrlSegment(); // Act XElement element = media.ToXml(); // Assert Assert.That(element, Is.Not.Null); Assert.That(element.Name.LocalName, Is.EqualTo(nodeName)); Assert.AreEqual(media.Id.ToString(), (string)element.Attribute("id")); Assert.AreEqual(media.ParentId.ToString(), (string)element.Attribute("parentID")); Assert.AreEqual(media.Level.ToString(), (string)element.Attribute("level")); Assert.AreEqual(media.SortOrder.ToString(), (string)element.Attribute("sortOrder")); Assert.AreEqual(media.CreateDate.ToString("s"), (string)element.Attribute("createDate")); Assert.AreEqual(media.UpdateDate.ToString("s"), (string)element.Attribute("updateDate")); Assert.AreEqual(media.Name, (string)element.Attribute("nodeName")); Assert.AreEqual(urlName, (string)element.Attribute("urlName")); Assert.AreEqual(media.Path, (string)element.Attribute("path")); Assert.AreEqual("", (string)element.Attribute("isDoc")); Assert.AreEqual(media.ContentType.Id.ToString(), (string)element.Attribute("nodeType")); Assert.AreEqual(media.GetCreatorProfile().Name, (string)element.Attribute("writerName")); Assert.AreEqual(media.CreatorId.ToString(), (string)element.Attribute("writerID")); Assert.AreEqual(media.Version.ToString(), (string)element.Attribute("version")); Assert.AreEqual("0", (string)element.Attribute("template")); Assert.AreEqual(media.Properties[Constants.Conventions.Media.File].Value.ToString(), element.Elements(Constants.Conventions.Media.File).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Width].Value.ToString(), element.Elements(Constants.Conventions.Media.Width).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Height].Value.ToString(), element.Elements(Constants.Conventions.Media.Height).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Bytes].Value.ToString(), element.Elements(Constants.Conventions.Media.Bytes).Single().Value); Assert.AreEqual(media.Properties[Constants.Conventions.Media.Extension].Value.ToString(), element.Elements(Constants.Conventions.Media.Extension).Single().Value); }