public async Task UploadImage_Success() { // create image var img = MockHelpers.CreateImage(DateTime.Now.ToShortDateString(), "Caption 1", "location 1"); // create a new user var pkUser = await MockHelpers.CreateNewUser(1, Guid.NewGuid().ToString(), "*****@*****.**", "Password@123", _fixture); // get user manager var _userManager = MockHelpers.CreateMockUserManager(pkUser); var user = new ClaimsPrincipal(new ClaimsIdentity(new List <Claim> { new Claim(ClaimTypes.NameIdentifier, pkUser.Id)//, //new Claim(ClaimTypes.Name, pkUser.UserName), // new Claim(ClaimTypes.Email, pkUser.Email), //new Claim(ClaimTypes.Role, "Admin") })); // upload image var imgCont = new ImageController(_webHostEnvironment.Object, _configurationManager.Object, _userManager, _fixture.Context, _imapper); imgCont.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; var response = await imgCont.UploadImage(img) as StatusCodeResult; Assert.Equal(201, response.StatusCode); //success }
public async Task Get_ImageByID(string idType, int statusCode) { // create image var img = MockHelpers.CreateImage(DateTime.Now.ToShortDateString(), "Caption 1", "location 1"); // create a new user var pkUser = await MockHelpers.CreateNewUser(1, Guid.NewGuid().ToString(), "*****@*****.**", "Password@123", _fixture); // get user manager var _userManager = MockHelpers.CreateMockUserManager(pkUser); var user = new ClaimsPrincipal(new ClaimsIdentity(new List <Claim> { new Claim(ClaimTypes.NameIdentifier, pkUser.Id)//, //new Claim(ClaimTypes.Name, pkUser.UserName), // new Claim(ClaimTypes.Email, pkUser.Email), //new Claim(ClaimTypes.Role, "Admin") })); // upload image var imgCont = new ImageController(_webHostEnvironment.Object, _configurationManager.Object, _userManager, _fixture.Context, _imapper); imgCont.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; ActionResult upRes = await imgCont.UploadImage(img); var imgContr = new ImageController(_webHostEnvironment.Object, _configurationManager.Object, _userManager, _fixture.Context, _imapper); if (idType == "invalid") { var response = await imgContr.GetById(Guid.NewGuid().ToString()) as ObjectResult; Assert.Equal(statusCode, response.StatusCode); return; } // upload an image var filtContr = new FilterController(_fixture.Context, _imapper); var responseV = await filtContr.Images() as ObjectResult; var imlst = responseV.Value as List <PikchaImageFilterDTO>; var responseS = await imgContr.GetById(imlst[0].Id) as ObjectResult; Assert.Equal(statusCode, responseS.StatusCode); }
private async Task createImages() { // create a new user var pkUser = await MockHelpers.CreateNewUser(41, Guid.NewGuid().ToString(), "*****@*****.**", "Password@123", _fixture); var authImgContr = CreateAuthenticatedImageController(pkUser); DirectoryInfo d = new DirectoryInfo(@"C:\Users\tshanmuganat\Documents\hr-photos"); //Assuming Test is your Folder FileInfo[] Files = d.GetFiles(); //Getting Text files Random rnd = new Random(); foreach (FileInfo file in Files) { var img = MockHelpers.CreateImage(DateTime.Now.ToShortDateString(), "Caption 1", "location 1", file.FullName); if (rnd.Next(1, 100) > 50) { img.Signature = @"TestPhotos\d01de11c-3317-4dff-b3f7-7f71f68b8210-inv.png"; } else { img.Signature = @"TestPhotos\d01de11c-3317-4dff-b3f7-7f71f68b8210-org.png"; } ActionResult upRes = await authImgContr.UploadImage(img); } DirectoryInfo dir = new DirectoryInfo(@"C:\Users\tshanmuganat\Documents\Projects\pikcha\dev\PikchaWebApp\PikchaWebApp.Test\bin\Debug\netcoreapp3.0\wwwroot\Uploads\Images\Thumbnail"); //Assuming Test is your Folder FileInfo[] dFiles = dir.GetFiles(""); //Getting Text files string str = ""; foreach (FileInfo file in dFiles) { str = str + ", " + file.Name; } using (System.IO.StreamWriter file = new System.IO.StreamWriter(System.IO.File.Create("uploadedImages.txt"))) { file.WriteLine(str); } }
public async Task Post_UploadAvatarImage(string idType, int statusCode) { // TODO : Add login function // Arrange var configurationSection = new Mock <IConfigurationSection>(); configurationSection.Setup(a => a.Value).Returns("uploads/avatars"); _configurationManager.Setup(a => a.GetSection("UploadDirectories:Avatar")).Returns(configurationSection.Object); // create a new user string userId = Guid.NewGuid().ToString(); var pkUser = await MockHelpers.CreateNewUser(51, userId, "*****@*****.**", "Password@123", _fixture); var profCntrl = CreateAuthenticatedProfileController(pkUser); // create a file string imagePath = "wwwroot/TestPhotos/black-white.jpg"; var img = MockHelpers.CreateImage(DateTime.Now.ToShortDateString(), "Caption 1", "location 1", imagePath); using (var ms = new MemoryStream()) { //ms.Position = 0; img.ImageFile.CopyTo(ms); var fileBytes = ms.ToArray(); string imgContent = Convert.ToBase64String(fileBytes); var json = "{ \"avatarContent\": \"" + imgContent + "\"}"; var bytes = System.Text.Encoding.UTF8.GetBytes(json.ToCharArray()); var stream = new MemoryStream(bytes); //ms.Position = 0; profCntrl.HttpContext.Request.Body = stream; // act on the Base64 data var result = await profCntrl.UploadAvatarImage(pkUser.Id) as ObjectResult; Assert.Equal(statusCode, result.StatusCode); var qUsr = result.Value as AuthenticatedUserDTO; Assert.True(File.Exists(PikchaConstants.PIKCHA_IMAGE_UPLOAD_ROOT_FOLDER + qUsr.Avatar)); } }
public async Task Post_IncrementViewCount() { var img = MockHelpers.CreateImage(DateTime.Now.ToShortDateString(), "Caption 1", "location 1"); // create a new user var pkUser = await MockHelpers.CreateNewUser(41, Guid.NewGuid().ToString(), "*****@*****.**", "Password@123", _fixture); var authImgContr = CreateAuthenticatedImageController(pkUser); ActionResult upRes = await authImgContr.UploadImage(img); var imgContr = new ImageController(_webHostEnvironment.Object, _configurationManager.Object, _userManager, _fixture.Context, _imapper); var pkImg = _fixture.Context.PikchaImages.First(); var responseV = await imgContr.IncrementViewCount(pkImg.Id) as ObjectResult; Assert.Equal(200, responseV.StatusCode); Assert.True(pkImg.Views.Count() > 0); }
//[InlineData("invalid", StatusCodes.Status500InternalServerError)] public async Task <PikchaUser> Post_Promote_Photo_Grapher_Test(string idType, int statusCode) { // create a new user string userId = Guid.NewGuid().ToString(); var pkUser = await MockHelpers.CreateNewUser(31, userId, "*****@*****.**", "Password@123", _fixture); var profCntrl = CreateAuthenticatedProfileController(pkUser); // create a photo grapaher role var roleManager = _fixture.ServiceProvider.GetRequiredService <RoleManager <IdentityRole> >(); var role = new IdentityRole(); //role.Id = Guid.NewGuid().ToString(); role.Name = PikchaConstants.PIKCHA_ROLES_ARTIST_NAME; var s = roleManager.CreateAsync(role).Result; // create a file string imagePath = "wwwroot/TestPhotos/black-white.jpg"; var img = MockHelpers.CreateImage(DateTime.Now.ToShortDateString(), "Caption 1", "location 1", imagePath); if (idType == "invalid") { using (var ms = new MemoryStream()) { img.ImageFile.CopyTo(ms); //var fileBytes = ms.ToArray(); //string imgContent = Convert.ToBase64String(fileBytes); profCntrl.HttpContext.Request.Body = ms;; var result2 = await profCntrl.PromoteUserToArtist(Guid.NewGuid().ToString()) as ObjectResult; Assert.Equal(statusCode, result2.StatusCode); return(pkUser); } } using (var ms = new MemoryStream()) { //ms.Position = 0; img.ImageFile.CopyTo(ms); var fileBytes = ms.ToArray(); string imgContent = Convert.ToBase64String(fileBytes); var json = "{ \"signatureContent\": \"" + imgContent + "\"}"; var bytes = System.Text.Encoding.UTF8.GetBytes(json.ToCharArray()); var stream = new MemoryStream(bytes); //ms.Position = 0; profCntrl.HttpContext.Request.Body = stream; // act on the Base64 data var result = await profCntrl.PromoteUserToArtist(pkUser.Id) as ObjectResult; Assert.Equal(statusCode, result.StatusCode); var qUsr = result.Value as AuthenticatedUserDTO; Assert.Contains(PikchaConstants.PIKCHA_ROLES_ARTIST_NAME, qUsr.Roles); return(pkUser); } }
public async Task Get_ReturnsJson_ListofImages(string type, int start, int count, int expectedStatus) { // create image var img = MockHelpers.CreateImage(DateTime.Now.ToShortDateString(), "Caption 1", "location 1"); // create a new user var pkUser = await MockHelpers.CreateNewUser(1, Guid.NewGuid().ToString(), "*****@*****.**", "Password@123", _fixture); // get user manager var _userManager = MockHelpers.CreateMockUserManager(pkUser); var user = new ClaimsPrincipal(new ClaimsIdentity(new List <Claim> { new Claim(ClaimTypes.NameIdentifier, pkUser.Id)//, //new Claim(ClaimTypes.Name, pkUser.UserName), // new Claim(ClaimTypes.Email, pkUser.Email), //new Claim(ClaimTypes.Role, "Admin") })); // upload image var imgCont = new ImageController(_webHostEnvironment.Object, _configurationManager.Object, _userManager, _fixture.Context, _imapper); imgCont.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user } }; ActionResult upRes = await imgCont.UploadImage(img); // check uploaded images are there var filtContr = new FilterController(_fixture.Context, _imapper); ObjectResult response; if (type == "artistId") { response = await filtContr.Images(type, start, count, pkUser.Id) as ObjectResult; } else { response = await filtContr.Images(type, start, count) as ObjectResult; } Assert.Equal(expectedStatus, response.StatusCode); if (expectedStatus != StatusCodes.Status200OK) { return; } //var okResult = Assert.IsType<OkObjectResult>(response); if (type == "pikcha100") { var imlst = response.Value as List <PikchaImageFilterDTO>; // validate uploaded image Assert.True(imlst.Exists(i => i.Title == img.Title)); Assert.True(File.Exists(PikchaConstants.PIKCHA_IMAGE_UPLOAD_ROOT_FOLDER + imlst[0].Thumbnail)); Assert.True(File.Exists(PikchaConstants.PIKCHA_IMAGE_UPLOAD_ROOT_FOLDER + imlst[0].Watermark)); return; } var lst = response.Value as List <PikchaImageFilterDTO>; // validate uploaded image Assert.True(lst.Exists(i => i.Title == img.Title)); Assert.True(File.Exists(PikchaConstants.PIKCHA_IMAGE_UPLOAD_ROOT_FOLDER + lst[0].Thumbnail)); Assert.True(File.Exists(PikchaConstants.PIKCHA_IMAGE_UPLOAD_ROOT_FOLDER + lst[0].Watermark)); }