@@ -420,3 +420,59 @@ def test_function_package_type_image_with_signing_config(self, lambda_client):
420
420
421
421
# Check Lambda function doesn't exist
422
422
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