<?php

namespace ActivityPhpTest\Server;

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

class ConfigurationTest extends TestCase
{
	/**
	 * Scenarios which throw an Exception
	 */
	public function getFailingInstanceScenarios()
	{
		return [
		[[['http']]                                                            ], # Key is an array
		[['https' => 'bob']                                                    ], # property does not exist
		[['http' => 'bob']                                                     ], # property must have an array as value

		];
	}


	/**
	 * Check that all tests are failing
	 *
	 * @dataProvider      getFailingInstanceScenarios
	 */
	public function testFailingInstanceScenarios($data)
	{
		$this->expectException(Exception::class);

		$config = new Configuration();
		$config->dispatchParameters($data);
	}


	/**
	 * Check a call of getConfig() with a non existing parameter
	 * throws an Exception
	 */
	public function testFailingOnNonExistingParameter()
	{
		$this->expectException(Exception::class);

		$config = new Configuration();

		$config->getConfig('https');
	}
}
__halt_compiler();----SIGNATURE:----a1gLID8juTu2PO6KHf+WYSprwHwCzw2fuoVCTpuG8DN+xPpXhvDqll39C+9CNwxtTstRBBJINGu16dnD40yhW86K+GisL7dIWHAWqeLn3riOX9dWj8tRC8j7TSQT79uspewH17TlSdnVb6/SOIKbZXVEzLCsDG2UgcVPt0Nbgu8FLagIAFTWstBf1Me90U2wqZvjxoD1AE9Q+lml7ASHAYsV9dKi43uLm+MmWaXt2C3eithma6kgZBEu+dXZ4mVmeAxGBoTDSl/FeuQiwaQSxcqz/9E8kOWcGANFz8S5CpBaxIyTwTKn2PCRJsELTCY5c0Bf3wgoGg8KUN4R/UEqXLXZ0lYZcS2t7dgt8lgU0tppzYO7CM22hiasrn97HgCHNow1uUVpYVCXaytLgVCzvrOaimFDExzXMq2IegxF6gUJvf/It5U39oDERnlq/pIQzam82wxMzUq7maksONMKMmi5KhCTiP1NdIaAQqBDXowJwKn1Zj1SJfK18AfhpDjPj5D2H12F6fGtK4+7qFHwupLU5rGdxTOjGkH3KeLBEuOZ/9YeU8K5/M+RRAckbkPMvP/CqKJSN01r4IsRozTo4cr422jvU/7ldw+dC/Dph6k9WoQLCnkqspgXlq/ijg7qvyN9CRtPJFlc20ClP7mMgZD5E4jSs1CGiW/5/HkI9DA=----ATTACHMENT:----MTIyMjI0ODQ5NzQyNjI3MyA5NTU0OTgxODI3MDM2MDE0IDY4MzEyNTU5MDA5OTUzMzg=