From e6ed8a30171b86b452cec21a283373fc14dd5330 Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Tue, 19 Sep 2017 19:33:24 +0200 Subject: Changed LogEntries table: Use log level instead of nick name --- phpunit.xml | 3 +++ 1 file changed, 3 insertions(+) (limited to 'phpunit.xml') diff --git a/phpunit.xml b/phpunit.xml index ff6eb120..ee5ae3e8 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -7,6 +7,9 @@ ./test/model/ + + ./test/Logger/ + -- cgit v1.2.3-54-g00ecf From c57dfc631caf98df46ac014812f962863f0bfa61 Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Tue, 19 Sep 2017 19:50:59 +0200 Subject: engelsystem_provider should not be loaded in phpunit, changed dir structure --- phpunit.xml | 9 +- test/Logger/EngelsystemLoggerTest.php | 131 ------------------------ test/model/LogEntriesModelTest.php | 33 ------ test/model/RoomModelTest.php | 35 ------- tests/Feature/Logger/EngelsystemLoggerTest.php | 136 +++++++++++++++++++++++++ tests/Feature/model/LogEntriesModelTest.php | 38 +++++++ tests/Feature/model/RoomModelTest.php | 40 ++++++++ 7 files changed, 217 insertions(+), 205 deletions(-) delete mode 100644 test/Logger/EngelsystemLoggerTest.php delete mode 100644 test/model/LogEntriesModelTest.php delete mode 100644 test/model/RoomModelTest.php create mode 100644 tests/Feature/Logger/EngelsystemLoggerTest.php create mode 100644 tests/Feature/model/LogEntriesModelTest.php create mode 100644 tests/Feature/model/RoomModelTest.php (limited to 'phpunit.xml') diff --git a/phpunit.xml b/phpunit.xml index ee5ae3e8..e78a54f3 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,14 +1,11 @@ - - ./test/model/ - - - ./test/Logger/ + + ./tests/Feature diff --git a/test/Logger/EngelsystemLoggerTest.php b/test/Logger/EngelsystemLoggerTest.php deleted file mode 100644 index 2219cdb2..00000000 --- a/test/Logger/EngelsystemLoggerTest.php +++ /dev/null @@ -1,131 +0,0 @@ -assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger()); - } - - /** - * @dataProvider provideLogLevels - * @param string $level - */ - public function testAllLevels($level) - { - $logger = $this->getLogger(); - - LogEntries_clear_all(); - - $logger->log($level, 'First log message'); - $logger->{$level}('Second log message'); - - $entries = LogEntries(); - $this->assertCount(2, $entries); - } - - /** - * @return string[] - */ - public function provideLogLevels() - { - return [ - [LogLevel::ALERT], - [LogLevel::CRITICAL], - [LogLevel::DEBUG], - [LogLevel::EMERGENCY], - [LogLevel::ERROR], - [LogLevel::INFO], - [LogLevel::NOTICE], - [LogLevel::WARNING], - ]; - } - - public function testContextReplacement() - { - $logger = $this->getLogger(); - LogEntries_clear_all(); - - $logger->log(LogLevel::INFO, 'My username is {username}', ['username' => 'Foo']); - - $entry = $this->getLastEntry(); - $this->assertEquals('My username is Foo', $entry['message']); - $this->assertEquals(LogLevel::INFO, $entry['level']); - - foreach ( - [ - ['Data and {context}', []], - ['Data and ', ['context' => null]], - ['Data and {context}', ['context' => new \stdClass()]], - ] as $data - ) { - list($result, $context) = $data; - - $logger->log(LogLevel::INFO, 'Data and {context}', $context); - - $entry = $this->getLastEntry(); - $this->assertEquals($result, $entry['message']); - } - } - - public function testContextToString() - { - $logger = $this->getLogger(); - LogEntries_clear_all(); - - $mock = $this->getMockBuilder('someDataProvider') - ->setMethods(['__toString']) - ->getMock(); - - $mock->expects($this->atLeastOnce()) - ->method('__toString') - ->will($this->returnValue('FooBar')); - - $logger->log(LogLevel::INFO, 'Some data and {context}', ['context' => $mock]); - - $entry = $this->getLastEntry(); - $this->assertEquals('Some data and FooBar', $entry['message']); - } - - /** - * @expectedException InvalidArgumentException - */ - public function testThrowExceptionOnInvalidLevel() - { - $logger = $this->getLogger(); - - $logger->log('This log level should never be defined', 'Some message'); - } - - /** - * @return array - */ - public function getLastEntry() - { - $entries = LogEntries(); - $entry = array_pop($entries); - - return $entry; - } - - public function tearDown() - { - LogEntries_clear_all(); - } -} diff --git a/test/model/LogEntriesModelTest.php b/test/model/LogEntriesModelTest.php deleted file mode 100644 index 761725c4..00000000 --- a/test/model/LogEntriesModelTest.php +++ /dev/null @@ -1,33 +0,0 @@ -assertNotFalse(LogEntry_create(LogLevel::WARNING, 'test_LogEntry_create')); - - // There should be one more log entry now - $this->assertEquals(count(LogEntries()), $count + 1); - } - - public function testClearAllLogEntries() - { - LogEntry_create(LogLevel::WARNING, 'test'); - $this->assertTrue(count(LogEntries()) > 0); - - $this->assertNotFalse(LogEntries_clear_all()); - $this->assertCount(0, LogEntries()); - } - - public function tearDown() - { - LogEntries_clear_all(); - } -} diff --git a/test/model/RoomModelTest.php b/test/model/RoomModelTest.php deleted file mode 100644 index 4205845b..00000000 --- a/test/model/RoomModelTest.php +++ /dev/null @@ -1,35 +0,0 @@ -room_id = Room_create('test', false, true, ''); - } - - public function test_Room() - { - $this->create_Room(); - - $room = Room($this->room_id); - - $this->assertNotFalse($room); - $this->assertNotNull($room); - $this->assertEquals($room['Name'], 'test'); - - $this->assertNull(Room(-1)); - } - - public function tearDown() - { - if ($this->room_id != null) { - Room_delete($this->room_id); - } - } -} diff --git a/tests/Feature/Logger/EngelsystemLoggerTest.php b/tests/Feature/Logger/EngelsystemLoggerTest.php new file mode 100644 index 00000000..3b6572f5 --- /dev/null +++ b/tests/Feature/Logger/EngelsystemLoggerTest.php @@ -0,0 +1,136 @@ +assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger()); + } + + /** + * @dataProvider provideLogLevels + * @param string $level + */ + public function testAllLevels($level) + { + $logger = $this->getLogger(); + + LogEntries_clear_all(); + + $logger->log($level, 'First log message'); + $logger->{$level}('Second log message'); + + $entries = LogEntries(); + $this->assertCount(2, $entries); + } + + /** + * @return string[] + */ + public function provideLogLevels() + { + return [ + [LogLevel::ALERT], + [LogLevel::CRITICAL], + [LogLevel::DEBUG], + [LogLevel::EMERGENCY], + [LogLevel::ERROR], + [LogLevel::INFO], + [LogLevel::NOTICE], + [LogLevel::WARNING], + ]; + } + + public function testContextReplacement() + { + $logger = $this->getLogger(); + LogEntries_clear_all(); + + $logger->log(LogLevel::INFO, 'My username is {username}', ['username' => 'Foo']); + + $entry = $this->getLastEntry(); + $this->assertEquals('My username is Foo', $entry['message']); + $this->assertEquals(LogLevel::INFO, $entry['level']); + + foreach ( + [ + ['Data and {context}', []], + ['Data and ', ['context' => null]], + ['Data and {context}', ['context' => new \stdClass()]], + ] as $data + ) { + list($result, $context) = $data; + + $logger->log(LogLevel::INFO, 'Data and {context}', $context); + + $entry = $this->getLastEntry(); + $this->assertEquals($result, $entry['message']); + } + } + + public function testContextToString() + { + $logger = $this->getLogger(); + LogEntries_clear_all(); + + $mock = $this->getMockBuilder('someDataProvider') + ->setMethods(['__toString']) + ->getMock(); + + $mock->expects($this->atLeastOnce()) + ->method('__toString') + ->will($this->returnValue('FooBar')); + + $logger->log(LogLevel::INFO, 'Some data and {context}', ['context' => $mock]); + + $entry = $this->getLastEntry(); + $this->assertEquals('Some data and FooBar', $entry['message']); + } + + /** + * @expectedException InvalidArgumentException + */ + public function testThrowExceptionOnInvalidLevel() + { + $logger = $this->getLogger(); + + $logger->log('This log level should never be defined', 'Some message'); + } + + /** + * @return array + */ + public function getLastEntry() + { + $entries = LogEntries(); + $entry = array_pop($entries); + + return $entry; + } + + public function tearDown() + { + LogEntries_clear_all(); + } +} diff --git a/tests/Feature/model/LogEntriesModelTest.php b/tests/Feature/model/LogEntriesModelTest.php new file mode 100644 index 00000000..6d7b0ebc --- /dev/null +++ b/tests/Feature/model/LogEntriesModelTest.php @@ -0,0 +1,38 @@ +assertNotFalse(LogEntry_create(LogLevel::WARNING, 'test_LogEntry_create')); + + // There should be one more log entry now + $this->assertEquals(count(LogEntries()), $count + 1); + } + + public function testClearAllLogEntries() + { + LogEntry_create(LogLevel::WARNING, 'test'); + $this->assertTrue(count(LogEntries()) > 0); + + $this->assertNotFalse(LogEntries_clear_all()); + $this->assertCount(0, LogEntries()); + } + + public function tearDown() + { + LogEntries_clear_all(); + } +} diff --git a/tests/Feature/model/RoomModelTest.php b/tests/Feature/model/RoomModelTest.php new file mode 100644 index 00000000..96be84a2 --- /dev/null +++ b/tests/Feature/model/RoomModelTest.php @@ -0,0 +1,40 @@ +room_id = Room_create('test', false, true, ''); + } + + public function test_Room() + { + $this->create_Room(); + + $room = Room($this->room_id); + + $this->assertNotFalse($room); + $this->assertNotNull($room); + $this->assertEquals($room['Name'], 'test'); + + $this->assertNull(Room(-1)); + } + + public function tearDown() + { + if ($this->room_id != null) { + Room_delete($this->room_id); + } + } +} -- cgit v1.2.3-54-g00ecf From abb99bf36c6c09f395c49ca34eb49d2ba6ff224d Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Tue, 19 Sep 2017 21:19:56 +0200 Subject: Added Config unit test --- phpunit.xml | 3 + tests/Unit/Config/ConfigTest.php | 115 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 tests/Unit/Config/ConfigTest.php (limited to 'phpunit.xml') diff --git a/phpunit.xml b/phpunit.xml index e78a54f3..92dc5a5b 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -7,6 +7,9 @@ ./tests/Feature + + ./tests/Unit + diff --git a/tests/Unit/Config/ConfigTest.php b/tests/Unit/Config/ConfigTest.php new file mode 100644 index 00000000..ce11ebd6 --- /dev/null +++ b/tests/Unit/Config/ConfigTest.php @@ -0,0 +1,115 @@ +set('test', 'FooBar'); + $this->assertEquals(['test' => 'FooBar'], $config->get(null)); + $this->assertEquals('FooBar', $config->get('test')); + + $this->assertEquals('defaultValue', $config->get('notExisting', 'defaultValue')); + + $this->assertNull($config->get('notExisting')); + } + + /** + * @covers \Engelsystem\Config\Config::set + */ + public function testSet() + { + $config = new Config(); + + $config->set('test', 'FooBar'); + $this->assertEquals('FooBar', $config->get('test')); + + $config->set([ + 'name' => 'Engelsystem', + 'mail' => ['user' => 'test'], + ]); + $this->assertEquals('Engelsystem', $config->get('name')); + $this->assertEquals(['user' => 'test'], $config->get('mail')); + } + + /** + * @covers \Engelsystem\Config\Config::has + */ + public function testHas() + { + $config = new Config(); + + $this->assertFalse($config->has('test')); + + $config->set('test', 'FooBar'); + $this->assertTrue($config->has('test')); + } + + /** + * @covers \Engelsystem\Config\Config::remove + */ + public function testRemove() + { + $config = new Config(); + $config->set(['foo' => 'bar', 'test' => '123']); + + $config->remove('foo'); + $this->assertEquals(['test' => '123'], $config->get(null)); + } + + /** + * @covers \Engelsystem\Config\Config::__get + */ + public function testMagicGet() + { + $config = new Config(); + + $config->set('test', 'FooBar'); + $this->assertEquals('FooBar', $config->test); + } + + /** + * @covers \Engelsystem\Config\Config::__set + */ + public function testMagicSet() + { + $config = new Config(); + + $config->test = 'FooBar'; + $this->assertEquals('FooBar', $config->get('test')); + } + + /** + * @covers \Engelsystem\Config\Config::__isset + */ + public function testMagicIsset() + { + $config = new Config(); + + $this->assertFalse(isset($config->test)); + + $config->set('test', 'FooBar'); + $this->assertTrue(isset($config->test)); + } + + /** + * @covers \Engelsystem\Config\Config::__unset + */ + public function testMagicUnset() + { + $config = new Config(); + $config->set(['foo' => 'bar', 'test' => '123']); + + unset($config->foo); + $this->assertEquals(['test' => '123'], $config->get(null)); + } +} -- cgit v1.2.3-54-g00ecf From 3141c3f8b5fd1a45d337c1f5540cb715a5a7dbbf Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Wed, 20 Sep 2017 01:21:36 +0200 Subject: Fixed Container test --- phpunit.xml | 1 - tests/Unit/Container/ContainerTest.php | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'phpunit.xml') diff --git a/phpunit.xml b/phpunit.xml index 92dc5a5b..bdc4b0b6 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -14,7 +14,6 @@ ./include/ - ./public/ ./src/ diff --git a/tests/Unit/Container/ContainerTest.php b/tests/Unit/Container/ContainerTest.php index f0ba24e7..89c34209 100644 --- a/tests/Unit/Container/ContainerTest.php +++ b/tests/Unit/Container/ContainerTest.php @@ -85,6 +85,12 @@ class ContainerTest extends TestCase */ public function testContainerSingleton() { + // Ensure that no container has been initialized + $reflection = new \ReflectionProperty(Container::class, 'instance'); + $reflection->setAccessible(true); + $reflection->setValue(null, null); + $reflection->setAccessible(false); + $container0 = new Container(); $container = Container::getInstance(); -- cgit v1.2.3-54-g00ecf