@@ -420,3 +420,59 @@ def test_function_package_type_image_with_signing_config(self, lambda_client):
420420
421421 # Check Lambda function doesn't exist
422422 assert not lambda_validator .function_exists (resource_name )
423+
424+ def test_function_is_synced (self , lambda_client ):
425+ resource_name = random_suffix_name ("lambda-function" , 24 )
426+
427+ resources = get_bootstrap_resources ()
428+ logging .debug (resources )
429+
430+ replacements = REPLACEMENT_VALUES .copy ()
431+ replacements ["FUNCTION_NAME" ] = resource_name
432+ replacements ["BUCKET_NAME" ] = resources .FunctionsBucket .name
433+ replacements ["LAMBDA_ROLE" ] = resources .BasicRole .arn
434+ replacements ["LAMBDA_FILE_NAME" ] = LAMBDA_FUNCTION_FILE_ZIP
435+ replacements ["RESERVED_CONCURRENT_EXECUTIONS" ] = "0"
436+ replacements ["CODE_SIGNING_CONFIG_ARN" ] = ""
437+ replacements ["AWS_REGION" ] = get_region ()
438+
439+ # Load Lambda CR
440+ resource_data = load_lambda_resource (
441+ "function" ,
442+ additional_replacements = replacements ,
443+ )
444+ logging .debug (resource_data )
445+
446+ # Create k8s resource
447+ ref = k8s .CustomResourceReference (
448+ CRD_GROUP , CRD_VERSION , RESOURCE_PLURAL ,
449+ resource_name , namespace = "default" ,
450+ )
451+ k8s .create_custom_resource (ref , resource_data )
452+ cr = k8s .wait_resource_consumed_by_controller (ref )
453+
454+ assert cr is not None
455+ assert k8s .get_resource_exists (ref )
456+
457+ time .sleep (CREATE_WAIT_AFTER_SECONDS * 3 )
458+
459+ cr = k8s .wait_resource_consumed_by_controller (ref )
460+
461+ lambda_validator = LambdaValidator (lambda_client )
462+ # Check Lambda function exists
463+ assert lambda_validator .function_exists (resource_name )
464+
465+ assert cr ["status" ]["state" ] == "Active"
466+
467+ function = lambda_validator .get_function (resource_name )
468+ assert function is not None
469+ assert function ["Configuration" ]["State" ] == "Active"
470+
471+ # Delete k8s resource
472+ _ , deleted = k8s .delete_custom_resource (ref )
473+ assert deleted is True
474+
475+ time .sleep (DELETE_WAIT_AFTER_SECONDS )
476+
477+ # Check Lambda function doesn't exist
478+ assert not lambda_validator .function_exists (resource_name )
0 commit comments