public async Task <ResponseData <LoginResult> > RegisterAsync([FromBody] LoginRequest request) { var a = await db.CarOwners.FirstAsync(); var result = await CarOwnerService.Register(db, request.Username, request.Password); switch (result.Type) { case LoginOrRegisterResultType.Succeed: var r = new LoginResult(result.CarOwner); HttpContext.Session.SetInt32("user", r.CarOwner.ID); return(new ResponseData <LoginResult>() { Message = "注册成功", Data = r }); case LoginOrRegisterResultType.Existed: return(new ResponseData <LoginResult>() { Succeed = false, Message = "用户名已存在", }); default: throw new NotImplementedException(); } }
public async Task TestVehicleController_GetCarsByCarOwner() { using (var transaction = Fixture.Connection.BeginTransaction()) { using (var context = Fixture.CreateContext(transaction)) { using var serviceScope = _serviceProvider.CreateScope(); var appEnvirontent = serviceScope.ServiceProvider.GetRequiredService <IWebHostEnvironment>(); var seed = new SeedData(new VehicleImageRetriever(), appEnvirontent); var userManager = serviceScope.ServiceProvider.GetRequiredService <ICustomUserManager>(); var userRoleManager = serviceScope.ServiceProvider.GetRequiredService <ICustomRoleManager>(); await seed.Initialize(userManager, userRoleManager, context); var carsRepo = new CarsRepository(context); var carOwnerRepo = new CarOwnersRepository(context); var identitySevice = new Mock <IIdentityService>(); var carService = new CarService(carsRepo, carOwnerRepo, identitySevice.Object); var carOwnerService = new CarOwnerService(carOwnerRepo); var mockLogger = new Mock <ILogger <VehiclesController> >(); ILogger <VehiclesController> logger = mockLogger.Object; var mockWebHostingEnvironment = new Mock <IWebHostEnvironment>(); var mockCustomAuthorizationService = new Mock <ICustomAuthorizationService>(); mockCustomAuthorizationService .Setup(m => m.AuthorizeAsync( It.IsAny <ClaimsPrincipal>(), It.IsAny <object>(), It.IsAny <IAuthorizationRequirement>()) ).ReturnsAsync(AuthorizationResult.Success); var controller = new VehiclesController( carService, logger, new UriService("https://localhost:5010"), new CustomMapper( new VehicleImageRetriever()), mockWebHostingEnvironment.Object, new VehicleImageRetriever(), mockCustomAuthorizationService.Object ); Random rnd = new Random(); var index = rnd.Next(0, context.Users.AsNoTracking().ToHashSet().Count); var owner = context.Users.AsNoTracking().ToList()[index]; var resJson = JsonConvert.SerializeObject(owner); var deserializedOwner = JsonConvert.DeserializeObject <OwnerRequest>(resJson); var res = await controller.GetCarsByCarOwner(deserializedOwner); Assert.NotNull(res); Assert.IsAssignableFrom <OkObjectResult>(res); } } }
public async Task TestOwnersAPI() { //Arrange var service = new CarOwnerService(configuration); //Act var result = await service.CallAPI(); //Assert result.Should().NotBeNullOrEmpty(); result.Should().BeOfType <string>(); }
//public async Task<IActionResult> OnPostCarOwnerList_DoPostBackAsync(string[] Grid1_fields, int Grid1_pageIndex, string Grid1_sortField, string Grid1_sortDirection, // string ttbSearchMessage, string rblEnableStatus, int ddlGridPageSize, string actionType, int[] deletedRowIDs) //{ // List<int> ids = new List<int>(); // if (deletedRowIDs != null) // { // ids.AddRange(deletedRowIDs); // } // var ttbSearchMessageUI = UIHelper.TwinTriggerBox("ttbSearchMessage"); // if (actionType == "trigger1") // { // ttbSearchMessageUI.Text(String.Empty); // ttbSearchMessageUI.ShowTrigger1(false); // // 清空传入的搜索值 // ttbSearchMessage = String.Empty; // } // else if (actionType == "trigger2") // { // ttbSearchMessageUI.ShowTrigger1(true); // } // else if (actionType == "delete") // { // // 在操作之前进行权限检查 // if (!CheckPower("CoreUserDelete")) // { // CheckPowerFailWithAlert(); // return UIHelper.Result(); // } // ParkDB.CarOwners.Where(u => ids.Contains(u.ID)).ToList().ForEach(u => ParkDB.CarOwners.Remove(u)); // await ParkDB.SaveChangesAsync(); // } // else if (actionType == "enable") // { // // 在操作之前进行权限检查 // if (!CheckPower("CoreUserEdit")) // { // CheckPowerFailWithAlert(); // return UIHelper.Result(); // } // ParkDB.CarOwners.Where(u => ids.Contains(u.ID)).ToList().ForEach(u => u.Enabled = true); // await DB.SaveChangesAsync(); // } // else if (actionType == "pswd") // { // if (!CheckPower("CoreUserEdit")) // { // CheckPowerFailWithAlert(); // return UIHelper.Result(); // } // foreach (var owner in ParkDB.CarOwners.Where(u => ids.Contains(u.ID)).ToList()) // { // await CarOwnerService.SetPasswordAsync(ParkDB, owner, "123456"); // } // ShowNotify("已重设密码为123456"); // await DB.SaveChangesAsync(); // } // else if (actionType == "disable") // { // // 在操作之前进行权限检查 // if (!CheckPower("CoreUserEdit")) // { // CheckPowerFailWithAlert(); // return UIHelper.Result(); // } // DB.Users.Where(u => ids.Contains(u.ID)).ToList().ForEach(u => u.Enabled = false); // await DB.SaveChangesAsync(); // } // return await LoadGrid(Grid1_fields, Grid1_pageIndex, Grid1_sortField, Grid1_sortDirection, ttbSearchMessage, ddlGridPageSize, actionType); //} protected async override Task OtherPostBackAsync(string actionType, List <int> ids) { if (actionType == "pswd") { foreach (var owner in ParkDB.CarOwners.Where(u => ids.Contains(u.ID)).ToList()) { await CarOwnerService.SetPasswordAsync(ParkDB, owner, "123456"); } ShowNotify("已重设密码为123456"); await DB.SaveChangesAsync(); } }
public async Task TestVehicleController_GetOwnersByCarUniqueNumber() { using (var transaction = Fixture.Connection.BeginTransaction()) { using (var context = Fixture.CreateContext(transaction)) { using var serviceScope = _serviceProvider.CreateScope(); var appEnvirontent = serviceScope.ServiceProvider.GetRequiredService <IWebHostEnvironment>(); var seed = new SeedData(new VehicleImageRetriever(), appEnvirontent); var userManager = serviceScope.ServiceProvider.GetRequiredService <ICustomUserManager>(); var userRoleManager = serviceScope.ServiceProvider.GetRequiredService <ICustomRoleManager>(); await seed.Initialize(userManager, userRoleManager, context); var carsRepo = new CarsRepository(context); var carOwnerRepo = new CarOwnersRepository(context); var identitySevice = new Mock <IIdentityService>(); var carService = new CarService(carsRepo, carOwnerRepo, identitySevice.Object); var carOwnerService = new CarOwnerService(carOwnerRepo); var mockLogger = new Mock <ILogger <VehiclesController> >(); ILogger <VehiclesController> logger = mockLogger.Object; var controller = new CarOwnersController( carOwnerService, logger, new UriService("https://localhost:5010"), new CustomMapper( new VehicleImageRetriever()) ); Random rnd = new Random(); var index = rnd.Next(0, context.Cars.AsNoTracking().ToHashSet().Count); var car = context.Cars.AsNoTracking().ToList()[index]; var res = await controller.GetOwnersByCarUniqueNumber(car.UniqueNumber); Assert.NotNull(res); Assert.IsAssignableFrom <OkObjectResult>(res); } } }
public async Task JSONTesting() { //Arrange var service = new CarOwnerService(configuration); //Act var result = await service.CallAPI(); // Deserialise the Json owner data from string and cast into an IEnumerable list of Owner. Action act = () => { JsonConvert.DeserializeObject <IEnumerable <Owner> >(result); }; //Assert act.Should().NotThrow <Exception>(); var owners = JsonConvert.DeserializeObject <IEnumerable <Owner> >(result); owners.Should().HaveCount(10); // Should have 10 items from the original API }
public async Task <ResponseData <object> > ChangePasswordAsync([FromBody] ChangePasswordRequest request) { if (!request.IsValid()) { return(new ResponseData <object>() { Succeed = false, Message = "用户验证失败" }); } CarOwner carOwner = await db.CarOwners.FindAsync(request.UserID); if (carOwner == null) { return(new ResponseData <object>(null, false, "找不到用户")); } if (carOwner.Password != CarOwnerService.CreateMD5(carOwner.Username + request.OldPassword)) { return(new ResponseData <object>(null, false, "旧密码错误")); } await CarOwnerService.SetPasswordAsync(db, carOwner, request.NewPassword); return(new ResponseData <object>()); }
static void Main(string[] args) { IAuctionCarService auctionCarService = new AuctionCarService(); IAuctionLotService auctionLotService = new AuctionLotService(); IAuctionPhotoService auctionPhotoService = new AuctionPhotoService(); ICarService carService = new CarService(); ICarOwnerService carOwnerService = new CarOwnerService(); IPhotosService photosService = new PhotosService(); IUsersCarService usersCarService = new UsersCarService(); IUsersPhotosService usersPhotosService = new UsersPhotosService(); IOrderService orderService = new OrderService(); IUserService userService = new UserService(); try { auctionCarService.ChangeBrand(""); } catch (EmptyStringException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } Console.WriteLine(); try { auctionCarService.ChangeCondition("nn"); } catch (ConditionException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } Console.WriteLine(); try { auctionCarService.ChangeFuel("Gg"); } catch (FuelException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } Console.WriteLine(); try { auctionCarService.ChangeYear(0); } catch (InvalidYearException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } Console.WriteLine(); try { auctionCarService.ChangeHP(0); } catch (ZeroException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } Console.WriteLine(); try { userService.ChangeEmail("fsdf"); } catch (InvalidEmailException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } Console.WriteLine(); try { userService.ChangeLogin(""); } catch (InvalidLoginException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } Console.WriteLine(); try { userService.ChangePassword(""); } catch (InvalidPasswordException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } Console.WriteLine(); try { userService.ChangeRole(""); } catch (InvalidRoleException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } Console.WriteLine(); try { usersPhotosService.ChangePhoto("fs"); } catch (InvalidPathException e) { Console.WriteLine("Message : " + e.Message + "\nTime : " + DateTime.Now + "\nStacktrace : " + e.StackTrace + "\nThread : " + Thread.CurrentThread + "\nProcessId : " + Process.GetCurrentProcess().Id); } }
static void Main(string[] args) { IAuctionCarService auctionCarService = new AuctionCarService(); IAuctionLotService auctionLotService = new AuctionLotService(); IAuctionPhotoService auctionPhotoService = new AuctionPhotoService(); ICarService carService = new CarService(); ICarOwnerService carOwnerService = new CarOwnerService(); IPhotosService photosService = new PhotosService(); IUsersCarService usersCarService = new UsersCarService(); IUsersPhotosService usersPhotosService = new UsersPhotosService(); IOrderService orderService = new OrderService(); IUserService userService = new UserService(); Console.WriteLine("==== Auction cars ====\n"); foreach (var item in auctionCarService.GetCars()) { Console.WriteLine(item + "\n"); } Console.WriteLine(); Console.WriteLine("==== Auction lots ====\n"); foreach (var item in auctionLotService.GetLots()) { Console.WriteLine(item + "\n"); } Console.WriteLine(); Console.WriteLine("==== Auction photos ====\n"); foreach (var item in auctionPhotoService.GetPhotos()) { Console.WriteLine(item + "\n"); } Console.WriteLine(); Console.WriteLine("==== Cars ====\n"); foreach (var item in carService.GetCars()) { Console.WriteLine(item + "\n"); } Console.WriteLine(); Console.WriteLine("==== Car owners ====\n"); foreach (var item in carOwnerService.GetCarOwners()) { Console.WriteLine(item + "\n"); } Console.WriteLine(); Console.WriteLine("==== Photos ====\n"); foreach (var item in photosService.GetPhotos()) { Console.WriteLine(item + "\n"); } Console.WriteLine(); Console.WriteLine("==== Users cars ====\n"); foreach (var item in usersCarService.GetUsersCars()) { Console.WriteLine(item + "\n"); } Console.WriteLine(); Console.WriteLine("==== Users photos ====\n"); foreach (var item in usersPhotosService.GetUsersPhotos()) { Console.WriteLine(item + "\n"); } Console.WriteLine(); Console.WriteLine("==== Orders ====\n"); foreach (var item in orderService.GetOrders()) { Console.WriteLine(item + "\n"); } Console.WriteLine(); Console.WriteLine("==== Users ====\n"); foreach (var item in userService.GetUsers()) { Console.WriteLine(item + "\n"); } }