86 lines
5.6 KiB
YAML
86 lines
5.6 KiB
YAML
|
name: ServerBagTest
|
||
|
class_comment: '# * ServerBagTest.
|
||
|
|
||
|
# *
|
||
|
|
||
|
# * @author Bulat Shakirzyanov <mallluhuct@gmail.com>'
|
||
|
dependencies:
|
||
|
- name: TestCase
|
||
|
type: class
|
||
|
source: PHPUnit\Framework\TestCase
|
||
|
- name: ServerBag
|
||
|
type: class
|
||
|
source: Symfony\Component\HttpFoundation\ServerBag
|
||
|
properties: []
|
||
|
methods:
|
||
|
- name: testItDoesNotOverwriteTheAuthorizationHeaderIfItIsAlreadySet
|
||
|
visibility: public
|
||
|
parameters: []
|
||
|
comment: "# * ServerBagTest.\n# *\n# * @author Bulat Shakirzyanov <mallluhuct@gmail.com>\n\
|
||
|
# */\n# class ServerBagTest extends TestCase\n# {\n# public function testShouldExtractHeadersFromServerArray()\n\
|
||
|
# {\n# $server = [\n# 'SOME_SERVER_VARIABLE' => 'value',\n# 'SOME_SERVER_VARIABLE2'\
|
||
|
\ => 'value',\n# 'ROOT' => 'value',\n# 'HTTP_CONTENT_TYPE' => 'text/html',\n#\
|
||
|
\ 'HTTP_CONTENT_LENGTH' => '0',\n# 'HTTP_ETAG' => 'asdf',\n# 'PHP_AUTH_USER' =>\
|
||
|
\ 'foo',\n# 'PHP_AUTH_PW' => 'bar',\n# ];\n# \n# $bag = new ServerBag($server);\n\
|
||
|
# \n# $this->assertEquals([\n# 'CONTENT_TYPE' => 'text/html',\n# 'CONTENT_LENGTH'\
|
||
|
\ => '0',\n# 'ETAG' => 'asdf',\n# 'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),\n\
|
||
|
# 'PHP_AUTH_USER' => 'foo',\n# 'PHP_AUTH_PW' => 'bar',\n# ], $bag->getHeaders());\n\
|
||
|
# }\n# \n# public function testHttpPasswordIsOptional()\n# {\n# $bag = new ServerBag(['PHP_AUTH_USER'\
|
||
|
\ => 'foo']);\n# \n# $this->assertEquals([\n# 'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),\n\
|
||
|
# 'PHP_AUTH_USER' => 'foo',\n# 'PHP_AUTH_PW' => '',\n# ], $bag->getHeaders());\n\
|
||
|
# }\n# \n# public function testHttpPasswordIsOptionalWhenPassedWithHttpPrefix()\n\
|
||
|
# {\n# $bag = new ServerBag(['HTTP_PHP_AUTH_USER' => 'foo']);\n# \n# $this->assertEquals([\n\
|
||
|
# 'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),\n# 'PHP_AUTH_USER' => 'foo',\n\
|
||
|
# ], $bag->getHeaders());\n# }\n# \n# public function testHttpBasicAuthWithPhpCgi()\n\
|
||
|
# {\n# $bag = new ServerBag(['HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:bar')]);\n\
|
||
|
# \n# $this->assertEquals([\n# 'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),\n\
|
||
|
# 'PHP_AUTH_USER' => 'foo',\n# 'PHP_AUTH_PW' => 'bar',\n# ], $bag->getHeaders());\n\
|
||
|
# }\n# \n# public function testHttpBasicAuthWithPhpCgiBogus()\n# {\n# $bag = new\
|
||
|
\ ServerBag(['HTTP_AUTHORIZATION' => 'Basic_'.base64_encode('foo:bar')]);\n# \n\
|
||
|
# // Username and passwords should not be set as the header is bogus\n# $headers\
|
||
|
\ = $bag->getHeaders();\n# $this->assertArrayNotHasKey('PHP_AUTH_USER', $headers);\n\
|
||
|
# $this->assertArrayNotHasKey('PHP_AUTH_PW', $headers);\n# }\n# \n# public function\
|
||
|
\ testHttpBasicAuthWithPhpCgiRedirect()\n# {\n# $bag = new ServerBag(['REDIRECT_HTTP_AUTHORIZATION'\
|
||
|
\ => 'Basic '.base64_encode('username:pass:word')]);\n# \n# $this->assertEquals([\n\
|
||
|
# 'AUTHORIZATION' => 'Basic '.base64_encode('username:pass:word'),\n# 'PHP_AUTH_USER'\
|
||
|
\ => 'username',\n# 'PHP_AUTH_PW' => 'pass:word',\n# ], $bag->getHeaders());\n\
|
||
|
# }\n# \n# public function testHttpBasicAuthWithPhpCgiEmptyPassword()\n# {\n#\
|
||
|
\ $bag = new ServerBag(['HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:')]);\n\
|
||
|
# \n# $this->assertEquals([\n# 'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),\n\
|
||
|
# 'PHP_AUTH_USER' => 'foo',\n# 'PHP_AUTH_PW' => '',\n# ], $bag->getHeaders());\n\
|
||
|
# }\n# \n# public function testHttpDigestAuthWithPhpCgi()\n# {\n# $digest = 'Digest\
|
||
|
\ username=\"foo\", realm=\"acme\", nonce=\"'.md5('secret').'\", uri=\"/protected,\
|
||
|
\ qop=\"auth\"';\n# $bag = new ServerBag(['HTTP_AUTHORIZATION' => $digest]);\n\
|
||
|
# \n# $this->assertEquals([\n# 'AUTHORIZATION' => $digest,\n# 'PHP_AUTH_DIGEST'\
|
||
|
\ => $digest,\n# ], $bag->getHeaders());\n# }\n# \n# public function testHttpDigestAuthWithPhpCgiBogus()\n\
|
||
|
# {\n# $digest = 'Digest_username=\"foo\", realm=\"acme\", nonce=\"'.md5('secret').'\"\
|
||
|
, uri=\"/protected, qop=\"auth\"';\n# $bag = new ServerBag(['HTTP_AUTHORIZATION'\
|
||
|
\ => $digest]);\n# \n# // Username and passwords should not be set as the header\
|
||
|
\ is bogus\n# $headers = $bag->getHeaders();\n# $this->assertArrayNotHasKey('PHP_AUTH_USER',\
|
||
|
\ $headers);\n# $this->assertArrayNotHasKey('PHP_AUTH_PW', $headers);\n# }\n#\
|
||
|
\ \n# public function testHttpDigestAuthWithPhpCgiRedirect()\n# {\n# $digest =\
|
||
|
\ 'Digest username=\"foo\", realm=\"acme\", nonce=\"'.md5('secret').'\", uri=\"\
|
||
|
/protected, qop=\"auth\"';\n# $bag = new ServerBag(['REDIRECT_HTTP_AUTHORIZATION'\
|
||
|
\ => $digest]);\n# \n# $this->assertEquals([\n# 'AUTHORIZATION' => $digest,\n\
|
||
|
# 'PHP_AUTH_DIGEST' => $digest,\n# ], $bag->getHeaders());\n# }\n# \n# public\
|
||
|
\ function testOAuthBearerAuth()\n# {\n# $headerContent = 'Bearer L-yLEOr9zhmUYRkzN1jwwxwQ-PBNiKDc8dgfB4hTfvo';\n\
|
||
|
# $bag = new ServerBag(['HTTP_AUTHORIZATION' => $headerContent]);\n# \n# $this->assertEquals([\n\
|
||
|
# 'AUTHORIZATION' => $headerContent,\n# ], $bag->getHeaders());\n# }\n# \n# public\
|
||
|
\ function testOAuthBearerAuthWithRedirect()\n# {\n# $headerContent = 'Bearer\
|
||
|
\ L-yLEOr9zhmUYRkzN1jwwxwQ-PBNiKDc8dgfB4hTfvo';\n# $bag = new ServerBag(['REDIRECT_HTTP_AUTHORIZATION'\
|
||
|
\ => $headerContent]);\n# \n# $this->assertEquals([\n# 'AUTHORIZATION' => $headerContent,\n\
|
||
|
# ], $bag->getHeaders());\n# }\n# \n# /**\n# * @see https://github.com/symfony/symfony/issues/17345"
|
||
|
- name: testRequestWithoutContentTypeAndContentLength
|
||
|
visibility: public
|
||
|
parameters: []
|
||
|
comment: '# * An HTTP request without content-type and content-length will result
|
||
|
in
|
||
|
|
||
|
# * the variables $_SERVER[''CONTENT_TYPE''] and $_SERVER[''CONTENT_LENGTH'']
|
||
|
|
||
|
# * containing an empty string in PHP.'
|
||
|
traits:
|
||
|
- PHPUnit\Framework\TestCase
|
||
|
- Symfony\Component\HttpFoundation\ServerBag
|
||
|
interfaces: []
|