Hello all,
A while back I investigated using robottelo to replace our bats testing.
What is Robottelo
It is a pytest-based test suite used by Satellite QE to test Foreman + Katello. It has CLI, UI and API tests with the needed utilities to easily use them. Since it’s written in Python, it’s a black box test.
Why switch?
Writing tests in bash is easy if the commands are easy. The advanced testing requires complex set up of objects which makes it hard to write complex tests. We’re also duplicating effort with the QE team.
What’s been done
There’s a robottelo role in forklift. I also wrote a Proof of concept replacement of a single test:
https://github.com/ekohl/robottelo/commit/c5b47597001ae49e430c86f348855c6671517e3c
My branch contains a bit more complex rewrites.
What’s next?
First of all I’d like to know if others agree this is a good direction to take.
If we all agree, we’d need to rewrite all existing tests (my rewrite is very much a proof of concept) and see if we can also run any existing Robottelo tests.
Once that’s done, it needs to be integrated in the CI pipeline. Currently I’m rewriting the systest jobs to use forklift. When that’s done, it’s as simple as adding the role to the right playbooks with the right variables.