public void VerifyUpdateCredentials_Initialization() { var credentials = new MigrationPasswordCredentials(this.person.Iid, "hashedpassword", "salt"); Assert.AreEqual("hashedpassword", credentials.Password); Assert.AreEqual("salt", credentials.Salt); Assert.AreEqual(this.person.Iid, credentials.Iid); }
public void VerifyUpdateCredentials_FullAccess() { var credentials = new MigrationPasswordCredentials(this.person.Iid, "hashedpassword", "salt"); this.transactionManager.Setup(x => x.IsFullAccessEnabled()).Returns(true); this.personDao.Setup(x => x.UpdateCredentials(It.IsAny <NpgsqlTransaction>(), Cdp4TransactionManager.SITE_DIRECTORY_PARTITION, this.person, credentials)).Returns(true); Assert.DoesNotThrow(() => this.personService.UpdateCredentials(It.IsAny <NpgsqlTransaction>(), this.schemaName, this.person, credentials)); }
/// <summary> /// Update user credentials after migration /// </summary> /// <param name="transaction">The database transaction.</param> /// <param name="partition">The database schema</param> /// <param name="thing">The person <see cref="Thing" /></param> /// <param name="credentials">The new credentials from migration.json <see cref="MigrationPasswordCredentials" /></param> /// <returns>True if opperation succeeded</returns> public bool UpdateCredentials(NpgsqlTransaction transaction, string partition, Thing thing, MigrationPasswordCredentials credentials) { if (!this.IsInstanceModifyAllowed(transaction, thing, partition, UpdateOperation)) { throw new SecurityException($"The person {this.PermissionService.Credentials.Person.UserName} does not have an appropriate update permission for {thing.GetType().Name}."); } return(this.PersonDao.UpdateCredentials(transaction, partition, thing as Person, credentials)); }