Closed Halama closed 5 years ago
Koukám že se tam vůbec nikde netestuje celý load a ověření že data jsou skutečně nahraná?
Co má testovat třeba tohle https://github.com/keboola/db-writer-snowflake/blob/master/tests/phpunit/SnowflakeTest.php#L254 ? writeAsync
mi nějak v kontextu toho writeru nedává smysl.
Proc to delas, kdyz na tom delam od rana ? :(
chtěl jsem vidět jestli to pojede a tohle bylo nejrychlejší.
to můžeš dotáhnout nebo použít to tvoje to je jedno.
teď mě ale překvapili ty testy, přijde mi že se to tam nikde netestuje celé?
tak to pushni co máš
Přijde mi že aby to šlo otestovat co to loaduje tak je to potřeba vlastně tohle celé tělo metody https://github.com/keboola/db-writer-snowflake/blob/351aba4e539cb482ec8136f976683dbb37d9e1c0/src/Keboola/DbWriter/Snowflake/Application.php#L85 vykopírovat do testu. podobně jako tady https://github.com/keboola/db-writer-snowflake/blob/08180855a0743aaeadf0b5ca098e2b163a37b6fb/tests/phpunit/SnowflakeTest.php#L254
Ale proč ne asi pro teď. Tím pádem vůbec nevím jestli ta úprava výše funguje, myslel jsem že to je pokryté.
Nechávám to teď být teda. Platí teda ale že releasneme verzi kde se budou swapovat tabulky při full loadu.
Co má testovat třeba tohle https://github.com/keboola/db-writer-snowflake/blob/master/tests/phpunit/SnowflakeTest.php#L254 ? writeAsync mi nějak v kontextu toho writeru nedává smysl.
To testuje tu Writer::writeFromS3()
metodu. Jinak mas pravdu, chybi tam testy toho co provede Applicatin::runAction
Do funkcionalniho testu jsem pridal ostestovani naimportovanych dat.
A pro ty nove metody createIfNotExists
+ swapTables
jsem dopsal testy.
To vypadá dobře! je to tím pádem na R4R nebo tam ještě něco ladíš?
Podle me na review. Ja jsem akorat doplnil test na ty data po importu a nove metody ktere jsi udelal ve Writer classe.
@ErikZigo mergneš to a releasneš prosím. Koukám že to nemá testovací konfiguraci tak by bylo fajn předtím připravit nějakou s full loadem a vyzkoušel ji předtím a po releasu.
připravil jsem tady https://connection.keboola.com/admin/projects/4088/jobs/467726206
Zrovna u tohodle writeru to od jiste doby tak, ze nez to nasadim tak si to deploynu rucne jako testovaci komponentu a tu zkousim pustit.
tak vlastně stačí ho otagovat a pustit si tag
a není potřeba deploy ručně
hmm, s tím tagem kecám ono to má udělané jinak https://github.com/keboola/db-writer-snowflake/blob/master/deploy.sh než normálně https://github.com/keboola/component-generator/blob/7f52335d629180c63481533ef751447e89e93a75/templates-common/deploy.sh#L24 Stačilo by upravit a půjde to.
^ to imho bude nejjednodušší udělat takhle a bude to alespoň konzistentní s novými komponentami.
Předejde situaci kdy byla cílová tabulka během full loadu prázdná. Loadne do staging tabulky a nakonci udělá atomický swap tabulek.