How to use __resolve_type_name method in lisa

Best Python code snippet using lisa_python

schema.py

Source:schema.py Github

copy

Full Screen

...89 runbook_type: type of runbook90 field_name: the field name which stores the data, if it's "", get it from type91 """92 if not hasattr(self, "_extended_runbook"):93 type_name = self.__resolve_type_name(94 runbook_type=runbook_type, type_name=type_name95 )96 if self.extended_schemas and type_name in self.extended_schemas:97 self._extended_runbook: T = load_by_type(98 runbook_type, self.extended_schemas[type_name]99 )100 else:101 # value may be filled outside, so hold and return an object.102 self._extended_runbook = runbook_type()103 # if there is any extra key, raise exception to help user find it earlier.104 if self.extended_schemas and len(self.extended_schemas) > 0:105 expected_extra_count = 0106 if type_name in self.extended_schemas:107 expected_extra_count = 1108 if len(self.extended_schemas) > expected_extra_count:109 extra_names = [110 name for name in self.extended_schemas if name != type_name111 ]112 raise LisaException(113 f"unknown keys in extendable schema [{runbook_type.__name__}]: "114 f"{extra_names}"115 )116 return self._extended_runbook117 def set_extended_runbook(self, runbook: Any, type_name: str = "") -> None:118 self._extended_runbook = runbook119 if self.extended_schemas and type_name in self.extended_schemas:120 # save extended runbook back to raw dict121 self.extended_schemas[type_name] = runbook.to_dict()122 def __resolve_type_name(self, runbook_type: Type[Any], type_name: str) -> str:123 assert issubclass(124 runbook_type, DataClassJsonMixin125 ), "runbook_type must annotate from DataClassJsonMixin"126 if not type_name:127 assert hasattr(self, constants.TYPE), (128 f"cannot find type attr on '{runbook_type.__name__}'."129 f"either set field_name or make sure type attr exists."130 )131 type_name = getattr(self, constants.TYPE)132 return type_name133 def __repr__(self) -> str:134 result = ""135 if hasattr(self, "_extended_runbook"):136 result = f"ext:{self._extended_runbook}"...

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 lisa 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