Skip to content
Snippets Groups Projects
Unverified Commit 4e67137f authored by Matt Schwager's avatar Matt Schwager
Browse files

Added tests for sspmod_core_Auth_Process_AttributeMap

parent 425aa2ba
No related branches found
No related tags found
No related merge requests found
<?php
use PHPUnit\Framework\TestCase;
/**
* Test for the core:AttributeMap filter.
*/
class Test_Core_Auth_Process_AttributeMap extends TestCase
{
/**
* Helper function to run the filter with a given configuration.
*
* @param array $config The filter configuration.
* @param array $request The request state.
* @return array The state array after processing.
*/
private static function processFilter(array $config, array $request)
{
$filter = new sspmod_core_Auth_Process_AttributeMap($config, null);
$filter->process($request);
return $request;
}
public function testBasic()
{
$config = [
'attribute1' => 'attribute2',
];
$request = [
'Attributes' => [
'attribute1' => ['value'],
],
];
$processed = self::processFilter($config, $request);
$result = $processed['Attributes'];
$expected = [
'attribute2' => ['value'],
];
$this->assertEquals($expected, $result);
}
public function testDuplicate()
{
$config = [
'attribute1' => 'attribute2',
'%duplicate',
];
$request = [
'Attributes' => [
'attribute1' => ['value'],
],
];
$processed = self::processFilter($config, $request);
$result = $processed['Attributes'];
$expected = [
'attribute1' => ['value'],
'attribute2' => ['value'],
];
$this->assertEquals($expected, $result);
}
public function testMultiple()
{
$config = [
'attribute1' => ['attribute2', 'attribute3'],
];
$request = [
'Attributes' => [
'attribute1' => ['value'],
],
];
$processed = self::processFilter($config, $request);
$result = $processed['Attributes'];
$expected = [
'attribute2' => ['value'],
'attribute3' => ['value'],
];
$this->assertEquals($expected, $result);
}
public function testMultipleDuplicate()
{
$config = [
'attribute1' => ['attribute2', 'attribute3'],
'%duplicate',
];
$request = [
'Attributes' => [
'attribute1' => ['value'],
],
];
$processed = self::processFilter($config, $request);
$result = $processed['Attributes'];
$expected = [
'attribute1' => ['value'],
'attribute2' => ['value'],
'attribute3' => ['value'],
];
$this->assertEquals($expected, $result);
}
public function testInvalidOriginalAttributeType()
{
$config = [
10 => 'attribute2',
];
$request = [
'Attributes' => [
'attribute1' => ['value'],
],
];
$this->setExpectedException('\Exception');
self::processFilter($config, $request);
}
public function testInvalidMappedAttributeType()
{
$config = [
'attribute1' => 10,
];
$request = [
'Attributes' => [
'attribute1' => ['value'],
],
];
$this->setExpectedException('\Exception');
self::processFilter($config, $request);
}
public function testMissingMapFile()
{
$config = [
'non_existant_mapfile',
];
$request = [
'Attributes' => [
'attribute1' => ['value'],
],
];
$this->setExpectedException('\Exception');
self::processFilter($config, $request);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment