Spouštění Nette testů s PostgreSQL
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Milo
- Nette Core | 1283
Pokud sami, ať už z jakéhokoliv důvodu, upravujete zdrojáky Nette, je
vhodné po úpravách spustit testy. V devel verzi na GitHubu se nedávno objevila možnost
testovat Nette\Database oproti PostgreSQL. Ve výchozím nastavení se
k testům používá superuživatel postgres
. Zde popíšu, jak si
PostgreSQL připravit na testy s běžným uživatelem.
# Připojíme se PostgreSQL serveru k databázi template1 jako superuživatel postgres
psql -U postgres -h localhost template1
# Vytvoříme novou roli uživatele nette_test
template1=# CREATE ROLE nette_test PASSWORD 'qwert' LOGIN;
CREATE ROLE
# Vytvoříme databázi pro testy
template1=# CREATE DATABASE nette_test OWNER nette_test ENCODING 'UTF8';
CREATE DATABASE
# Připojíme se do nově vytvořené databáze
\c nette_test
# Změníme vlastníka schématu public (pro testy podstatná věc)
nette_test=# ALTER SCHEMA public OWNER TO nette_test;
ALTER SCHEMA
Stáhneme aktuální Nette devel verzi z Githubu a upravíme
soubor tests/Nette/Database/databases.ini
[mysql]
dsn = "mysql:host=localhost"
user = root
password =
[postgresql]
dsn = "pgsql:host=localhost;dbname=nette_test"
user = nette_test
password = qwert
Ještě se vyzkoušíme přihlásit jako uživatel nette_test
k databázi nette_test
.
psql -U nette_test -h localhost nette_test
Pokud se nelze přihlásit, je nutné upravit pg_hba.conf
umístěný někde v /etc/
nebo C:\Program Files\
.
host nette_test nette_test 127.0.0.1/32 md5
A může se testovat.
Editoval Milo (12. 9. 2012 13:07)