public function Test_of_save() { $Users = new AkTestUser(); $User = $Users->find(3); $User->setAttribute('country', 23); $User->save(); $User = $Users->find(3); $this->assertEqual($User->get('country'), 23); $User = new AkTestUser(); $User->addCombinedAttributeConfiguration('name', "%s %s", 'first_name', 'last_name'); $User->setAttributes(array('name' => 'Alicia MiLuv')); $User->save(); $User = $Users->find('first', array('conditions' => "first_name = 'Alicia' AND last_name = 'MiLuv'")); $this->assertEqual($User->first_name, 'Alicia'); $this->assertEqual($User->last_name, 'MiLuv'); $User = new AkTestUser(array('last_name' => 'Smith', 'first_name' => 'John')); $User->save(); $User = $Users->find('first', "first_name = 'John' AND last_name = 'Smith'"); $this->assertEqual($User->first_name, 'John'); $this->assertEqual($User->last_name, 'Smith'); }
public function Test_of_find2() { $Users = new AkTestUser(array('first_name' => 'Tim', "last_name" => "O'Reilly", 'user_name' => 'tim_oreilly')); $this->assertTrue($Users->save()); $Users = new AkTestUser(array('first_name' => 'Alicia', "last_name" => "SadurnĂ", 'user_name' => 'alicia_sadurni')); $this->assertTrue($Users->save()); $User = $Users->find('first', array('conditions' => array("last_name = :last_name", ':last_name' => "O'Reilly"))); $this->assertTrue($User->first_name == 'Tim' && $User->last_name == "O'Reilly" && $User->user_name == 'tim_oreilly'); $this->assertFalse($Users->find('first', array('default' => false, 'conditions' => array("last_name = :last_name", ':last_name' => "' OR 1=1 AND first_name='Tim")))); $params = array('last_name' => "O'Reilly"); $User = $Users->find('first', array('conditions' => $params)); $this->assertTrue($User->first_name == 'Tim' && $User->last_name == "O'Reilly" && $User->user_name == 'tim_oreilly'); //Trying sql inyection on values $params = array('last_name' => "' OR 1=1 AND first_name='Tim"); $this->assertFalse($Users->find('first', array('conditions' => $params, 'default' => false))); //Trying sql inyection on keys $params = array("last_name ='Tim' OR last_name" => "Not available name"); $User = $Users->find('first', array('conditions' => $params)); $this->assertFalse($User->first_name == 'Tim' && $User->last_name == "O'Reilly" && $User->user_name == 'tim_oreilly'); $User = $Users->find("first_name = ?", 'Tim'); $this->assertTrue($User[0]->first_name == 'Tim' && $User[0]->last_name == "O'Reilly" && $User[0]->user_name == 'tim_oreilly'); $User = $Users->find('first', "first_name = ?", 'Tim'); $this->assertTrue($User->first_name == 'Tim' && $User->last_name == "O'Reilly" && $User->user_name == 'tim_oreilly'); $FoundUsers = $Users->find('all', "first_name = ? OR first_name LIKE ?", 'Tim', 'Al%', array('order' => 'last_name ASC')); $this->assertTrue($FoundUsers[0]->first_name == 'Tim'); $this->assertTrue($FoundUsers[1]->first_name == 'Alicia'); $FoundUsers = $Users->find('all', "first_name = ? OR first_name LIKE ?", 'Tim', 'Al%', array('order' => 'last_name ASC')); $this->assertTrue($FoundUsers[0]->first_name == 'Tim'); $this->assertTrue($FoundUsers[1]->first_name == 'Alicia'); $this->assertFalse($Users->find("last_name = ?", "' OR 1=1 AND first_name='Tim", array('default' => false))); }