/** * Luo ja tallentaa testausta varten henkilön: Palauttaa joko * Henkilo-luokan olion tai arvon Mallipohjaluokka::$VIRHE. */ public function luo_testihenkilo2($etun, $sukun, $testi_svuosi, $ktunnus, $salis) { $palaute = Malliluokkapohja::$VIRHE; $kaveri = Kayttajatestaus::luo_testihenkilo($etun, $sukun, $ktunnus, $salis, $this->tietokantaolio); if ($kaveri instanceof Henkilo) { $kaveri->set_arvo($testi_svuosi, Henkilo::$sarakenimi_syntymavuosi); $palaute = $kaveri->tallenna_uusi(); if ($palaute === Henkilo::$OPERAATIO_ONNISTUI) { $palaute = $kaveri; } } return $palaute; }
require_once 'bongaus/havainnot/Havainto.php'; require_once 'pikakommentointi/Pikakommentti.php'; require_once 'pikakommentointi/Kontrolleri_pikakommentit.php'; require_once 'pikakommentointi/Nakyma_pikakommentit.php'; require_once 'pikakommentointi/Pikakommenttitekstit.php'; require_once 'pikakommentointi/testaus/testikooste_pikakommentit.php'; // Valmistellaan tietokantayhteys testejä varten: $tietokantaolio = new Tietokantaolio($dbtyyppi, $dbhost, $dbuser, $dbsalis); $tietokantaolio->yhdista_tietokantaan($dbnimi); // Ainakin käyttäjätestaus tarvitsee parametreja: $kayttajan_id = 1; $kokoelmanimi = Kuva::$KUVAT_ALBUMIT; $parametriolio = new Parametrit($kokoelmanimi, $kayttajan_id, $tietokantaolio); //============================================================================= // Luodaan uusi Käyttäjätestaus-olio: $kayttajatestaus = new Kayttajatestaus($tietokantaolio, $parametriolio); // Luodaan uusi Suodatintestaus-olio: $suodatintestaus = new Suodatintestaus($tietokantaolio, $parametriolio); // Kaikki testit yhteen: $palautteet = array(); array_push($palautteet, $suodatintestaus->toteuta_suodatintestit()); array_push($palautteet, $kayttajatestaus->toteuta_kayttajatestit()); array_push($palautteet, toteuta_pikakommentointitestit($tietokantaolio)); array_push($palautteet, toteuta_bongaustestit($tietokantaolio)); // Kootaan virheilmoitukset peräkkäin omaan muuttujaan ja toiseen muuttujaan // otsikot ja sisällöt niin, että otsikko aina edeltää sisältöä. $virheilmoitukset = ""; $sisalto = ""; foreach ($palautteet as $testipalaute) { $virheilmoitukset .= $testipalaute->get_virheilmoitukset(); $sisalto .= "===============================================================" . "===============================================================" . "<h2 style='color:blue'>" . $testipalaute->get_otsikko() . "</h2>" . $testipalaute->get_sisalto();
$tietokantaolio->yhdista_tietokantaan($dbnimi); // Luodaan palauteolio; $palauteolio = new Palaute(); // Luodaan parametriolio: $parametriolio = new Parametrit($tietokantaolio); $virheiden_lkm = 0; /* Virhetoimintojen lkm */ // Poistetaan ensin kaikki kokonaisuudet, joiden otsikko on 'Testiotsikko': $ilmoitus = "Testausta"; //========================================================================== //========================================================================== // // Mallipohjaluokan yms. testaus: $sisalto = "<h3>Testataan erinäisiä luokkia</h3>"; $malliluokkapohjatesti = new Malliluokkapohjatesti($tietokantaolio, $parametriolio); $kayttajatoimintotesti = new Kayttajatestaus($tietokantaolio, $parametriolio); $kokon_teht_ratk_testi = new KokonTehtRatkTestaus($tietokantaolio, $parametriolio); $koostetesti = new Koostetestaus($tietokantaolio, $parametriolio); $testipalauteoliot = array($malliluokkapohjatesti->toteuta_malliluokkapohjatestit(), $kayttajatoimintotesti->toteuta_kayttajatestit(), $kokon_teht_ratk_testi->toteuta_testit(), $koostetesti->toteuta()); $virheilmoitukset = ""; $otsikot_ja_ilmoitukset = ""; foreach ($testipalauteoliot as $testipalaute) { $virheilmoitukset .= $testipalaute->get_virheilmoitukset(); $otsikot_ja_ilmoitukset .= "<h3 style='color: blue'>" . $testipalaute->get_otsikko() . "</h3>"; $otsikot_ja_ilmoitukset .= $testipalaute->get_sisalto() . "<br/>"; $otsikot_ja_ilmoitukset .= "===============================" . "================================<br/>"; $virheiden_lkm += $testipalaute->get_virheilmoitusten_lkm(); } //=============== Mallipohjaluokan yms. testaus loppuu ===================== //========================================================================== /***************************************************************************/
/** * Tämä on kopsattu Havainnoista ja voi vaatia hiukan tarkistusta. */ public function testaa_henkilon_tunnusten_tarkistus() { $this->lisaa_lihava_kommentti("Tunnusten tarkistus: yritetään luoda" . " henkiloita huonoilla tunnuksilla"); //====================================================================== $this->lisaa_kommentti("Liian lyhyt salasana:"); $s = "piipii"; $k = "kayttis345"; // Luodaan testihenkilö ja asetetaan arvot paikalleen: $testih = Kayttajatestaus::luo_testihenkilo("Matti", "Tuupo", $k, $s, $this->tietokantaolio); $testi = $testih->tallenna_uusi(); if ($testi == Henkilo::$OPERAATIO_ONNISTUI) { $this->lisaa_virheilmoitus("Virhe: henkilön luonti onnistui" . " salasanalla '" . $s . "'"); } else { $this->lisaa_kommentti("Oikein: ei onnistunut salasanalla '" . $s . "'" . "! Ilmoitukset: " . $testih->tulosta_virheilmoitukset()); } //====================================================================== $this->lisaa_kommentti("Liian pitkä salasana:"); $s = "piiippiiippiiippiiippiiippiiippiiippiiippiiippiiipi"; // 51 kirj. // Luodaan testihenkilö ja asetetaan arvot paikalleen: $testih = Kayttajatestaus::luo_testihenkilo("Matti", "Tuupo", $k, $s, $this->tietokantaolio); $testi = $testih->tallenna_uusi(); if ($testi == Henkilo::$OPERAATIO_ONNISTUI) { $this->lisaa_virheilmoitus("Virhe: henkilön luonti onnistui" . " salasanalla '" . $s . "'"); } else { $this->lisaa_kommentti("Oikein: ei onnistunut salasanalla '" . $s . "'" . "! Ilmoitukset: " . $testih->tulosta_virheilmoitukset()); } //====================================================================== $this->lisaa_kommentti("Ääkkösiä salasanassa:"); $s = "äitioioi"; // Luodaan testihenkilö ja asetetaan arvot paikalleen: $testih = Kayttajatestaus::luo_testihenkilo("Matti", "Tuupo", $k, $s, $this->tietokantaolio); $testi = $testih->tallenna_uusi(); if ($testi == Henkilo::$OPERAATIO_ONNISTUI) { $this->lisaa_virheilmoitus("Virhe: henkilön luonti onnistui" . " salasanalla '" . $s . "'"); } else { $this->lisaa_kommentti("Oikein: ei onnistunut salasanalla '" . $s . "'" . "! Ilmoitukset: " . $testih->tulosta_virheilmoitukset()); } //====================================================================== $this->lisaa_kommentti("Pahoja merkkeja salasanassa 1:"); $s = "scripti]'tioioi"; // Luodaan testihenkilö ja asetetaan arvot paikalleen: $testih = Kayttajatestaus::luo_testihenkilo("Matti", "Tuupo", $k, $s, $this->tietokantaolio); $testi = $testih->tallenna_uusi(); if ($testi == Henkilo::$OPERAATIO_ONNISTUI) { $this->lisaa_virheilmoitus("Virhe: henkilön luonti onnistui" . " salasanalla '" . htmlspecialchars($s) . "'"); } else { $this->lisaa_kommentti("Oikein: ei onnistunut salasanalla '" . htmlspecialchars($s) . "'" . "! Ilmoitukset: " . $testih->tulosta_virheilmoitukset()); } //====================================================================== $this->lisaa_kommentti("Pahoja merkkeja salasanassa 2:"); $s = "scrip<btitioioi>"; // Luodaan testihenkilö ja asetetaan arvot paikalleen: $testih = Kayttajatestaus::luo_testihenkilo("Matti", "Tuupo", $k, $s, $this->tietokantaolio); $s_olion = $testih->get_arvo(Henkilo::$sarakenimi_salasana); $testi = $testih->tallenna_uusi(); if ($testi == Henkilo::$OPERAATIO_ONNISTUI) { $this->lisaa_virheilmoitus("Virhe: henkilön luonti onnistui" . " salasanalla '" . htmlspecialchars($s) . "'. Salasana" . " oliossa on '" . $s_olion . "'"); } else { $this->lisaa_kommentti("Oikein: ei onnistunut salasanalla '" . htmlspecialchars($s) . "'" . "! Ilmoitukset: " . $testih->tulosta_virheilmoitukset()); } //====================================================================== //====================================================================== $this->lisaa_kommentti("Välejä salasanassa:"); $s = "select id"; // Luodaan testihenkilö ja asetetaan arvot paikalleen: $testih = Kayttajatestaus::luo_testihenkilo("Matti", "Tuupo", $k, $s, $this->tietokantaolio); $s_olion = $testih->get_arvo(Henkilo::$sarakenimi_salasana); $testi = $testih->tallenna_uusi(); if ($testi == Henkilo::$OPERAATIO_ONNISTUI) { $this->lisaa_virheilmoitus("Virhe: henkilön luonti onnistui" . " salasanalla '" . htmlspecialchars($s) . "'. Salasana" . " oliossa on '" . $s_olion . "'"); } else { $this->lisaa_kommentti("Oikein: ei onnistunut salasanalla '" . htmlspecialchars($s) . "'" . "! Ilmoitukset: " . $testih->tulosta_virheilmoitukset()); } //====================================================================== }