diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Actions/ActionImplementationTest.php | 5 | ||||
-rw-r--r-- | tests/Actions/ListActionTest.php | 5 | ||||
-rw-r--r-- | tests/BridgeFactoryTest.php | 30 | ||||
-rw-r--r-- | tests/ConfigurationTest.php | 19 |
4 files changed, 52 insertions, 7 deletions
diff --git a/tests/Actions/ActionImplementationTest.php b/tests/Actions/ActionImplementationTest.php index bf5dc4f9..e70dd7e2 100644 --- a/tests/Actions/ActionImplementationTest.php +++ b/tests/Actions/ActionImplementationTest.php @@ -10,6 +10,11 @@ class ActionImplementationTest extends TestCase private $class; private $obj; + public function setUp(): void + { + \Configuration::loadConfiguration(); + } + /** * @dataProvider dataActionsProvider */ diff --git a/tests/Actions/ListActionTest.php b/tests/Actions/ListActionTest.php index 4373be76..e0625fb3 100644 --- a/tests/Actions/ListActionTest.php +++ b/tests/Actions/ListActionTest.php @@ -7,6 +7,11 @@ use PHPUnit\Framework\TestCase; class ListActionTest extends TestCase { + public function setUp(): void + { + \Configuration::loadConfiguration(); + } + public function testHeaders() { $action = new \ListAction(); diff --git a/tests/BridgeFactoryTest.php b/tests/BridgeFactoryTest.php new file mode 100644 index 00000000..a97711ef --- /dev/null +++ b/tests/BridgeFactoryTest.php @@ -0,0 +1,30 @@ +<?php + +namespace RssBridge\Tests; + +use PHPUnit\Framework\TestCase; + +class BridgeFactoryTest extends TestCase +{ + public function setUp(): void + { + \Configuration::loadConfiguration(); + } + + public function testNormalizeBridgeName() + { + $this->assertSame('TwitterBridge', \BridgeFactory::normalizeBridgeName('TwitterBridge')); + $this->assertSame('TwitterBridge', \BridgeFactory::normalizeBridgeName('TwitterBridge.php')); + $this->assertSame('TwitterBridge', \BridgeFactory::normalizeBridgeName('Twitter')); + } + + public function testSanitizeBridgeName() + { + $sut = new \BridgeFactory(); + + $this->assertSame('TwitterBridge', $sut->createBridgeClassName('twitterbridge')); + $this->assertSame('TwitterBridge', $sut->createBridgeClassName('twitter')); + $this->assertSame('TwitterBridge', $sut->createBridgeClassName('tWitTer')); + $this->assertSame('TwitterBridge', $sut->createBridgeClassName('TWITTERBRIDGE')); + } +} diff --git a/tests/ConfigurationTest.php b/tests/ConfigurationTest.php index e913e463..4dcbfb8b 100644 --- a/tests/ConfigurationTest.php +++ b/tests/ConfigurationTest.php @@ -26,13 +26,18 @@ final class ConfigurationTest extends TestCase public function testValueFromEnv() { - putenv('RSSBRIDGE_system_timezone=Europe/Berlin'); - putenv('RSSBRIDGE_TwitterV2Bridge_twitterv2apitoken=aaa'); - putenv('RSSBRIDGE_SQLiteCache_file=bbb'); - Configuration::loadConfiguration([], getenv()); + $env = [ + 'RSSBRIDGE_system_timezone' => 'Europe/Berlin', + 'RSSBRIDGE_SYSTEM_MESSAGE' => 'hello', + 'RSSBRIDGE_system_enabled_bridges' => 'TwitterBridge,GettrBridge', + 'RSSBRIDGE_system_enable_debug_mode' => 'true', + 'RSSBRIDGE_fileCache_path' => '/tmp/kek', + ]; + Configuration::loadConfiguration([], $env); $this->assertSame('Europe/Berlin', Configuration::getConfig('system', 'timezone')); - $this->assertSame('aaa', Configuration::getConfig('TwitterV2Bridge', 'twitterv2apitoken')); - $this->assertSame('bbb', Configuration::getConfig('SQLiteCache', 'file')); - $this->assertSame('bbb', Configuration::getConfig('sqlitecache', 'file')); + $this->assertSame('hello', Configuration::getConfig('system', 'message')); + $this->assertSame(true, Configuration::getConfig('system', 'enable_debug_mode')); + $this->assertSame('/tmp/kek', Configuration::getConfig('FileCache', 'path')); + $this->assertSame(['TwitterBridge', 'GettrBridge'], Configuration::getConfig('system', 'enabled_bridges')); } } |