rpcii-php/tests/CurlHttpTest.php

60 lines
2.2 KiB
PHP
Raw Normal View History

2024-08-13 18:54:24 +00:00
<?php
// CurlHttpTest.php
// Created: 2024-08-13
// Updated: 2024-11-13
2024-08-13 18:54:24 +00:00
declare(strict_types=1);
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\Attributes\CoversClass;
use RPCii\Client\CurlHttpRequest;
2024-08-13 18:54:24 +00:00
#[CoversClass(CurlHttpRequest::class)]
final class CurlHttpTest extends TestCase {
public function testGetRequest(): void {
$request = new CurlHttpRequest;
$request->setPost(false);
$request->setUrl('https://httpbin.org/get?alreadyhere=true');
$request->setHeader('X-Test', 'teste');
$request->setParams('soap=beans');
$response = json_decode($request->execute(), true);
$this->assertIsArray($response);
$this->assertArrayHasKey('headers', $response);
$this->assertIsArray($response['headers']);
$this->assertArrayHasKey('X-Test', $response['headers']);
2024-08-13 18:54:24 +00:00
$this->assertEquals('teste', $response['headers']['X-Test']);
$this->assertArrayHasKey('args', $response);
$this->assertIsArray($response['args']);
$this->assertArrayHasKey('alreadyhere', $response['args']);
2024-08-13 18:54:24 +00:00
$this->assertEquals('true', $response['args']['alreadyhere']);
$this->assertArrayHasKey('soap', $response['args']);
2024-08-13 18:54:24 +00:00
$this->assertEquals('beans', $response['args']['soap']);
}
public function testPostRequest(): void {
$request = new CurlHttpRequest;
$request->setPost(true);
$request->setUrl('https://httpbin.org/post');
$request->setHeader('X-Meow', 'soap');
$request->setParams('windows=xp&macos=leopard');
$response = json_decode($request->execute(), true);
$this->assertIsArray($response);
$this->assertArrayHasKey('headers', $response);
$this->assertIsArray($response['headers']);
$this->assertArrayHasKey('X-Meow', $response['headers']);
2024-08-13 18:54:24 +00:00
$this->assertEquals('soap', $response['headers']['X-Meow']);
$this->assertArrayHasKey('form', $response);
$this->assertIsArray($response['form']);
$this->assertArrayHasKey('windows', $response['form']);
2024-08-13 18:54:24 +00:00
$this->assertEquals('xp', $response['form']['windows']);
$this->assertArrayHasKey('macos', $response['form']);
2024-08-13 18:54:24 +00:00
$this->assertEquals('leopard', $response['form']['macos']);
}
}