You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
2 months ago
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace GuzzleHttp\Tests\Psr7\Integration;
|
||
|
|
||
|
use PHPUnit\Framework\TestCase;
|
||
|
|
||
|
class ServerRequestFromGlobalsTest extends TestCase
|
||
|
{
|
||
|
protected function setUp(): void
|
||
|
{
|
||
|
if (false === $this->getServerUri()) {
|
||
|
self::markTestSkipped();
|
||
|
}
|
||
|
parent::setUp();
|
||
|
}
|
||
|
|
||
|
public function testBodyExists(): void
|
||
|
{
|
||
|
$curl = curl_init();
|
||
|
|
||
|
curl_setopt($curl, CURLOPT_URL, $this->getServerUri());
|
||
|
curl_setopt($curl, CURLOPT_POST, 1);
|
||
|
curl_setopt($curl, CURLOPT_POSTFIELDS, 'foobar');
|
||
|
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||
|
$response = curl_exec($curl);
|
||
|
curl_close($curl);
|
||
|
|
||
|
self::assertNotFalse($response);
|
||
|
$data = json_decode($response, true);
|
||
|
self::assertIsArray($data);
|
||
|
self::assertArrayHasKey('method', $data);
|
||
|
self::assertArrayHasKey('uri', $data);
|
||
|
self::assertArrayHasKey('body', $data);
|
||
|
|
||
|
self::assertEquals('foobar', $data['body']);
|
||
|
}
|
||
|
|
||
|
private function getServerUri()
|
||
|
{
|
||
|
return $_SERVER['TEST_SERVER'] ?? false;
|
||
|
}
|
||
|
}
|