Continuous integration & tt-rss

I did some exploratory poking at implementing gitlab CI support for tt-rss. for the time being the following is checked:

  1. basic php linting of source code (this is almost useless but w/e why not)
  2. whether database schema imports successfully
  3. whether its possible to update an initial feed via CLI

this is all basic stuff. now, the real fun part is functional tests via selenium, which are also supported. i did write literally one test which tests whether it is possible to login to main UI and it wasn’t really so annoying to write.

i might add a few more later, but i’m not really bursting with ideas on what to actually test. therefore, if someone is feeling adventurous i’d really appreciate help with this, be it in the form of “how about click on this and that” (preferably with xpath locators, lol) or maybe even actual tests!

i have a very basic testing image available here: https://tt-rss.org/fox/selenium-docker it includes all the necessary plumbing to easily run a mounted tt-rss git clone and poke at it with selenium.

TODO:

  1. extract an older base schema template and try automatically running migrations on it, in case migration is screwed up
  2. ???

Fox, perhaps a way to start is to have a populated database and then build tests for the APIs (stuff used for mobile client). This will test a lot of the logic of the app since these APIs call a lot of the base functions but the output is easier to parse for correctness I’d think… Once you know there are work/return expected results you can then perhaps start UI testing on the web version.

yeah i thought about it, adding some api tests is a good idea

eugh