php-bitpay-client/tests/Bitpay/Config/ConfigurationTest.php

75 lines
2.1 KiB
PHP

<?php
/**
* @license Copyright 2011-2014 BitPay Inc., MIT License
* see https://github.com/bitpay/php-bitpay-client/blob/master/LICENSE
*/
namespace Bitpay\Config;
use Symfony\Component\Config\Definition\Processor;
class ConfigurationTest extends \PHPUnit_Framework_TestCase
{
public function testProcessAndValidate()
{
$processor = new Processor();
$processedConfig = $processor->processConfiguration(
new Configuration(),
array()
);
$this->assertArrayHasKey('public_key', $processedConfig);
$this->assertArrayHasKey('private_key', $processedConfig);
$this->assertArrayHasKey('sin_key', $processedConfig);
$this->assertArrayHasKey('adapter', $processedConfig);
$this->assertArrayHasKey('key_storage', $processedConfig);
$this->assertArrayHasKey('key_storage_password', $processedConfig);
$this->assertCount(6, $processedConfig);
}
/**
* @expectedException \Exception
*/
public function testClassNotFoundKeyStorageConfig()
{
$processor = new Processor();
$processor->processConfiguration(
new Configuration(),
array(
'bitpay' => array(
'key_storage' => 'Foo\Bar'
)
)
);
}
/**
* @expectedException \Exception
*/
public function testClassDoesNotImplementInterfaceKeyStorageConfig()
{
$processor = new Processor();
$processor->processConfiguration(
new Configuration(),
array(
'bitpay' => array(
'key_storage' => 'stdClass'
)
)
);
}
public function testAcceptableKeyStorageConfig()
{
$processor = new Processor();
$processor->processConfiguration(
new Configuration(),
array(
'bitpay' => array(
'key_storage' => '\\Bitpay\\Storage\\EncryptedFilesystemStorage'
)
)
);
}
}