How to use ensure_providers method in Sure

Best Python code snippet using sure_python

__init__.py

Source:__init__.py Github

copy

Full Screen

...235 attr = args[index]236 if not attr in context.__sure_providers_of__:237 context.__sure_providers_of__[attr] = []238 context.__sure_providers_of__[attr].append(func)239 def ensure_providers(func, attr, args, kwargs):240 found = re.search(r'^[{](\d+)[}]$', attr)241 if found:242 index = int(found.group(1))243 attr = args[index]244 assert attr in context, \245 'the action "%s" was supposed to provide the attribute "%s" ' \246 'into the context, but it did not. Please double check its ' \247 'implementation' % (func.__name__, attr)248 dependency_error_lonely = 'the action "%s" defined at %s:%d ' \249 'depends on the attribute "%s" to be available in the' \250 ' context. It turns out that there are no actions providing ' \251 'that. Please double-check the implementation'252 dependency_error_hints = 'the action "%s" defined at %s:%d ' \253 'depends on the attribute "%s" to be available in the context.'\254 ' You need to call one of the following actions beforehand:\n'255 def check_dependencies(func):256 action = func.__name__257 filename = _get_file_name(func)258 lineno = _get_line_number(func)259 for dependency in depends_on:260 if dependency in context.__sure_providers_of__:261 providers = context.__sure_providers_of__[dependency]262 err = dependency_error_hints % (263 action,264 filename,265 lineno,266 dependency,267 )268 err += '\n'.join([269 ' -> %s at %s:%d' % (270 p.__name__,271 _get_file_name(p),272 _get_line_number(p)) for p in providers])273 else:274 err = dependency_error_lonely % (275 action,276 filename,277 lineno,278 dependency,279 )280 assert dependency in context, err281 def decorate_and_absorb(func):282 [register_providers(func, attr) for attr in provides]283 @wraps(func)284 def wrapper(*args, **kw):285 [register_dinamic_providers(func, attr, args, kw)286 for attr in provides]287 context.__sure_actions_ran__.append((func, args, kw))288 check_dependencies(func)289 result = func(*args, **kw)290 [ensure_providers(func, attr, args, kw) for attr in provides]291 context.__sure_action_results__.append(result)292 return context293 setattr(context, func.__name__, wrapper)294 return wrapper295 return decorate_and_absorb296def work_in_progress(func):297 @wraps(func)298 def wrapper(*args, **kwargs):299 _registry['is_running'] = True300 ret = func(*args, **kwargs)301 _registry['is_running'] = False302 return ret303 return wrapper304def assertionmethod(func):...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Sure automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful