Best Python code snippet using localstack_python
thundra.py
Source:thundra.py
...144 return result145################146# NODE AGENT147################148def _ensure_node_agent_initialized():149 global THUNDRA_NODE_AGENT_INITIALIZED150 if not THUNDRA_NODE_AGENT_INITIALIZED:151 if _init_node_agent_configs() and _install_node_agent():152 THUNDRA_NODE_AGENT_INITIALIZED = True153def _get_latest_node_agent_version():154 try:155 return common.run("npm view @thundra/core version".split())156 except Exception as e:157 print("Unable to get latest version of Thundra Node agent: %s" % e)158 return None159def _init_node_agent_configs() -> bool:160 global THUNDRA_NODE_AGENT_VERSION161 global THUNDRA_NODE_AGENT_LOCAL_PATH162 global THUNDRA_NODE_AGENT_LOCAL_PATH_ON_HOST163 latest_version = _get_latest_node_agent_version()164 version = os.getenv("THUNDRA_AGENT_NODE_VERSION", latest_version)165 if not version:166 return False167 THUNDRA_NODE_AGENT_VERSION = version.strip()168 THUNDRA_NODE_AGENT_LOCAL_PATH = "%s/thundra/node/%s/" % (169 config.TMP_FOLDER,170 THUNDRA_NODE_AGENT_VERSION,171 )172 THUNDRA_NODE_AGENT_LOCAL_PATH_ON_HOST = "%s/thundra/node/%s/" % (173 config.HOST_TMP_FOLDER,174 THUNDRA_NODE_AGENT_VERSION,175 )176 return True177def _install_node_agent() -> bool:178 # Install Thundra Node agent NPM package179 if not os.path.exists(THUNDRA_NODE_AGENT_LOCAL_PATH):180 install.log_install_msg("Thundra Node agent", verbatim=True)181 try:182 install_thundra_cmd = "npm install --prefix %s @thundra/core@%s --no-save" % (183 THUNDRA_NODE_AGENT_LOCAL_PATH,184 THUNDRA_NODE_AGENT_VERSION,185 )186 common.run(install_thundra_cmd.split())187 except Exception as e:188 print("Unable to install Thundra Node agent: %s" % e)189 return False190 return True191def _is_node_lambda_with_support_version(func_details):192 runtime = getattr(func_details, "runtime", func_details)193 return runtime in [194 LAMBDA_RUNTIME_NODEJS10X,195 LAMBDA_RUNTIME_NODEJS12X,196 LAMBDA_RUNTIME_NODEJS14X,197 ]198def _prepare_invocation_for_node_lambda(context: InvocationContext) -> AdditionalInvocationOptions:199 # Download and initialize Node agent200 _ensure_node_agent_initialized()201 # If agent could not be initialized, skip here202 if not THUNDRA_NODE_AGENT_INITIALIZED:203 return None204 result = AdditionalInvocationOptions()205 # Make sure API key is contained in environment206 result.env_updates[THUNDRA_APIKEY_ENV_VAR_NAME] = _get_apikey(context.environment)207 # Switch handler to Thundra and pass original handler to Thundra through environment variable208 result.env_updates[THUNDRA_AGENT_LAMBDA_HANDLER_ENV_VAR_NAME] = context.handler209 result.updated_handler = "/opt/nodejs/node_modules/@thundra/core/dist/handler.wrapper"210 # If log disable is not configured explicitly, set it to false to enable log capturing by default211 log_disabled = context.environment.get(THUNDRA_AGENT_LOG_DISABLE_ENV_VAR_NAME)212 if not log_disabled:213 result.env_updates[THUNDRA_AGENT_LOG_DISABLE_ENV_VAR_NAME] = "false"214 # Map Thundra agent path into container so it will be accessible by Lambda function Node environment...
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!!