assertTrue( \manager\Database::check('id', 0) ); } public function testIdSizeInfStringCorrect(){ $this->assertTrue( \manager\Database::check('id', '0') ); } /* (2) Taille inferieure depassement */ public function testIdSizeInfIncorrect(){ $this->assertFalse( \manager\Database::check('id', -1) ); } public function testIdSizeInfStringIncorrect(){ $this->assertFalse( \manager\Database::check('id', '-1') ); } /* (3) Taille superieure correcte */ public function testIdSizeSupCorrect(){ $this->assertTrue( \manager\Database::check('id', 2147483647) ); } public function testIdSizeSupStringCorrect(){ $this->assertTrue( \manager\Database::check('id', '2147483647') ); } /* (3) Taille superieure depassement */ public function testIdSizeSupIncorrect(){ $this->assertFalse( \manager\Database::check('id', 2147483648) ); } public function testIdSizeSupStringIncorrect(){ $this->assertFalse( \manager\Database::check('id', '2147483648') ); } /* [2] Varchar =========================================================*/ /* (1) Type */ public function testVarcharTypeCorrect(){ $this->assertTrue( \manager\Database::check('varchar(0,10)', 'string') ); } public function testVarcharTypeIncorrect(){ $this->assertFalse( \manager\Database::check('varchar(0,10)', 10 ) ); $this->assertFalse( \manager\Database::check('varchar(0,10)', array() ) ); } /* (2) Borne inferieure */ public function testVarcharLtMin(){ $min = rand(1, 50); $string = str_repeat('a', $min-1); $this->assertFalse( \manager\Database::check("varchar($min, 255)", $string) ); } public function testVarcharEqMin(){ $min = rand(1, 50); $string = str_repeat('a', $min); $this->assertTrue( \manager\Database::check("varchar($min, 255)", $string) ); } public function testVarcharGtMin(){ $min = rand(1, 50); $string = str_repeat('a', $min+1); $this->assertTrue( \manager\Database::check("varchar($min, 255)", $string) ); } /* (3) Borne superieure */ public function testVarcharLtMax(){ $max = rand(1, 255); $string = str_repeat('a', $max-1); $this->assertTrue( \manager\Database::check("varchar(0, $max)", $string) ); } public function testVarcharEqMax(){ $max = rand(1, 255); $string = str_repeat('a', $max); $this->assertTrue( \manager\Database::check("varchar(0, $max)", $string) ); } public function testVarcharGtMax(){ $max = rand(1, 255); $string = str_repeat('a', $max+1); $this->assertFalse( \manager\Database::check("varchar(0, $max)", $string) ); } /* [3] Test des tableaux avec type des elements =========================================================*/ /* (1) Type */ public function testArrayTypeCorrect(){ $this->assertTrue( \manager\Database::check('array', array() ) ); } public function testArrayTypeIncorrect(){ $this->assertFalse( \manager\Database::check('array', 10 ) ); $this->assertFalse( \manager\Database::check('array', 'string' ) ); } /* (2) Tests divers */ public function testArrayEmpty(){ $arr = array(); $this->assertTrue( \manager\Database::check("array", $arr) ); } public function testArrayNotEmpty(){ $arr = array('a', 'b'); $this->assertTrue( \manager\Database::check("array", $arr) ); } public function testArrayAllRight(){ $arr = array('a', 'aa', 'a', 'bb'); $this->assertTrue( \manager\Database::check("array", $arr) ); } public function testArrayOneWrong(){ $arr = array('a', 'aa', 'a', 'bb', 'aaa'); $this->assertFalse( \manager\Database::check("array", $arr) ); } public function testArrayRecursive(){ $arr = array( array(1, 100), array(1, 100), array(1, 100), array(1, 100) ); $this->assertFalse( \manager\Database::check("array>", $arr) ); } /* [4] Adresse mail =========================================================*/ /* (1) Size */ public function testMailSizeEqCorrect(){ $this->assertLessThanOrEqual( 50, strlen('nom-prenom.mot@domaine-d.gouv') ); $this->assertTrue( \manager\Database::check('mail', 'nom-prenom.mot@domaine-d.gouv') ); } public function testMailSizeSupCorrect(){ $this->assertGreaterThan( 50, strlen('ab12345678901234567890nom-prenom.mot@domaine-d.gouv') ); $this->assertFalse( \manager\Database::check('mail', 'ab12345678901234567890nom-prenom.mot@domaine-d.gouv') ); } /* (2) Content */ public function testMailContentCorrect(){ $this->assertTrue( \manager\Database::check('mail', '0nom-prenom.mot@domaine-d.gouv') ); } public function testMailContentIncorrect1(){ $this->assertFalse( \manager\Database::check('mail', '0nom-prenom.mot@domaine-d.gouve') ); } public function testMailContentIncorrect2(){ $this->assertFalse( \manager\Database::check('mail', '0nom-prenom.mot@domaine-d.g') ); } /* [5] SHA1 hash =========================================================*/ public function testPasswordSizeEqCorrect(){ $password_hash = \manager\sessionManager::sha1('monmotdepasse'); $this->assertEquals( 40, strlen($password_hash) ); $this->assertTrue( \manager\Database::check('sha1', $password_hash) ); } public function testPasswordSizeInfIncorrect(){ $password_hash = 'a'; $this->assertLessThan( 40, strlen($password_hash) ); $this->assertFalse( \manager\Database::check('sha1', $password_hash) ); } public function testPasswordSizeSupIncorrect(){ $password_hash = \manager\sessionManager::sha1('monmotdepasse').'a'; $this->assertGreaterThan( 40, strlen($password_hash) ); $this->assertFalse( \manager\Database::check('sha1', $password_hash) ); } public function testPasswordContentCorrect(){ $this->assertTrue( \manager\Database::check('sha1', 'dd629d39c4576731a2bef003c72ff89d6fc2a99a') ); } public function testPasswordContentIncorrect(){ $this->assertContains( 'g', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g' ); $this->assertFalse( \manager\Database::check('sha1', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g') ); } } ?>