PHP 8.2.30
Preview: ServerBagTest.php Size: 3.76 KB
/opt/alt/php55/usr/share/pear/test/HttpFoundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php

<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\HttpFoundation\Tests;

use Symfony\Component\HttpFoundation\ServerBag;

/**
 * ServerBagTest
 *
 * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
 */
class ServerBagTest extends \PHPUnit_Framework_TestCase
{
    public function testShouldExtractHeadersFromServerArray()
    {
        $server = array(
            'SOME_SERVER_VARIABLE' => 'value',
            'SOME_SERVER_VARIABLE2' => 'value',
            'ROOT' => 'value',
            'HTTP_CONTENT_TYPE' => 'text/html',
            'HTTP_CONTENT_LENGTH' => '0',
            'HTTP_ETAG' => 'asdf',
            'PHP_AUTH_USER' => 'foo',
            'PHP_AUTH_PW' => 'bar',
        );

        $bag = new ServerBag($server);

        $this->assertEquals(array(
            'CONTENT_TYPE' => 'text/html',
            'CONTENT_LENGTH' => '0',
            'ETAG' => 'asdf',
            'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
            'PHP_AUTH_USER' => 'foo',
            'PHP_AUTH_PW' => 'bar',
        ), $bag->getHeaders());
    }

    public function testHttpPasswordIsOptional()
    {
        $bag = new ServerBag(array('PHP_AUTH_USER' => 'foo'));

        $this->assertEquals(array(
            'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),
            'PHP_AUTH_USER' => 'foo',
            'PHP_AUTH_PW' => ''
        ), $bag->getHeaders());
    }

    public function testHttpBasicAuthWithPhpCgi()
    {
        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:bar')));

        $this->assertEquals(array(
            'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
            'PHP_AUTH_USER' => 'foo',
            'PHP_AUTH_PW' => 'bar'
        ), $bag->getHeaders());
    }

    public function testHttpBasicAuthWithPhpCgiRedirect()
    {
        $bag = new ServerBag(array('REDIRECT_HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:bar')));

        $this->assertEquals(array(
            'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
            'PHP_AUTH_USER' => 'foo',
            'PHP_AUTH_PW' => 'bar'
        ), $bag->getHeaders());
    }

    public function testHttpBasicAuthWithPhpCgiEmptyPassword()
    {
        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:')));

        $this->assertEquals(array(
            'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),
            'PHP_AUTH_USER' => 'foo',
            'PHP_AUTH_PW' => ''
        ), $bag->getHeaders());
    }

    public function testHttpDigestAuthWithPhpCgi()
    {
        $digest = 'Digest username="foo", realm="acme", nonce="'.md5('secret').'", uri="/protected, qop="auth"';
        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => $digest));

        $this->assertEquals(array(
            'AUTHORIZATION' => $digest,
            'PHP_AUTH_DIGEST' => $digest,
        ), $bag->getHeaders());
    }

    public function testHttpDigestAuthWithPhpCgiRedirect()
    {
        $digest = 'Digest username="foo", realm="acme", nonce="'.md5('secret').'", uri="/protected, qop="auth"';
        $bag = new ServerBag(array('REDIRECT_HTTP_AUTHORIZATION' => $digest));

        $this->assertEquals(array(
            'AUTHORIZATION' => $digest,
            'PHP_AUTH_DIGEST' => $digest,
        ), $bag->getHeaders());
    }

    public function testOAuthBearerAuth()
    {
        $headerContent = 'Bearer L-yLEOr9zhmUYRkzN1jwwxwQ-PBNiKDc8dgfB4hTfvo';
        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => $headerContent));

        $this->assertEquals(array(
            'AUTHORIZATION' => $headerContent,
        ), $bag->getHeaders());
    }
}

Directory Contents

Dirs: 2 × Files: 20

Name Size Perms Modified Actions
File DIR
- drwxr-xr-x 2024-03-03 22:54:40
Edit Download
Session DIR
- drwxr-xr-x 2024-03-03 22:54:40
Edit Download
3.48 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
3.39 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
2.68 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
7.17 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
4.60 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
2.51 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
4.07 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
7.79 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
2.73 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
6.26 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
8.81 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
2.22 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
3.92 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
2.01 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
68.94 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
11.22 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
28.70 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
3.32 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
3.76 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download
3.43 KB lrw-r--r-- 2019-12-18 11:24:06
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).