mirror of
https://code.mensbeam.com/MensBeam/Arsse.git
synced 2024-12-22 21:22:40 +00:00
Last of the basic tests for the User class
This commit is contained in:
parent
be9ebf9ca1
commit
1834cb9963
2 changed files with 39 additions and 2 deletions
|
@ -274,7 +274,7 @@ class User {
|
||||||
|
|
||||||
public function propertiesSet(string $user, array $properties): array {
|
public function propertiesSet(string $user, array $properties): array {
|
||||||
// remove from the array any values which should be set specially
|
// remove from the array any values which should be set specially
|
||||||
foreach(['password', 'rights'] as $key) {
|
foreach(['id', 'domain', 'password', 'rights'] as $key) {
|
||||||
if(array_key_exists($key, $properties)) unset($properties[$key]);
|
if(array_key_exists($key, $properties)) unset($properties[$key]);
|
||||||
}
|
}
|
||||||
$func = "userPropertiesSet";
|
$func = "userPropertiesSet";
|
||||||
|
@ -363,7 +363,7 @@ class User {
|
||||||
// create the user
|
// create the user
|
||||||
$out = $this->data->db->userAdd($user, $password);
|
$out = $this->data->db->userAdd($user, $password);
|
||||||
// set the user rights
|
// set the user rights
|
||||||
$this->data->db->userRightsSet($user, $level);
|
$this->data->db->userRightsSet($user, $rights);
|
||||||
// set the user properties...
|
// set the user properties...
|
||||||
if($properties===null) {
|
if($properties===null) {
|
||||||
// if nothing is provided but the driver uses an external function, try to get the current values from the external source
|
// if nothing is provided but the driver uses an external function, try to get the current values from the external source
|
||||||
|
@ -374,6 +374,7 @@ class User {
|
||||||
// otherwise if values are provided, use those
|
// otherwise if values are provided, use those
|
||||||
$this->data->db->userPropertiesSet($user, $properties);
|
$this->data->db->userPropertiesSet($user, $properties);
|
||||||
}
|
}
|
||||||
|
// re-enable authorization and return
|
||||||
$this->authorizationEnabled($authz);
|
$this->authorizationEnabled($authz);
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,8 +87,44 @@ class TestUser extends \PHPUnit\Framework\TestCase {
|
||||||
function testGetThePropertiesOfAUser() {
|
function testGetThePropertiesOfAUser() {
|
||||||
$this->data->user->add(self::USER1, "secret");
|
$this->data->user->add(self::USER1, "secret");
|
||||||
$p = $this->data->user->propertiesGet(self::USER1);
|
$p = $this->data->user->propertiesGet(self::USER1);
|
||||||
|
$this->assertArrayHasKey('id', $p);
|
||||||
$this->assertArrayHasKey('name', $p);
|
$this->assertArrayHasKey('name', $p);
|
||||||
|
$this->assertArrayHasKey('domain', $p);
|
||||||
|
$this->assertArrayHasKey('rights', $p);
|
||||||
$this->assertArrayNotHasKey('password', $p);
|
$this->assertArrayNotHasKey('password', $p);
|
||||||
$this->assertEquals(self::USER1, $p['name']);
|
$this->assertEquals(self::USER1, $p['name']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testSetThePropertiesOfAUser() {
|
||||||
|
$pSet = [
|
||||||
|
'name' => 'John Doe',
|
||||||
|
'id' => 'invalid',
|
||||||
|
'domain' => 'localhost',
|
||||||
|
'rights' => User\Driver::RIGHTS_GLOBAL_ADMIN,
|
||||||
|
'password' => 'superman',
|
||||||
|
];
|
||||||
|
$pGet = [
|
||||||
|
'name' => 'John Doe',
|
||||||
|
'id' => self::USER1,
|
||||||
|
'domain' => 'example.com',
|
||||||
|
'rights' => User\Driver::RIGHTS_NONE,
|
||||||
|
];
|
||||||
|
$this->data->user->add(self::USER1, "secret");
|
||||||
|
$this->data->user->propertiesSet(self::USER1, $pSet);
|
||||||
|
$p = $this->data->user->propertiesGet(self::USER1);
|
||||||
|
$this->assertArraySubset($pGet, $p);
|
||||||
|
$this->assertArrayNotHasKey('password', $p);
|
||||||
|
$this->assertFalse($this->data->user->auth(self::USER1, "superman"));
|
||||||
|
}
|
||||||
|
|
||||||
|
function testGetTheRightsOfAUser() {
|
||||||
|
$this->data->user->add(self::USER1, "secret");
|
||||||
|
$this->assertEquals(User\Driver::RIGHTS_NONE, $this->data->user->rightsGet(self::USER1));
|
||||||
|
}
|
||||||
|
|
||||||
|
function testSetTheRightsOfAUser() {
|
||||||
|
$this->data->user->add(self::USER1, "secret");
|
||||||
|
$this->data->user->rightsSet(self::USER1, User\Driver::RIGHTS_GLOBAL_ADMIN);
|
||||||
|
$this->assertEquals(User\Driver::RIGHTS_GLOBAL_ADMIN, $this->data->user->rightsGet(self::USER1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue