SimpleSAML\Test\Module\saml\Auth\Process\FilterScopesTest::testValidScopes PHP Method

testValidScopes() public method

Test valid scopes.
public testValidScopes ( )
    public function testValidScopes()
    {
        // test declared scopes
        $config = array();
        $request = array('Source' => array('SingleSignOnService' => array(array('Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect', 'Location' => 'https://example.org/saml2/idp/SSOService.php')), 'scope' => array('example.com', 'example.net')), 'Attributes' => array('eduPersonPrincipalName' => array('[email protected]')));
        $result = $this->processFilter($config, $request);
        $this->assertEquals($request['Attributes'], $result['Attributes']);
        // test multiple values
        $request['Attributes'] = array('eduPersonPrincipalName' => array('[email protected]', '[email protected]'));
        $result = $this->processFilter($config, $request);
        $this->assertEquals($request['Attributes'], $result['Attributes']);
        // test implicit scope
        $request['Attributes'] = array('eduPersonPrincipalName' => array('[email protected]'));
        $result = $this->processFilter($config, $request);
        $this->assertEquals($request['Attributes'], $result['Attributes']);
        // test alternative attributes
        $config['attributes'] = array('mail');
        $request['Attributes'] = array('mail' => array('[email protected]'));
        $result = $this->processFilter($config, $request);
        $this->assertEquals($request['Attributes'], $result['Attributes']);
        // test non-scoped attributes
        $request['Attributes']['givenName'] = 'John Doe';
        $result = $this->processFilter($config, $request);
        $this->assertEquals($request['Attributes'], $result['Attributes']);
    }