private MediaPermissionsResourceHandler CreateHandler(int nodeId, int startMediaId = -1)
        {
            Mock <IBackOfficeSecurityAccessor> mockBackOfficeSecurityAccessor = CreateMockBackOfficeSecurityAccessor(startMediaId);
            MediaPermissions contentPermissions = CreateMediaPermissions(nodeId);

            return(new MediaPermissionsResourceHandler(mockBackOfficeSecurityAccessor.Object, contentPermissions));
        }
Exemplo n.º 2
0
        public void No_Access_By_Path()
        {
            // Arrange
            IUser user      = CreateUser(id: 9, startMediaId: 9876);
            var   mediaMock = new Mock <IMedia>();

            mediaMock.Setup(m => m.Path).Returns("-1,1234,5678");
            IMedia media            = mediaMock.Object;
            var    mediaServiceMock = new Mock <IMediaService>();

            mediaServiceMock.Setup(x => x.GetById(1234)).Returns(media);
            IMediaService mediaService      = mediaServiceMock.Object;
            var           entityServiceMock = new Mock <IEntityService>();

            entityServiceMock.Setup(x => x.GetAllPaths(It.IsAny <UmbracoObjectTypes>(), It.IsAny <int[]>()))
            .Returns(new[] { Mock.Of <TreeEntityPath>(entity => entity.Id == 9876 && entity.Path == "-1,9876") });
            IEntityService entityService    = entityServiceMock.Object;
            var            mediaPermissions = new MediaPermissions(mediaService, entityService, AppCaches.Disabled);

            // Act
            MediaPermissions.MediaAccess result = mediaPermissions.CheckPermissions(user, 1234, out _);

            // Assert
            Assert.AreEqual(MediaPermissions.MediaAccess.Denied, result);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="MediaPermissionsResourceHandler"/> class.
 /// </summary>
 /// <param name="backOfficeSecurityAccessor">Accessor for back-office security.</param>
 /// <param name="mediaPermissions">Helper for media authorization checks.</param>
 public MediaPermissionsResourceHandler(
     IBackOfficeSecurityAccessor backOfficeSecurityAccessor,
     MediaPermissions mediaPermissions)
 {
     _backOfficeSecurityAccessor = backOfficeSecurityAccessor;
     _mediaPermissions           = mediaPermissions;
 }
        private MediaPermissionsQueryStringHandler CreateHandler(IHttpContextAccessor httpContextAccessor, int nodeId, int startMediaId = -1)
        {
            Mock <IBackOfficeSecurityAccessor> mockBackOfficeSecurityAccessor = CreateMockBackOfficeSecurityAccessor(startMediaId);
            Mock <IEntityService> mockEntityService = CreateMockEntityService();
            MediaPermissions      mediaPermissions  = CreateMediaPermissions(mockEntityService.Object, nodeId);

            return(new MediaPermissionsQueryStringHandler(mockBackOfficeSecurityAccessor.Object, httpContextAccessor, mockEntityService.Object, mediaPermissions));
        }
Exemplo n.º 5
0
        public void Access_To_Root_By_Path()
        {
            // Arrange
            IUser          user              = CreateUser();
            var            mediaServiceMock  = new Mock <IMediaService>();
            IMediaService  mediaService      = mediaServiceMock.Object;
            var            entityServiceMock = new Mock <IEntityService>();
            IEntityService entityService     = entityServiceMock.Object;
            var            mediaPermissions  = new MediaPermissions(mediaService, entityService, AppCaches.Disabled);

            // Act
            MediaPermissions.MediaAccess result = mediaPermissions.CheckPermissions(user, -1, out _);

            // Assert
            Assert.AreEqual(MediaPermissions.MediaAccess.Granted, result);
        }
Exemplo n.º 6
0
        public void No_Access_To_Recycle_Bin_By_Path()
        {
            // Arrange
            IUser         user              = CreateUser(startMediaId: 1234);
            var           mediaServiceMock  = new Mock <IMediaService>();
            IMediaService mediaService      = mediaServiceMock.Object;
            var           entityServiceMock = new Mock <IEntityService>();

            entityServiceMock.Setup(x => x.GetAllPaths(It.IsAny <UmbracoObjectTypes>(), It.IsAny <int[]>()))
            .Returns(new[] { Mock.Of <TreeEntityPath>(entity => entity.Id == 1234 && entity.Path == "-1,1234") });
            IEntityService entityService    = entityServiceMock.Object;
            var            mediaPermissions = new MediaPermissions(mediaService, entityService, AppCaches.Disabled);

            // Act
            MediaPermissions.MediaAccess result = mediaPermissions.CheckPermissions(user, -21, out _);

            // Assert
            Assert.AreEqual(MediaPermissions.MediaAccess.Denied, result);
        }
Exemplo n.º 7
0
        public void Returns_Not_Found_When_No_Media_Found()
        {
            // Arrange
            IUser user      = CreateUser(id: 9);
            var   mediaMock = new Mock <IMedia>();

            mediaMock.Setup(m => m.Path).Returns("-1,1234,5678");
            IMedia media            = mediaMock.Object;
            var    mediaServiceMock = new Mock <IMediaService>();

            mediaServiceMock.Setup(x => x.GetById(0)).Returns(media);
            IMediaService  mediaService      = mediaServiceMock.Object;
            var            entityServiceMock = new Mock <IEntityService>();
            IEntityService entityService     = entityServiceMock.Object;
            var            mediaPermissions  = new MediaPermissions(mediaService, entityService, AppCaches.Disabled);

            // Act/assert
            MediaPermissions.MediaAccess result = mediaPermissions.CheckPermissions(user, 1234, out _);
            Assert.AreEqual(MediaPermissions.MediaAccess.NotFound, result);
        }
Exemplo n.º 8
0
        public void Access_Allowed_By_Path()
        {
            // Arrange
            IUser user      = CreateUser(id: 9);
            var   mediaMock = new Mock <IMedia>();

            mediaMock.Setup(m => m.Path).Returns("-1,1234,5678");
            IMedia media            = mediaMock.Object;
            var    mediaServiceMock = new Mock <IMediaService>();

            mediaServiceMock.Setup(x => x.GetById(1234)).Returns(media);
            IMediaService  mediaService      = mediaServiceMock.Object;
            var            entityServiceMock = new Mock <IEntityService>();
            IEntityService entityService     = entityServiceMock.Object;
            var            mediaPermissions  = new MediaPermissions(mediaService, entityService, AppCaches.Disabled);

            // Act
            MediaPermissions.MediaAccess result = mediaPermissions.CheckPermissions(user, 1234, out _);

            // Assert
            Assert.AreEqual(MediaPermissions.MediaAccess.Granted, result);
        }
Exemplo n.º 9
0
        protected void ParseMultiMedia(Stream m_Stream, string sMediaType)
        {
            MediaPermissions permissions1 = MediaPermissions.Create(false, ETempFileOpt.TempAlways);
            MediaClipData    data1        = MediaClipData.Create(FileSpec.Create(true, m_Stream, "<embedded content>"));

            data1.ExtDataType      = sMediaType;
            data1.MediaPermissions = permissions1;
            MediaPlayParameters parameters1 = MediaPlayParameters.Create(false);
            PDFDict             dict1       = Library.CreateDict();

            dict1["RC"] = PDF.O(0);
            dict1["F"]  = PDF.O(0);
            PDFDict dict2 = Library.CreateDict();

            dict2["S"]     = PDF.N("F");
            dict1["D"]     = dict2;
            parameters1.BE = new MCS_MHBE(dict1);
            RenditionMedia media1 = RenditionMedia.Create(parameters1);

            media1.MediaClip = data1;
            this.resource    = media1;
        }
Exemplo n.º 10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MediaPermissionsQueryStringHandler"/> class.
 /// </summary>
 /// <param name="backOfficeSecurityAccessor">Accessor for back-office security.</param>
 /// <param name="httpContextAccessor">Accessor for the HTTP context of the current request.</param>
 /// <param name="entityService">Service for entity operations.</param>
 /// <param name="mediaPermissions">Helper for media authorization checks.</param>
 public MediaPermissionsQueryStringHandler(
     IBackOfficeSecurityAccessor backOfficeSecurityAccessor,
     IHttpContextAccessor httpContextAccessor,
     IEntityService entityService,
     MediaPermissions mediaPermissions)
     : base(backOfficeSecurityAccessor, httpContextAccessor, entityService) => _mediaPermissions = mediaPermissions;