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); }
/** * Create the SQL request from the request's template. * @return string The method returns a string that represents the SQL request. */ private function __sql() { return UtilMySql::developSql($this->__sql, $this->getDatabaseSchema(), true, true); }
/** * Create the SQL request from the request's template. * @return string The method returns a string that represents the SQL request. */ private function __sql() { $sql = UtilMySql::developSql($this->__sql, $this->getDatabaseSchema(), true, true); return str_replace('__V__', OutputValues::OUTPUT_VALUE_IS_AUTHENTICATED, $sql); }