Best Python code snippet using tavern
files.py
Source:files.py
...15class SchemaCache(object):16 """Caches loaded schemas"""17 def __init__(self):18 self._loaded = {}19 def _load_base_schema(self, schema_filename):20 try:21 return self._loaded[schema_filename]22 except KeyError:23 self._loaded[schema_filename] = load_single_document_yaml(schema_filename)24 logger.debug("Loaded schema from %s", schema_filename)25 return self._loaded[schema_filename]26 def _load_schema_with_plugins(self, schema_filename):27 mangled = "{}-plugins".format(schema_filename)28 try:29 return self._loaded[mangled]30 except KeyError:31 plugins = load_plugins()32 base_schema = copy.deepcopy(self._load_base_schema(schema_filename))33 logger.debug("Adding plugins to schema: %s", plugins)34 for p in plugins:35 try:36 plugin_schema = p.plugin.schema37 except AttributeError:38 # Don't require a schema39 logger.debug("No schema defined for %s", p.name)40 else:41 base_schema["mapping"].update(42 plugin_schema.get("initialisation", {})43 )44 self._loaded[mangled] = base_schema45 return self._loaded[mangled]46 def __call__(self, schema_filename, with_plugins):47 """Load the schema file and cache it for future use48 Args:49 schema_filename (str): filename of schema50 with_plugins (bool): Whether to load plugin schema into this schema as well51 Returns:52 dict: loaded schema53 """54 if with_plugins:55 schema = self._load_schema_with_plugins(schema_filename)56 else:57 schema = self._load_base_schema(schema_filename)58 return schema59load_schema_file = SchemaCache()60def verify_generic(to_verify, schema):61 """Verify a generic file against a given schema62 Args:63 to_verify (dict): Filename of source tests to check64 schema (dict): Schema to verify against65 Raises:66 BadSchemaError: Schema did not match67 """68 logger.debug("Verifying %s against %s", to_verify, schema)69 here = os.path.dirname(os.path.abspath(__file__))70 extension_module_filename = os.path.join(here, "extensions.py")71 verifier = core.Core(...
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!