Skip to content

Commit

Permalink
Merge pull request #1004 from mschwager/master
Browse files Browse the repository at this point in the history
Fixes #970, improve AttributeMap overwrite behavior
  • Loading branch information
jaimeperez committed Nov 30, 2018
2 parents 62ce3bd + 873c968 commit 9876e81
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
3 changes: 3 additions & 0 deletions modules/core/lib/Auth/Process/AttributeMap.php
Expand Up @@ -135,6 +135,9 @@ public function process(&$request)
}
}
} else {
if (array_key_exists($name, $mapped_attributes)) {
continue;
}
$mapped_attributes[$name] = $values;
}
}
Expand Down
42 changes: 42 additions & 0 deletions tests/modules/core/lib/Auth/Process/AttributeMapTest.php
Expand Up @@ -199,4 +199,46 @@ public function testMissingMapFile()
$this->setExpectedException('\Exception');
self::processFilter($config, $request);
}

public function testOverwrite()
{
$config = [
'attribute1' => 'attribute2',
];
$request = [
'Attributes' => [
'attribute1' => ['value1'],
'attribute2' => ['value2'],
],
];

$processed = self::processFilter($config, $request);
$result = $processed['Attributes'];
$expected = [
'attribute2' => ['value1'],
];

$this->assertEquals($expected, $result);
}

public function testOverwriteReversed()
{
$config = [
'attribute1' => 'attribute2',
];
$request = [
'Attributes' => [
'attribute2' => ['value2'],
'attribute1' => ['value1'],
],
];

$processed = self::processFilter($config, $request);
$result = $processed['Attributes'];
$expected = [
'attribute2' => ['value1'],
];

$this->assertEquals($expected, $result);
}
}

0 comments on commit 9876e81

Please sign in to comment.