<?php

namespace ActivityPhpTest\Server;

use ActivityPhp\Server;
use PHPUnit\Framework\TestCase;

class ServerHttpTest extends TestCase
{
	public function testDefaultUserAgent()
	{
		$server = new Server([
		    'logger'    => [
		       'driver' => '\Psr\Log\NullLogger'
		    ],
		    'cache' => [
		        'enabled' => false,
		    ],
		    'http' => [],
		    'instance' => [
		        'host' => 'custom.federated',
		    ],
		]);

		//
		// PHPUnit >= 9
		if (method_exists($this, 'assertMatchesRegularExpression')) {
		    $this->assertMatchesRegularExpression(
		        '/ActivityPhp\/\d.\d.\d \(\+https:\/\/custom.federated\)/',
		        Server::server()->config('http.agent')
		    );
		// PHPUnit < 9
		} else {
		    $this->assertRegExp(
		        '/ActivityPhp\/\d.\d.\d \(\+https:\/\/custom.federated\)/',
		        Server::server()->config('http.agent')
		    );
		}
	}


	public function testUserAgentCustomization()
	{
		$server = new Server([
		    'logger'    => [
		       'driver' => '\Psr\Log\NullLogger'
		    ],
		    'cache' => [
		        'enabled' => false,
		    ],
		    'http' => [
		        'agent' => "MyUserAgent"
		    ],
		    'instance' => [
		        'host' => 'custom.federated',
		    ],
		]);

		$this->assertEquals(
		    Server::server()->config('http.agent'),
		    "MyUserAgent"
		);
	}
}
__halt_compiler();----SIGNATURE:----s62XLtpobCgfd6JLriH3Ss/njnYR3aPChIp6dC+1CdPja+M9+G3QK9amp7KCpRgrMhJJkVtkqgy7wvcqOOrA1ejpuTj92zEKvhGk5eQgLgE396A/0Xcn0tO2vRA70QBTHxhBR4ZHs1IeYyfCAFKFfKoL3nYMIyUh+XBc+MlfzBl4TFwUsGoYgsvZen2YVo3hyTgy36x97ty5ILmJlybY+dRNq3Ffg1D/cKGotVxMMKJBM0gfpal5aevPOC9HE/KMjY2jrXUft14rdnL8C7Z5TKynH5hf14rfjNKCD61pbMKrq5oLUWSP3nDjiExv9WwXkLv9tECu4hYbbLD7ITNJhvZoLMHw1mwtnz8yB3igQ+RWnX7Ehf9KO2hWcktLy1wmlj5cej/mM/frj/dDzvmGzQ6Z76arcowyblHyDDnSDVysJ3Y2jo+JIMNmoW40GooTNsiwFxK0EO3JSD3POe6vg+ob67JBx5wdPQByKJpL/CLj+xHY1lb8KJ22lEstIBycebIEG7gMSi2PzXRKgSh1Q3iQLSnzm29s76qyAdrz8UtSiVp/i2/2N+MCFaeIyCG83JI8nr37Y+1hOW0j8VS3/xtoDs52jNZYXr74AiUfyvqm7N5SYXIHvFeZjJMwzhN9RIlFnBdX4ZaI4Zb7/7guGaFjqgvjdvC3DtKe7xlXR08=----ATTACHMENT:----NjEyMDYxOTAxNjE1NTg2NSAxMDQ3MjAwMDgxMTI3MDYyIDE0NDcxNTI5MjgyOTM5MjI=