Necessary for writing involved tests since the assumptions made by the
cache are violated and thus cause problems.
To keep the tests passing the oscrc intended to be used must be set as
environment variable so when osclib.conf.Config is use the config is not
lost. This would be made simpler without the needless extra config added
by StagingWorkflow.
If the init function fails due to exceptions, python still
shows exceptions caught in the __del__ function, which can
be very confusing. So avoid the destructor if the constructor
failed by setting the variables early on and return in the
destructor if self.api is not yet defined
The docker-compose file starts an OBS instance (on 15.0 atm) and runs
the test suite in a test container (tumbleweed), so all tests run in
an isolated environment accessing OBS at api:3000
Previously, the user was changed, but the authentication not reset. For
osc.core calls made within the text context they would still run as Admin
while separate processes (like scripts) would run as the desired user. As
such this was not an issue before since only scripts were meant to run as
a different user.