60 lines
1.5 KiB
PHP
60 lines
1.5 KiB
PHP
|
<?php
|
||
|
|
||
|
// require_once(DIR_ALVEOLATA . '/definitions.php');
|
||
|
require_once(DIR_ALVEOLATA . '/http/functions.php');
|
||
|
|
||
|
|
||
|
\alveolata\test\add(
|
||
|
[
|
||
|
'name' => 'alveolata',
|
||
|
'sections' => [
|
||
|
[
|
||
|
'name' => 'http',
|
||
|
'sections' => [
|
||
|
[
|
||
|
'name' => 'request_decode',
|
||
|
'cases' => [
|
||
|
[
|
||
|
'name' => 'test1',
|
||
|
'procedure' => function ($assert, &$environment) {
|
||
|
$input = 'OPTIONS /server/index.php/session HTTP/1.1
|
||
|
Host: localhost:1919
|
||
|
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0
|
||
|
Accept: */*
|
||
|
Accept-Language: de,en-US;q=0.7,en;q=0.3
|
||
|
Accept-Encoding: gzip, deflate
|
||
|
Access-Control-Request-Method: POST
|
||
|
Access-Control-Request-Headers: content-type
|
||
|
Referer: http://localhost:8888/
|
||
|
Origin: http://localhost:8888
|
||
|
Connection: keep-alive
|
||
|
|
||
|
foo
|
||
|
bar
|
||
|
';
|
||
|
// execution
|
||
|
{
|
||
|
$request = \alveolata\http\request_decode($input);
|
||
|
}
|
||
|
// assertions
|
||
|
{
|
||
|
$assert->equal($request->protocol, 'HTTP/1.1');
|
||
|
$assert->equal($request->method, 'OPTIONS');
|
||
|
$assert->equal($request->target, '/server/index.php/session');
|
||
|
$assert->equal($request->headers['Host'], 'localhost:1919');
|
||
|
$assert->equal($request->headers['User-Agent'], 'Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0');
|
||
|
$assert->equal($request->headers['Accept'], '*/*');
|
||
|
$assert->equal($request->body, "foo\nbar");
|
||
|
}
|
||
|
},
|
||
|
],
|
||
|
]
|
||
|
],
|
||
|
]
|
||
|
]
|
||
|
]
|
||
|
]
|
||
|
);
|
||
|
|
||
|
?>
|