How to use do_set_function_code method in localstack

Best Python code snippet using localstack_python

lambda_api.py

Source:lambda_api.py Github

copy

Full Screen

...604 lambda_details.cwd = tmp_dir605 return tmp_dir606def set_function_code(lambda_function: LambdaFunction):607 def _set_and_configure():608 do_set_function_code(lambda_function)609 # initialize function code via plugins610 for plugin in lambda_executors.LambdaExecutorPlugin.get_plugins():611 plugin.init_function_code(lambda_function)612 # unzipping can take some time - limit the execution time to avoid client/network timeout issues613 run_for_max_seconds(config.LAMBDA_CODE_EXTRACT_TIME, _set_and_configure)614 return {"FunctionName": lambda_function.name()}615def store_and_get_lambda_code_archive(616 lambda_function: LambdaFunction, zip_file_content: bytes = None617) -> Optional[Tuple[str, str, bytes]]:618 """Store the Lambda code referenced in the LambdaFunction details to disk as a zip file,619 and return the Lambda CWD, file name, and zip bytes content. May optionally return None620 in case this is a Lambda with the special bucket marker __local__, used for code mounting."""621 code_passed = lambda_function.code622 is_local_mount = code_passed.get("S3Bucket") == config.BUCKET_MARKER_LOCAL623 lambda_cwd = lambda_function.cwd624 if code_passed:625 lambda_cwd = lambda_cwd or set_archive_code(code_passed, lambda_function.name())626 if not zip_file_content and not is_local_mount:627 # Save the zip file to a temporary file that the lambda executors can reference628 zip_file_content = get_zip_bytes(code_passed)629 else:630 lambda_details = LambdaRegion.get().lambdas[lambda_function.arn()]631 lambda_cwd = lambda_cwd or lambda_details.cwd632 if not lambda_cwd:633 return634 # construct archive name635 archive_file = os.path.join(lambda_cwd, LAMBDA_ZIP_FILE_NAME)636 if not zip_file_content:637 zip_file_content = load_file(archive_file, mode="rb")638 else:639 # override lambda archive with fresh code if we got an update640 save_file(archive_file, zip_file_content)641 return lambda_cwd, archive_file, zip_file_content642def do_set_function_code(lambda_function: LambdaFunction):643 """Main function that creates the local zip archive for the given Lambda function, and644 optionally creates the handler function references (for LAMBDA_EXECUTOR=local)"""645 def generic_handler(*_):646 raise ClientError(647 (648 'Unable to find executor for Lambda function "%s". Note that '649 + "Node.js, Golang, and .Net Core Lambdas currently require LAMBDA_EXECUTOR=docker"650 )651 % lambda_name652 )653 lambda_name = lambda_function.name()654 arn = lambda_function.arn()655 runtime = get_lambda_runtime(lambda_function)656 lambda_environment = lambda_function.envvars...

Full Screen

Full Screen

test_lambda_whitebox.py

Source:test_lambda_whitebox.py Github

copy

Full Screen

...316 """Tests if a lambda invocation fails if state is pending"""317 function_name = f"test-function-{short_uid()}"318 zip_file = create_lambda_archive(load_file(TEST_LAMBDA_PYTHON_ECHO), get_content=True)319 function_code_set = threading.Event()320 def _do_set_function_code(*args, **kwargs):321 result = do_set_function_code(*args, **kwargs)322 function_code_set.wait()323 return result324 monkeypatch.setattr(325 localstack.services.awslambda.lambda_api, "do_set_function_code", _do_set_function_code326 )327 try:328 response = lambda_client.create_function(329 FunctionName=function_name,330 Runtime="python3.9",331 Handler="handler.handler",332 Role=lambda_su_role,333 Code={"ZipFile": zip_file},334 )335 assert response["State"] == "Pending"...

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