Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/vendor/yoomoney/yookassa-sdk-php/tests/Client/ |
Upload File : |
<?php namespace Tests\YooKassa\Client; use PHPUnit\Framework\TestCase; use ReflectionClass; use ReflectionException; use YooKassa\Client\UserAgent; /** * @internal */ class UserAgentTest extends TestCase { /** * @throws ReflectionException */ public function testHeaderString(): void { $agent = new UserAgent(); $reflector = new ReflectionClass('\YooKassa\Client\UserAgent'); $method = $reflector->getMethod('setOs'); $method->setAccessible(true); $method->invokeArgs($agent, ['name' => 'CentOS', 'version' => '6.7']); $method = $reflector->getMethod('setPhp'); $method->setAccessible(true); $method->invokeArgs($agent, ['name' => 'PHP', 'version' => '5.4.45']); $method = $reflector->getMethod('setSdk'); $method->setAccessible(true); $method->invokeArgs($agent, ['name' => 'YooKassa.PHP', 'version' => '1.4.1']); $agent->setCms('Wordpress', '2.0.4'); $agent->setModule('Woocommerce', '1.2.3'); $this->assertEquals('CentOS/6.7 PHP/5.4.45 Wordpress/2.0.4 Woocommerce/1.2.3 YooKassa.PHP/1.4.1', $agent->getHeaderString()); } /** * @throws ReflectionException */ public function testSetGetOs(): void { $agent = new UserAgent(); $reflector = new ReflectionClass('\YooKassa\Client\UserAgent'); $method = $reflector->getMethod('setOs'); $method->setAccessible(true); $method->invokeArgs($agent, ['name' => 'CentOS', 'version' => '6.7']); $this->assertEquals('CentOS/6.7', $agent->getOs()); } /** * @throws ReflectionException */ public function testSetGetPhp(): void { $agent = new UserAgent(); $reflector = new ReflectionClass('\YooKassa\Client\UserAgent'); $method = $reflector->getMethod('setPhp'); $method->setAccessible(true); $method->invokeArgs($agent, ['name' => 'PHP', 'version' => '5.4.45']); $this->assertEquals('PHP/5.4.45', $agent->getPhp()); } public function testSetGetFramework(): void { $agent = new UserAgent(); $agent->setFramework('Yii', '2.4.1'); $this->assertEquals('Yii/2.4.1', $agent->getFramework()); } public function testSetGetCms(): void { $agent = new UserAgent(); $agent->setCms('Wordpress', '2.0.4'); $this->assertEquals('Wordpress/2.0.4', $agent->getCms()); } public function testSetGetModule(): void { $agent = new UserAgent(); $agent->setModule('Woocommerce', '1.2.3'); $this->assertEquals('Woocommerce/1.2.3', $agent->getModule()); } /** * @throws ReflectionException */ public function testSetGetSdk(): void { $agent = new UserAgent(); $reflector = new ReflectionClass('\YooKassa\Client\UserAgent'); $method = $reflector->getMethod('setSdk'); $method->setAccessible(true); $method->invokeArgs($agent, ['name' => 'YooKassa.PHP', 'version' => '1.4.1']); $this->assertEquals('YooKassa.PHP/1.4.1', $agent->getSdk()); } /** * @dataProvider validVersionDataProvider * * @param mixed $input * @param mixed $output */ public function testCreateVersion($input, $output): void { $agent = new UserAgent(); $this->assertEquals($agent->createVersion($input['name'], $input['version']), $output); } public static function validVersionDataProvider() { return [ [ ['name' => 'PHP ', 'version' => '1.2.3 '], 'PHP/1.2.3', ], [ ['name' => 'Ubuntu GNU/Linux', 'version' => ' 14.04'], 'Ubuntu.GNU.Linux/14.04', ], [ ['name' => 'YooKassa PHP', 'version' => '1/4.3'], 'YooKassa.PHP/1.4.3', ], ]; } }