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.
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.
+1 on overall agreement and general path. To re-iterate, I like the idea of:
Migrate bats to robottelo framework 1:1 to achieve parity on nightly
Then explore bringing more testing online from Robottelo
Look into re-factoring 1:1 transition into existing test cases
I would like to convert the “hammer csv” testing to robotello, if that is
an option. Now it is vcr based but since server api can change, these
breakages are not picked up actively.