public void ExecuteReturnsSuccessWhenGood(string tName, string tPassword, string tEmail) { var vHashProvider = new Mock<IHashProvider>(); var vDocumentStore = GetEmbeddedDatabase; var vAccountCommandFactory = new Mock<IAccountCommandFactory>(); var vSendConfirmationCommand = new Mock<ISendConfirmationCommand>(); vAccountCommandFactory .Setup(t => t.CreateSendConfirmationCommand(It.IsAny<Account>())) .Returns(vSendConfirmationCommand.Object); vSendConfirmationCommand.Setup(t => t.Execute()).Returns(true); var vCreateAccount = new CreateAccount { Name = tName, Password = tPassword, Email = tEmail }; var vRandomProvider = new Mock<IRandomProvider>(); var vCreateAccountCommand = new CreateAccountCommand(vDocumentStore, vHashProvider.Object, vAccountCommandFactory.Object, vRandomProvider.Object, vCreateAccount); var vResult = vCreateAccountCommand.Execute(); Assert.AreEqual(eAccountCreationStatus.Success, vResult); }
private TestObjects Setup() { var vObjects = new TestObjects(); vObjects.HashProvider = new Mock<IHashProvider>(); vObjects.HashProvider.Setup(t => t.Hash(cPassword)).Returns(cHash); vObjects.HashProvider.Setup(t => t.CheckHash(cPassword, cHash)).Returns(true); vObjects.DocumentStore = GetEmbeddedDatabase; var vNewAccount = new CreateAccount { Name = cName, Email = cEmail, Password = cPassword }; var vAccountCommandFactory = new Mock<IAccountCommandFactory>(); var vSendConfirmationCommand = new Mock<ISendConfirmationCommand>(); vAccountCommandFactory .Setup(t => t.CreateSendConfirmationCommand(It.IsAny<Account>())) .Returns(vSendConfirmationCommand.Object); var vNewAccountCommand = new CreateAccountCommand( vObjects.DocumentStore, vObjects.HashProvider.Object, vAccountCommandFactory.Object, new CryptoRandomProvider(), vNewAccount); vNewAccountCommand.Execute(); var vLogin = new LoginAccount { Name = cName, Password = cPassword }; vObjects.GoodLoginAccountCommand = new LoginAccountCommand( vObjects.DocumentStore, vObjects.HashProvider.Object, vLogin); return vObjects; }
public void ExecuteUsesHashProviderForHashWithSalt(string tName, string tPassword, string tEmail) { var vHashProvider = new Mock<IHashProvider>(); var vDocumentStore = GetEmbeddedDatabase; var vAccountCommandFactory = new Mock<IAccountCommandFactory>(); var vSendConfirmationCommand = new Mock<ISendConfirmationCommand>(); vAccountCommandFactory .Setup(t => t.CreateSendConfirmationCommand(It.IsAny<Account>())) .Returns(vSendConfirmationCommand.Object); var vCreateAccount = new CreateAccount { Name = tName, Password = tPassword, Email = tEmail }; var vRandomProvider = new Mock<IRandomProvider>(); var vCreateAccountCommand = new CreateAccountCommand(vDocumentStore, vHashProvider.Object, vAccountCommandFactory.Object, vRandomProvider.Object, vCreateAccount); vCreateAccountCommand.Execute(); vHashProvider.Verify(t => t.Hash(tPassword)); }
public void NewAccountIsAdminWhenMatchesConfigForAdmin(string tName, string tPassword, string tEmail) { var vHashProvider = new Mock<IHashProvider>(); var vDocumentStore = GetEmbeddedDatabase; var vAccountCommandFactory = new Mock<IAccountCommandFactory>(); var vSendConfirmationCommand = new Mock<ISendConfirmationCommand>(); vAccountCommandFactory .Setup(t => t.CreateSendConfirmationCommand(It.IsAny<Account>())) .Returns(vSendConfirmationCommand.Object); var vCreateAccount = new CreateAccount { Name = tName, Password = tPassword, Email = tEmail }; var vRandomProvider = new Mock<IRandomProvider>(); var vCreateAccountCommand = new CreateAccountCommand(vDocumentStore, vHashProvider.Object, vAccountCommandFactory.Object, vRandomProvider.Object, vCreateAccount); vCreateAccountCommand.Execute(); using (var vSession = vDocumentStore.OpenSession()) { var vAccount = vSession.Load<Account>("Accounts/"+tName); Assert.IsTrue(vAccount.Roles.Any(t => t == eRoles.Admin)); } }