示例#1
0
        public void ShouldThrowExceptionWhenAddMediaFailsWithAlbumLookup()
        {
            _mediaRepository = new Mock<IMediaRepository>();
            _fileHelper = new Mock<IFileHelper>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false))
                .Throws(new Exception());

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            Assert.Throws<BlogException>(() => _mediaLogic.Add(new Common.Contracts.User { Id = 1 }, 
                "foo", "foobarbaz.gif", _rootPath + @"\TestImages\foobarbaz.gif", "image/gif"));
        }
示例#2
0
        public void ShouldThrowExceptionWhenDeleteMediaFailsOnMediaRepository()
        {
            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Media, bool>>>(), false))
                .Throws(new Exception());

            _albumRepository = new Mock<IAlbumRepository>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _fileHelper = new Mock<IFileHelper>();

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            Assert.Throws<BlogException>(() => _mediaLogic.Delete(1));
        }
示例#3
0
        public void ShouldAddMediaWithNonExistingAlbum()
        {
            var guid = Guid.NewGuid().ToString();
            var dbResult = new Media
            {
                MediaId = 5,
                AlbumId = 1,
                Album = _albums[0],
                FileName = "foobarbaz.gif",
                MediaPath = _rootPath + @"\AddedImages\1\foo\" + guid,
                CustomName = guid,
                MediaType = "image/gif",
                MediaUrl = string.Format("https://{0}/blogapi/api/media/{1}", UserHelper.GetLocalIpAddress(), guid),
                ThumbnailPath = _rootPath + @"\AddedImages\1\foo\" + guid + @"\tn",
                ThumbnailUrl = string.Format("https://{0}/blogapi/api/media/{1}/{2}", UserHelper.GetLocalIpAddress(), guid, "thumb")
            };

            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Add(It.IsAny<Media>()))
                .Returns(dbResult);

            _fileHelper = new Mock<IFileHelper>();
            _fileHelper.Setup(a => a.MoveFile(It.IsAny<string>(), It.IsAny<string>())).Returns(true);
            _fileHelper.Setup(a => a.CreateDirectory(It.IsAny<string>())).Returns(true);

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false))
                .Returns(new List<Album>());
            _albumRepository.Setup(a => a.Add(It.IsAny<Album>()))
                .Returns(new Album { AlbumId = 1, AlbumName = "foo" });

            _imageHelper = new Mock<IImageHelper>();
            _imageHelper.Setup(a => a.GenerateImagePath(It.IsAny<int>(), It.IsAny<string>(),
                It.IsAny<string>())).Returns(_rootPath + @"\AddedImages\1\" + guid);
            _imageHelper.Setup(a => a.CreateGifThumbnail(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()))
                .Returns(true);

            _configurationHelper = new Mock<IConfigurationHelper>();
            _configurationHelper.Setup(a => a.GetAppSettings(It.IsAny<string>())).Returns("tn_");

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = _mediaLogic.Add(new Common.Contracts.User { Id = 1 }, "foo", "foobarbaz.gif",
                _rootPath + @"\TestImages\foobarbaz.gif", "image/gif");

            Assert.NotNull(result);
        }
示例#4
0
        public void ShouldReturnTrueOnDeleteMedia()
        {
            var media = _media.Where(a => a.MediaId == 1).ToList();

            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Media, bool>>>(), false))
                .Returns(media);

            _fileHelper = new Mock<IFileHelper>();
            _albumRepository = new Mock<IAlbumRepository>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            
            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = _mediaLogic.Delete(1);

            Assert.IsTrue(result);
        }
示例#5
0
        public void ShouldReturnFalseWhenDeleteMediaFoundNoRecord()
        {
            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Media, bool>>>(), false))
                .Returns(new List<Media>());

            _albumRepository = new Mock<IAlbumRepository>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _fileHelper = new Mock<IFileHelper>();

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = _mediaLogic.Delete(1);

            Assert.IsFalse(result);
        }
示例#6
0
        public void ShouldThrowExceptionWhenAddMediaFailsWithMediaRepository()
        {
            var guid = Guid.NewGuid().ToString();
            var album = _albums.Where(a => a.IsUserDefault).ToList();
            
            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Add(It.IsAny<Media>())).Throws(new Exception());

            _fileHelper = new Mock<IFileHelper>();
            _fileHelper.Setup(a => a.MoveFile(It.IsAny<string>(), It.IsAny<string>())).Returns(true);
            _fileHelper.Setup(a => a.CreateDirectory(It.IsAny<string>())).Returns(true);

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false))
                .Returns(album);

            _imageHelper = new Mock<IImageHelper>();
            _imageHelper.Setup(a => a.GenerateImagePath(It.IsAny<int>(), It.IsAny<string>(),
                It.IsAny<string>())).Returns(_rootPath + @"\AddedImages\1\" + guid);
            _imageHelper.Setup(a => a.CreateGifThumbnail(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()))
                .Returns(true);

            _configurationHelper = new Mock<IConfigurationHelper>();
            _configurationHelper.Setup(a => a.GetAppSettings(It.IsAny<string>())).Returns("tn_");

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            Assert.Throws<BlogException>(() => _mediaLogic.Add(new Common.Contracts.User { Id = 1 }, 
                "default", "foobarbaz.gif", _rootPath + @"\TestImages\foobarbaz.gif", "image/gif"));
        }
示例#7
0
        public void ShouldThrowExceptionWhenAddMediaByObjectFailedDueToMimeTypeError()
        {
            var objParam = new Common.Contracts.Media
            {
                AlbumId = 1,
                MediaType = "jpg"
            };

            _mediaRepository = new Mock<IMediaRepository>();
            _fileHelper = new Mock<IFileHelper>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _albumRepository = new Mock<IAlbumRepository>();

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            Assert.Throws<BlogException>(() => _mediaLogic.Add(objParam, 1));
        }
示例#8
0
        public void ShouldReturnEmptyListWhenGetMediaByAlbumFoundNoRecords()
        {
            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Media, bool>>>(), true))
                .Returns(new List<Media>());

            _albumRepository = new Mock<IAlbumRepository>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _fileHelper = new Mock<IFileHelper>();

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = _mediaLogic.GetByAlbum(1);

            Assert.NotNull(result);
            Assert.AreEqual(0, result.Count);
        }
示例#9
0
        public void ShouldThrowExceptionWhenGetMediaByNameFails()
        {
            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Media, bool>>>(), true))
                .Throws(new Exception());

            _albumRepository = new Mock<IAlbumRepository>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _fileHelper = new Mock<IFileHelper>();

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            Assert.Throws<BlogException>(() => _mediaLogic.GetByName("wigglefudge"));
        }
示例#10
0
        public void ShouldGetMediaByUser()
        {
            var albums = _albums.Where(a => a.UserId == 1).ToList();
            foreach (var a in albums)
            {
                a.Media = new List<Media>();
                var tMedia = _media.Where(m => m.AlbumId == a.AlbumId).ToList();
                foreach (var m in tMedia)
                {
                    a.Media.Add(m);
                }
            }

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(),
                It.IsAny<Func<IQueryable<Album>, IOrderedQueryable<Album>>>(), It.IsAny<string>()))
                .Returns(albums);

            _mediaRepository = new Mock<IMediaRepository>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _fileHelper = new Mock<IFileHelper>();

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object, 
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = _mediaLogic.GetByUser(1);

            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(1, result[0].AlbumId);
            Assert.AreEqual(1, result[1].AlbumId);
            Assert.AreEqual(2, result[2].AlbumId);
        }
示例#11
0
        public void ShouldThrowExceptionWhenGetMediaByUserFails()
        {
            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(),
                It.IsAny<Func<IQueryable<Album>, IOrderedQueryable<Album>>>(), It.IsAny<string>()))
                .Throws(new Exception());

            _mediaRepository = new Mock<IMediaRepository>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _fileHelper = new Mock<IFileHelper>();

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            Assert.Throws<BlogException>(() => _mediaLogic.GetByUser(1));
        }
示例#12
0
        public void ShouldThrowExceptionWhenAddMediaByObjectFailsToAddMedia()
        {
            var guid = Guid.NewGuid().ToString();
            var album = _albums.Where(a => a.AlbumId == 1).ToList();
            var objParam = new Common.Contracts.Media
            {
                AlbumId = 1,
                MediaType = "image/jpeg"
            };

            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Add(It.IsAny<Media>())).Throws(new Exception());

            _configurationHelper = new Mock<IConfigurationHelper>();
            _configurationHelper.Setup(a => a.GetAppSettings(It.IsAny<string>())).Returns("tn_");

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false))
                .Returns(album);

            _imageHelper = new Mock<IImageHelper>();
            _imageHelper.Setup(a => a.GenerateImagePath(It.IsAny<int>(), It.IsAny<string>(),
                It.IsAny<string>())).Returns(_rootPath + @"\AddedImages\1\" + guid);
            _imageHelper.Setup(a => a.SaveImage(It.IsAny<byte[]>(), It.IsAny<string>(), It.IsAny<string>()))
                .Returns(true);
            _imageHelper.Setup(a => a.CreateThumbnail(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()))
                .Returns(true);

            _fileHelper = new Mock<IFileHelper>();
            _fileHelper.Setup(a => a.CreateDirectory(It.IsAny<string>())).Returns(true);

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            Assert.Throws<BlogException>(() => _mediaLogic.Add(objParam, 1));
        }
示例#13
0
        public void ShouldThrowExceptionWhenAddMediaByObjectFailsToGenerateImagePath()
        {
            var album = _albums.Where(a => a.AlbumId == 1).ToList();
            var objParam = new Common.Contracts.Media
            {
                AlbumId = 1,
                MediaType = "image/jpg"
            };

            _mediaRepository = new Mock<IMediaRepository>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _fileHelper = new Mock<IFileHelper>();

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false))
                .Returns(album);

            _imageHelper = new Mock<IImageHelper>();
            _imageHelper.Setup(a => a.GenerateImagePath(It.IsAny<int>(), It.IsAny<string>(),
                It.IsAny<string>())).Returns(string.Empty);

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var ex = Assert.Throws<BlogException>(() => _mediaLogic.Add(objParam, 1));
            Assert.AreEqual("Error generating media directory path", ex.Message);
        }
示例#14
0
        public void ShouldThrowExceptionWhenAddMediaByObjectFailedToAddAlbum()
        {
            var objParam = new Common.Contracts.Media
            {
                AlbumId = 1,
                MediaType = "image/jpg"
            };

            _mediaRepository = new Mock<IMediaRepository>();
            _fileHelper = new Mock<IFileHelper>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false)).Returns(new List<Album>());
            _albumRepository.Setup(a => a.Add(It.IsAny<Album>())).Returns((Album)null);
            
            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            Assert.Throws<BlogException>(() => _mediaLogic.Add(objParam, 1));
        }
示例#15
0
        public void ShouldThrowExceptionWhenAddMediaFailsWithAlbumAdd()
        {
            _mediaRepository = new Mock<IMediaRepository>();
            _fileHelper = new Mock<IFileHelper>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false))
                .Returns(new List<Album>());
            _albumRepository.Setup(a => a.Add(It.IsAny<Album>()))
                .Returns((Album)null);

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = Assert.Throws<BlogException>(() => _mediaLogic.Add(new Common.Contracts.User { Id = 1 },
                "foo", "foobarbaz.gif", _rootPath + @"\TestImages\foobarbaz.gif", "image/gif"));
            Assert.AreEqual("Error creating or finding album", result.Message);
        }
示例#16
0
        public void ShouldGetMediaById()
        {
            var media = _media.Where(a => a.MediaId == 1).ToList();

            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Media, bool>>>(), true))
                .Returns(media);

            _albumRepository = new Mock<IAlbumRepository>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _fileHelper = new Mock<IFileHelper>();

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = _mediaLogic.Get(1);

            Assert.NotNull(result);
            Assert.AreEqual(1, result.Id);
        }
示例#17
0
        public void ShouldThrowExceptionWhenAddMediaFailsWithMovingMediaToProperPath()
        {
            _mediaRepository = new Mock<IMediaRepository>();
            _configurationHelper = new Mock<IConfigurationHelper>();

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false))
                .Returns(new List<Album>());
            _albumRepository.Setup(a => a.Add(It.IsAny<Album>()))
                .Returns(new Album { AlbumId = 1, AlbumName = "foo" });

            _imageHelper = new Mock<IImageHelper>();
            _imageHelper.Setup(a => a.GenerateImagePath(It.IsAny<int>(), It.IsAny<string>(),
                It.IsAny<string>())).Returns(_rootPath + @"\AddedImages\1\");

            _fileHelper = new Mock<IFileHelper>();
            _fileHelper.Setup(a => a.MoveFile(It.IsAny<string>(), It.IsAny<string>())).Returns(false);
            _fileHelper.Setup(a => a.CreateDirectory(It.IsAny<string>())).Returns(true);

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = Assert.Throws<BlogException>(() => _mediaLogic.Add(new Common.Contracts.User { Id = 1 },
                "foo", "foobarbaz.gif", _rootPath + @"\TestImages\foobarbaz.gif", "image/gif"));
            Assert.AreEqual("Error moving media to correct directory", result.Message);
        }
示例#18
0
        public void ShouldReturnErrorWhenGetMediaByIdFoundNoRecord()
        {
            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Media, bool>>>(), true))
                .Returns(new List<Media>());

            _albumRepository = new Mock<IAlbumRepository>();
            _imageHelper = new Mock<IImageHelper>();
            _configurationHelper = new Mock<IConfigurationHelper>();
            _fileHelper = new Mock<IFileHelper>();

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = _mediaLogic.Get(1);

            Assert.NotNull(result.Error);
            Assert.AreEqual((int)Constants.Error.RecordNotFound, result.Error.Id);
            Assert.AreEqual("Media with Id 1 not found", result.Error.Message);
        }
示例#19
0
        public void ShouldAddMediaByObjectWithAlbumNotFound()
        {
            var guid = Guid.NewGuid().ToString();
            var album = _albums.Where(a => a.AlbumId == 1).ToList();
            var image = Image.FromFile(_rootPath + @"\TestImages\Jpg_Image.jpg");
            var bytes = new ImageHelper().ImageToByteArray(image);
            var objParam = new Common.Contracts.Media
            {
                AlbumId = 1,
                MediaContent = bytes,
                MediaType = "image/jpg"
            };
            var dbResult = new Media
            {
                MediaId = 5,
                AlbumId = 1,
                Album = _albums[0],
                FileName = "foobarbaz.jpg",
                MediaPath = _rootPath + @"\AddedImages\1\foo\" + guid,
                CustomName = guid,
                MediaType = "image/jpg",
                MediaUrl = string.Format("https://{0}/blogapi/api/media/{1}", UserHelper.GetLocalIpAddress(), guid),
                ThumbnailPath = _rootPath + @"\AddedImages\1\foo\" + guid + @"\tn",
                ThumbnailUrl = string.Format("https://{0}/blogapi/api/media/{1}/{2}", UserHelper.GetLocalIpAddress(), guid, "thumb")
            };
            image.Dispose();

            _mediaRepository = new Mock<IMediaRepository>();
            _mediaRepository.Setup(a => a.Add(It.IsAny<Media>()))
                .Returns(dbResult);

            _fileHelper = new Mock<IFileHelper>();
            _fileHelper.Setup(a => a.MoveFile(It.IsAny<string>(), It.IsAny<string>())).Returns(true);
            _fileHelper.Setup(a => a.CreateDirectory(It.IsAny<string>())).Returns(true);

            _albumRepository = new Mock<IAlbumRepository>();
            _albumRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Album, bool>>>(), false)).Returns(new List<Album>());
            _albumRepository.Setup(a => a.Add(It.IsAny<Album>())).Returns(album.FirstOrDefault());

            _imageHelper = new Mock<IImageHelper>();
            _imageHelper.Setup(a => a.GenerateImagePath(It.IsAny<int>(), It.IsAny<string>(),
                It.IsAny<string>())).Returns(_rootPath + @"\AddedImages\1\" + guid);
            _imageHelper.Setup(a => a.CreateThumbnail(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>()))
                .Returns(true);
            _imageHelper.Setup(a => a.SaveImage(It.IsAny<byte[]>(), It.IsAny<string>(), It.IsAny<string>()))
                .Returns(true);

            _configurationHelper = new Mock<IConfigurationHelper>();
            _configurationHelper.Setup(a => a.GetAppSettings(It.IsAny<string>())).Returns("tn_");

            _mediaLogic = new MediaLogic(_mediaRepository.Object, _albumRepository.Object,
                _imageHelper.Object, _configurationHelper.Object, _fileHelper.Object);

            var result = _mediaLogic.Add(objParam, 1);

            Assert.NotNull(result);
        }
示例#20
0
 public MediaBrowser()
 {
     mediaLogic = new MediaLogic();
     InitializeComponent();
 }