public function testGetDatabaseSchema() { $schema = UtilUnitTest::call_private_or_protected_method(get_class($this->__extractor), '_getDatabaseSchema', $this->__extractor, $this->__mySqlConnector); $this->assertTrue(is_array($schema)); /** * @var array $schema */ $sortedSchema = []; $keys = array_keys($schema); sort($keys); foreach ($keys as $_key) { $fields = $schema[$_key]; sort($fields); $sortedSchema[$_key] = $fields; } $referencePath = $this->__generalConfiguration['test']['dir.references'] . DIRECTORY_SEPARATOR . 'mysql_db_schema.json'; $this->assertJsonStringEqualsJsonFile($referencePath, json_encode($sortedSchema)); }
public function testDevelopSql() { $sql = "SELECT __USER__ FROM `user`"; $tags = ['__USER__' => 'user.*', '__PROFILE__' => 'profile.*']; $expected = "SELECT user.id, user.login FROM `user`"; $result = UtilMySql::developSql($sql, $this->__schema, false, false, $tags); $this->assertEquals($expected, $result); $expected = "SELECT user.id AS 'user.id', user.login AS 'user.login' FROM `user`"; $result = UtilMySql::developSql($sql, $this->__schema, true, false, $tags); $this->assertEquals($expected, $result); $expected = "SELECT `user`.`id` AS 'user.id', `user`.`login` AS 'user.login' FROM `user`"; $result = UtilMySql::developSql($sql, $this->__schema, true, true, $tags); $this->assertEquals($expected, $result); // ------- $sql = "SELECT user.* FROM `user`"; $tags = []; $expected = "SELECT user.id, user.login FROM `user`"; $result = UtilMySql::developSql($sql, $this->__schema, false, false, $tags); $this->assertEquals($expected, $result); $expected = "SELECT user.id AS 'user.id', user.login AS 'user.login' FROM `user`"; $result = UtilMySql::developSql($sql, $this->__schema, true, false, $tags); $this->assertEquals($expected, $result); $expected = "SELECT `user`.`id` AS 'user.id', `user`.`login` AS 'user.login' FROM `user`"; $result = UtilMySql::developSql($sql, $this->__schema, true, true, $tags); $this->assertEquals($expected, $result); // ------- $sql = "SELECT __USER__, __PROFILE__ FROM `user` INNER JOIN `profile` ON user.id=profile.fk_user_id"; $tags = ['__USER__' => 'user.*', '__PROFILE__' => 'profile.*']; $expected = "SELECT user.id, user.login, profile.id, profile.age, profile.fk_user_id FROM `user` INNER JOIN `profile` ON user.id=profile.fk_user_id"; $result = UtilUnitTest::call_private_or_protected_static_method('\\dbeurive\\Util\\UtilSql\\MySql', 'developSql', $sql, $this->__schema, false, false, $tags); $this->assertEquals($expected, $result); $expected = "SELECT user.id AS 'user.id', user.login AS 'user.login', profile.id AS 'profile.id', profile.age AS 'profile.age', profile.fk_user_id AS 'profile.fk_user_id' FROM `user` INNER JOIN `profile` ON user.id=profile.fk_user_id"; $result = UtilUnitTest::call_private_or_protected_static_method('\\dbeurive\\Util\\UtilSql\\MySql', 'developSql', $sql, $this->__schema, true, false, $tags); $this->assertEquals($expected, $result); $expected = "SELECT `user`.`id` AS 'user.id', `user`.`login` AS 'user.login', `profile`.`id` AS 'profile.id', `profile`.`age` AS 'profile.age', `profile`.`fk_user_id` AS 'profile.fk_user_id' FROM `user` INNER JOIN `profile` ON user.id=profile.fk_user_id"; $result = UtilUnitTest::call_private_or_protected_static_method('\\dbeurive\\Util\\UtilSql\\MySql', 'developSql', $sql, $this->__schema, true, true, $tags); $this->assertEquals($expected, $result); // ------- $sql = "SELECT user.*, profile.* FROM `user` INNER JOIN `profile` ON user.id=profile.fk_user_id"; $tags = []; $expected = "SELECT user.id, user.login, profile.id, profile.age, profile.fk_user_id FROM `user` INNER JOIN `profile` ON user.id=profile.fk_user_id"; $result = UtilUnitTest::call_private_or_protected_static_method('\\dbeurive\\Util\\UtilSql\\MySql', 'developSql', $sql, $this->__schema, false, false, $tags); $this->assertEquals($expected, $result); $expected = "SELECT user.id AS 'user.id', user.login AS 'user.login', profile.id AS 'profile.id', profile.age AS 'profile.age', profile.fk_user_id AS 'profile.fk_user_id' FROM `user` INNER JOIN `profile` ON user.id=profile.fk_user_id"; $result = UtilUnitTest::call_private_or_protected_static_method('\\dbeurive\\Util\\UtilSql\\MySql', 'developSql', $sql, $this->__schema, true, false, $tags); $this->assertEquals($expected, $result); $expected = "SELECT `user`.`id` AS 'user.id', `user`.`login` AS 'user.login', `profile`.`id` AS 'profile.id', `profile`.`age` AS 'profile.age', `profile`.`fk_user_id` AS 'profile.fk_user_id' FROM `user` INNER JOIN `profile` ON user.id=profile.fk_user_id"; $result = UtilUnitTest::call_private_or_protected_static_method('\\dbeurive\\Util\\UtilSql\\MySql', 'developSql', $sql, $this->__schema, true, true, $tags); $this->assertEquals($expected, $result); }
public function testProtectedNonStatic() { $o = new ClassToTest(); $o->factor = 5; $this->assertEquals(50, UtilUnitTest::call_private_or_protected_method('\\dbeurive\\UtilTest\\ClassToTest', '_protectedNonStatic', $o, 10)); }