public async Task LoginControllerTwoFactorFailWrongCode() { var data = new LoginDataHandler(); var logic = new CoreApiLogicHandler(); data.ResultConfig = new UserConfig() { IsTwoFactor = true, TwoFactorAuth = "654321", IsTwoFactorActive = true }; var login = LoginData.GetTwoFactor(); var confirm = ModelConfirm <UserConfig> .CreateSuccess(data.ResultConfig); data.Result.Setup(m => m.Execute(It.IsAny <UserById>())).Returns(StandardUser); data.Result.Setup(m => m.Execute(It.IsAny <Persist <UserConfig> >())).Returns(confirm); var controller = new LoginController(data, Cloud, logic); var result = await controller.TwoFactor(login) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserById>()), Times.Once); }
public async Task LoginControllerReconnect() { var data = new LoginDataHandler(); var logic = new CoreApiLogicHandler(); var auth = LoginData.GetAuth(); var reconnect = LoginData.GetReconnect(); data.Result.Setup(m => m.Execute(It.IsAny <UserById>())).Returns(StandardUser); logic.Result.Setup(m => m.Execute(It.IsAny <SigninAuth>())).Returns(auth); var controller = new LoginController(data, Cloud, logic); var result = await controller.Reconnect(reconnect) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeTrue(); logic.Result.Verify(s => s.Execute(It.IsAny <SigninAuth>()), Times.Once); reconnect.Verification.Should().BeNullOrEmpty(); reconnect.Id.Should().NotBeEmpty(); reconnect.Key.Should().NotBeEmpty(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserById>()), Times.Once); }
public async Task VisibleControllerDeleteFailed() { var data = new VisibleApiDataHandler(); var logic = new CoreApiLogicHandler(); var model = VisibleData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <VisibleFile> >())).Returns(model); logic.Result.Setup(m => m.Execute(It.IsAny <FileDelete>())) .Returns(ActionConfirm.CreateFailure("It went wrong")); var controller = new VisibleController(data, Cloud, logic) { CurrentUser = StandardUser }; var result = await controller.Delete(VisibleData.FirstId) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); var check = result.Value as ConfirmViewModel; check.Success.Should().BeFalse(); logic.Result.Verify(s => s.Execute(It.IsAny <FileDelete>()), Times.Once()); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <VisibleFile> >()), Times.Once); }
public async Task LoginControllerTwoFactorFailNoUser() { var data = new LoginDataHandler(); var logic = new CoreApiLogicHandler(); data.ResultConfig = new UserConfig() { IsTwoFactor = true, TwoFactorAuth = "123456", IsTwoFactorActive = true }; var login = LoginData.GetTwoFactor(); data.Result.Setup(m => m.Execute(It.IsAny <UserById>())).Returns(null); var controller = new LoginController(data, Cloud, logic); var result = await controller.TwoFactor(login) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserById>()), Times.Once); }
public async Task ProcessFileLogicVid() { var file = new FakeFile { ContentType = "video", FileName = "vid.mp4" }; var data = new FakeApiDataEntityHandler <VisibleFile>(); var logic = new CoreApiLogicHandler(); var cloud = new FakeCloudHandler(); var command = new ProcessFile { DataHandler = data, Source = file, CloudHandler = cloud, LogicHandler = logic, CurrentUser = StandardUser }; await command.Execute(); cloud.HasExecuted.Should().BeFalse(); logic.HasExecuted.Should().BeFalse(); data.HasExecuted.Should().BeFalse(); data.HasCommitted.Should().BeFalse(); logic.Result.Verify(s => s.Execute(It.IsAny <ProcessImage>()), Times.Never()); }
public async Task ProcessFileLogicImgNoTag() { var file = new FakeFile { ContentType = string.Empty }; var data = new FakeApiDataEntityHandler <VisibleFile>(); var logic = new CoreApiLogicHandler(); var cloud = new FakeCloudHandler(); logic.Result.Setup(m => m.Execute(It.IsAny <ProcessImage>())) .Returns(ActionConfirm.CreateSuccess("File Processed")); var command = new ProcessFile { DataHandler = data, Source = file, CloudHandler = cloud, LogicHandler = logic, CurrentUser = StandardUser }; await command.Execute(); cloud.HasExecuted.Should().BeFalse(); logic.HasExecuted.Should().BeTrue(); data.HasExecuted.Should().BeFalse(); data.HasCommitted.Should().BeFalse(); logic.Result.Verify(s => s.Execute(It.IsAny <ProcessImage>()), Times.Once()); }
public async Task SigninAuthLogicSignup() { var logic = new CoreApiLogicHandler(); logic.Result.Setup(m => m.Execute(It.IsAny <WriteToken>())).Returns(true); var command = new SigninAuth { LogicHandler = logic, Login = StandardUser, Config = UserConfigData.GetFirst(), Tenant = TenantData.GetFirst(), Settings = new FakeSettings() }; await command.Execute(); logic.HasExecuted.Should().BeTrue(); logic.Result.Should().NotBeNull(); command.Result.Verification.Should().BeNullOrEmpty(); command.Result.Key.Should().NotBeNullOrEmpty(); command.Result.Message.Should().BeNullOrEmpty(); command.Result.Config.Should().NotBeNull(); command.Result.Id.Should().NotBeNullOrEmpty(); command.Result.Success.Should().BeTrue(); }
public async Task LoginControllerReconnectInActive() { var data = new LoginDataHandler(); var logic = new CoreApiLogicHandler(); var model = UserData.GetFirst(); model.IsActive = false; var reconnect = LoginData.GetReconnect(); data.Result.Setup(m => m.Execute(It.IsAny <UserById>())).Returns(model); var controller = new LoginController(data, Cloud, logic); var result = await controller.Reconnect(reconnect) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeFalse(); logic.Result.Verify(s => s.Execute(It.IsAny <SigninAuth>()), Times.Never); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserById>()), Times.Once); }
public async Task LoginControllerAuthTwoFactor() { var data = new LoginDataHandler(); var logic = new CoreApiLogicHandler(); data.ResultConfig = new UserConfig() { IsTwoFactor = true }; var login = LoginData.GetLogin(); var confirm = ModelConfirm <UserConfig> .CreateSuccess(data.ResultConfig); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(StandardUser); data.Result.Setup(m => m.Execute(It.IsAny <Persist <UserConfig> >())).Returns(confirm); logic.Result.Setup(m => m.Execute(It.IsAny <SimpleNotify>())).Returns(ActionConfirm.CreateSuccess("ok")); var controller = new LoginController(data, Cloud, logic); var result = await controller.Auth(login) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeTrue(); logic.Result.Verify(s => s.Execute(It.IsAny <SigninAuth>()), Times.Never); logic.Result.Verify(s => s.Execute(It.IsAny <SimpleNotify>()), Times.Once); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }
public async Task SignupUserLogicMissingEntry() { var data = new LoginDataHandler(); var logic = new CoreApiLogicHandler(); var cloud = new FakeCloudHandler(); var viewModel = LoginData.GetSignup(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Tenant> >())).Returns(null); var command = new SignupUser { DataHandler = data, CloudHandler = cloud, LogicHandler = logic, Input = viewModel, Result = ActionConfirm.CreateFailure("Failed") }; await command.Execute(); command.Result.Success.Should().BeFalse(); logic.HasExecuted.Should().BeFalse(); logic.Result.Verify(s => s.Execute(It.IsAny <SimpleNotify>()), Times.Never()); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Tenant> >()), Times.Once()); data.Result.Verify(s => s.Execute(It.IsAny <UserSave>()), Times.Never()); }
public async Task ForgotControllerCodeTestTooMany() { var data = new ForgotDataHandler(); var logic = new CoreApiLogicHandler(); data.ResultConfig = new UserConfig() { ForgotCounter = 11 }; var start = ForgotData.GetStart(); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(StandardUser); var controller = new ForgotController(data, Cloud, logic); var result = await controller.Code(start) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }
public async Task SignupUserLogic() { var data = new SignupDataHandler(); var logic = new CoreApiLogicHandler(); var cloud = new FakeCloudHandler(); var tenant = TenantData.GetFirst(); var viewModel = LoginData.GetSignup(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <Tenant> >())).Returns(tenant); data.Result.Setup(m => m.Execute(It.IsAny <UserSave>())).Returns(StandardUser); logic.Result.Setup(m => m.Execute(It.IsAny <SimpleNotify>())).Returns(ActionConfirm.CreateSuccess("Worked")); var command = new SignupUser { DataHandler = data, CloudHandler = cloud, LogicHandler = logic, Input = viewModel }; await command.Execute(); logic.HasExecuted.Should().BeTrue(); logic.Result.Verify(s => s.Execute(It.IsAny <SimpleNotify>()), Times.Once()); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <Tenant> >()), Times.Once()); data.Result.Verify(s => s.Execute(It.IsAny <UserSave>()), Times.AtLeastOnce()); }
public async Task ForgotControllerReplyTestWrongCode() { var data = new ForgotDataHandler(); var logic = new CoreApiLogicHandler(); data.ResultConfig = new UserConfig() { ForgotCode = "Nonsense", ResetAuth = "Nonsense" }; var reply = ForgotData.GetReply(); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(StandardUser); var controller = new ForgotController(data, Cloud, logic); var result = await controller.Reply(reply) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }
public async Task ForgotControllerCodeTest() { var data = new ForgotDataHandler(); var logic = new CoreApiLogicHandler(); data.ResultConfig = new UserConfig(); var confirm = ModelConfirm <UserConfig> .CreateSuccess(data.ResultConfig); var start = ForgotData.GetStart(); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(StandardUser); data.Result.Setup(m => m.Execute(It.IsAny <Persist <UserConfig> >())).Returns(confirm); logic.Result.Setup(m => m.Execute(It.IsAny <SimpleNotify>())).Returns(ActionConfirm.CreateSuccess("ok")); var controller = new ForgotController(data, Cloud, logic); var result = await controller.Code(start) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeTrue(); logic.Result.Verify(s => s.Execute(It.IsAny <SimpleNotify>()), Times.Once); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }
public async Task LoaderControllerUploadSuccess() { var data = new VisibleApiDataHandler(); var logic = new CoreApiLogicHandler(); var model = VisibleData.GetFirst(); logic.Result.Setup(m => m.Execute(It.IsAny <ProcessFile>())).Returns(ActionConfirm.CreateSuccess(model)); var controller = new LoaderController(data, Cloud, logic) { CurrentUser = StandardUser }; var result = await controller.Upload(VisibleData.GetFile()) as JsonResult; result.Should().NotBeNull(); result.Should().BeOfType <JsonResult>(); data.HasExecuted.Should().BeFalse(); logic.HasExecuted.Should().BeTrue(); }
public async Task SignupControllerPostTestExists() { var data = new SignupDataHandler(); var logic = new CoreApiLogicHandler(); var signup = SignupData.GetSignup(); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(StandardUser); var controller = new SignupController(data, Cloud, logic); var result = await controller.Post(signup) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }
public async Task ForgotControllerResetTestNoUser() { var data = new ForgotDataHandler(); var logic = new CoreApiLogicHandler(); var reset = ForgotData.GetReset(); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(null); var controller = new ForgotController(data, Cloud, logic); var result = await controller.Reset(reset) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }
public async Task SignupControllerAuthTestFail() { var data = new SignupDataHandler(); var logic = new CoreApiLogicHandler(); var entry = SignupData.GetEntry(); data.Result.Setup(m => m.Execute(It.IsAny <TenantByEntryKey>())).Returns(null); var controller = new SignupController(data, Cloud, logic); var result = await controller.Entry(entry) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); result.Value.Should().BeOfType <FailViewModel>(); logic.HasExecuted.Should().BeFalse(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <TenantByEntryKey>()), Times.Once); }
public async Task ProcessImageLogicExists() { var file = new FakeFile(); var data = new FakeApiDataEntityHandler <ImageFile>(); var logic = new CoreApiLogicHandler(); var cloud = new FakeCloudHandler(); var model = VisibleData.GetFirst(); data.Result.Setup(m => m.Execute(It.IsAny <Loader <ImageFile> >())).Returns(model); data.Result.Setup(m => m.Execute(It.IsAny <Persist <ImageFile> >())).Returns(model); cloud.Result.Setup(m => m.Execute(It.IsAny <UploadCmd>())) .Returns(ActionConfirm.CreateSuccess("File Uploaded")); var command = new ProcessImage { DataHandler = data, Source = file, CloudHandler = cloud, LogicHandler = logic, CurrentUser = StandardUser, Model = model, LoadType = "test", ExistingId = model.Id }; await command.Execute(); cloud.HasExecuted.Should().BeTrue(); cloud.Result.Verify(s => s.Execute(It.IsAny <UploadCmd>()), Times.AtLeastOnce()); command.Result.Success.Should().BeTrue(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <ImageFile> >()), Times.Once()); data.Result.Verify(s => s.Execute(It.IsAny <Persist <ImageFile> >()), Times.Once()); }
public async Task LoginControllerAuthFail() { var data = new LoginDataHandler(); var logic = new CoreApiLogicHandler(); var login = LoginData.GetLogin(); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(null); var controller = new LoginController(data, Cloud, logic); var result = await controller.Auth(login) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeFalse(); logic.Result.Verify(s => s.Execute(It.IsAny <SigninAuth>()), Times.Never); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }
public async Task LoginControllerAuth() { var data = new LoginDataHandler(); var logic = new CoreApiLogicHandler(); data.ResultConfig = new UserConfig(); var login = LoginData.GetLogin(); var auth = LoginData.GetAuth(); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(StandardUser); logic.Result.Setup(m => m.Execute(It.IsAny <SigninAuth>())).Returns(auth); var controller = new LoginController(data, Cloud, logic); var result = await controller.Auth(login) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeTrue(); logic.Result.Verify(s => s.Execute(It.IsAny <SigninAuth>()), Times.Once); auth.Id.Should().NotBeEmpty(); auth.IsTwoFactor.Should().BeFalse(); auth.User.ClientHasProfile.Should().BeFalse(); auth.User.ClientProfileThumbUrl.Should().BeEmpty(); auth.User.ProfileThumbUrl.Should().BeEmpty(); auth.User.Email.Should().BeEmpty(); auth.User.HasPhone.Should().BeFalse(); auth.User.HasProfile.Should().BeFalse(); auth.User.Name.Should().BeEmpty(); auth.User.TenantId.Should().BeEmpty(); auth.User.TenantName.Should().BeEmpty(); auth.Right.Should().NotBeNull(); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }
public async Task ProcessImageLogicMissing() { var file = new FakeFile() { FileName = "xxxMissingxxx" }; var data = new FakeApiDataEntityHandler <ImageFile>(); var logic = new CoreApiLogicHandler(); var cloud = new FakeCloudHandler(); var model = VisibleData.GetFirst(); var command = new ProcessImage { DataHandler = data, Source = file, CloudHandler = cloud, LogicHandler = logic, CurrentUser = StandardUser, Model = model, LoadType = "test" }; await command.Execute(); cloud.HasExecuted.Should().BeFalse(); cloud.Result.Verify(s => s.Execute(It.IsAny <UploadCmd>()), Times.Never()); command.Result.Success.Should().BeFalse(); data.HasExecuted.Should().BeFalse(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <Loader <ImageFile> >()), Times.Never()); data.Result.Verify(s => s.Execute(It.IsAny <Persist <ImageFile> >()), Times.Never()); }
public async Task SignupControllerPostTest() { var data = new SignupDataHandler(); var logic = new CoreApiLogicHandler(); var signup = SignupData.GetSignup(); var auth = LoginData.GetAuth(); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(null); logic.Result.Setup(m => m.Execute(It.IsAny <SignupUser>())).Returns(ActionConfirm.CreateSuccess(auth)); var controller = new SignupController(data, Cloud, logic); var result = await controller.Post(signup) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeTrue(); logic.Result.Verify(s => s.Execute(It.IsAny <SignupUser>()), Times.Once); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeFalse(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }
public async Task ForgotControllerResetTest() { var data = new ForgotDataHandler(); var logic = new CoreApiLogicHandler(); data.ResultUser = StandardUser; data.ResultConfig = new UserConfig() { ForgotCode = ForgotData.GetReset().Code, ResetCode = ForgotData.GetReset().ResetCode }; var confirmUser = ModelConfirm <User> .CreateSuccess(StandardUser); var confirmConfig = ModelConfirm <UserConfig> .CreateSuccess(data.ResultConfig); var reset = ForgotData.GetReset(); var auth = LoginData.GetAuth(); data.Result.Setup(m => m.Execute(It.IsAny <UserByEmail>())).Returns(StandardUser); data.Result.Setup(m => m.Execute(It.IsAny <Persist <User> >())).Returns(confirmUser); data.Result.Setup(m => m.Execute(It.IsAny <Persist <UserConfig> >())).Returns(confirmConfig); logic.Result.Setup(m => m.Execute(It.IsAny <SigninAuth>())).Returns(auth); var controller = new ForgotController(data, Cloud, logic); var result = await controller.Reset(reset) as OkObjectResult; result.Should().NotBeNull(); result.Should().BeOfType <OkObjectResult>(); logic.HasExecuted.Should().BeTrue(); logic.Result.Verify(s => s.Execute(It.IsAny <SigninAuth>()), Times.Once); data.HasExecuted.Should().BeTrue(); data.HasCommitted.Should().BeTrue(); data.Result.Verify(s => s.Execute(It.IsAny <UserByEmail>()), Times.Once); }