Skip to content

Commit

Permalink
Fix omitting credentials when CLI has already been instantiated (Sate…
Browse files Browse the repository at this point in the history
…lliteQE#14449)

* Fix omitting credentials when CLI has already been instantiated

* Rework based on comments

* Set to False after yield
  • Loading branch information
lhellebr authored and jyejare committed Oct 19, 2024
1 parent 5a80ecd commit 61ac77d
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions robottelo/hosts.py
Original file line number Diff line number Diff line change
Expand Up @@ -1870,9 +1870,27 @@ def cli(self):

@contextmanager
def omit_credentials(self):
self.omitting_credentials = True
change = not self.omitting_credentials # if not already set to omit
if change:
self.omitting_credentials = True
# if CLI is already created
if self._cli._configured:
for name, obj in self._cli.__dict__.items():
with contextlib.suppress(
AttributeError
): # not everything has an mro method, we don't care about them
if Base in obj.mro():
getattr(self._cli, name).omitting_credentials = True
yield
self.omitting_credentials = False
if change:
self.omitting_credentials = False
if self._cli._configured:
for name, obj in self._cli.__dict__.items():
with contextlib.suppress(
AttributeError
): # not everything has an mro method, we don't care about them
if Base in obj.mro():
getattr(self._cli, name).omitting_credentials = False

@contextmanager
def ui_session(self, testname=None, user=None, password=None, url=None, login=True):
Expand Down

0 comments on commit 61ac77d

Please sign in to comment.