Merge pull request #29851 from nextcloud/backport/29836/stable21

[stable21] Make sure mapping cache is cleared when deleting a user
pull/29907/head
blizzz 2021-11-25 13:08:04 +07:00 committed by GitHub
commit 2dd3b6f0b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 0 deletions

@ -380,6 +380,11 @@ abstract class AbstractMapping {
DELETE FROM `' . $this->getTableName() . '`
WHERE `owncloud_name` = ?');
$dn = array_search($name, $this->cache);
if ($dn !== false) {
unset($this->cache[$dn]);
}
return $this->modify($statement, [$name]);
}

@ -129,8 +129,12 @@ abstract class AbstractMappingTest extends \Test\TestCase {
list($mapper, $data) = $this->initTest();
foreach ($data as $entry) {
$fdnBefore = $mapper->getDNByName($entry['name']);
$result = $mapper->unmap($entry['name']);
$fdnAfter = $mapper->getDNByName($entry['name']);
$this->assertTrue($result);
$this->assertSame($fdnBefore, $entry['dn']);
$this->assertFalse($fdnAfter);
}
$result = $mapper->unmap('notAnEntry');