cfme.utils.smtp_collector_client module¶
-
class
cfme.utils.smtp_collector_client.
SMTPCollectorClient
(host='localhost', port=1026)[source]¶ Bases:
object
Client for smtp_collector.py script
- Parameters
host – Host where collector runs (Default: localhost)
port – Port where the collector query interface listens (Default: 1026)
-
get_emails
(**filter)[source]¶ Get emails. Eventually apply filtering on SQLite level
Time variables can be passed as instances of
utils.timeutil.parsetime
. That carries out the necessary conversion automatically._like args - see SQLite’s LIKE operator syntax
- Keywords:
from_address: E-mail matches. to_address: E-mail matches. subject: Subject matches exactly. subject_like: Subject is LIKE. time_from: E-mails arrived since this time. time_to: E-mail arrived before this time. text: Text matches exactly. text_like: Text is LIKE.
Returns: List of dicts with e-mails matching the criteria.
-
cfme.utils.smtp_collector_client.
wait_for
(func, func_args=[], func_kwargs={}, *, logger=<TraceLogger cfme (INFO)>, **kwargs)¶ Waits for a certain amount of time for an action to complete Designed to wait for a certain length of time, either linearly in 1 second steps, or exponentially, up to a maximum. Returns the output from the function once it completes successfully, along with the time taken to complete the command.
It tries to use
time.monotonic()
, if it is not present, falls back totime.time()
, but it then is not resistant against system time changes.- Note: If using the expo keyword, the returned elapsed time will be inaccurate
as wait_for does not know the exact time that the function returned correctly, only that it returned correctly at last check.
- Parameters
func – A function to be run
func_args – A list of function arguments to be passed to func
func_kwargs – A dict of function keyword arguments to be passed to func
num_sec – An int describing the number of seconds to wait before timing out.
timeout – Either an int describing the number of seconds to wait before timing out. Or a
timedelta
object. Or a string formatted like1h 10m 5s
. This then sets thenum_sec
variable.expo – A boolean flag toggling exponential delay growth.
message – A string containing a description of func’s operation. If None, defaults to the function’s name.
fail_condition – An object describing the failure condition that should be tested against the output of func. If func() == fail_condition, wait_for continues to wait. Can be a callable which takes the result and returns boolean whether to fail. You can also specify it as a set, that way it checks whether it is present in the iterable.
handle_exception – A boolean controlling the handling of excepetions during func() invocation. If set to True, in cases where func() results in an exception, clobber the exception and treat it as a fail_condition.
delay – An integer describing the number of seconds to delay before trying func() again.
fail_func – A function to be run after every unsuccessful attempt to run func()
quiet – Do not write time report to the log (default False)
very_quiet – Do not log unless there was an error (default False). Implies quiet.
silent_failure – Even if the entire attempt times out, don’t throw a exception.
log_on_loop – Fire off a log.info message indicating we’re still waiting at each iteration of the wait loop
- Returns
A tuple containing the output from func() and a float detailing the total wait time.
- Raises
TimedOutError – If num_sec is exceeded after an unsuccessful func() invocation.