Skip to content

Commit f078838

Browse files
committed
lambda unit tests
1 parent b106a2d commit f078838

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

agent/tests/test_lib_aws_sdk_php.c

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,19 @@ NR_PHP_WRAPPER(expect_arg_value_null) {
6161
}
6262
NR_PHP_WRAPPER_END
6363

64+
NR_PHP_WRAPPER(aws_lambda_invoke_wrapper) {
65+
nr_segment_cloud_attrs_t cloud_attrs = {0};
66+
zval* expected = nr_php_get_user_func_arg(1, NR_EXECUTE_ORIG_ARGS);
67+
nr_aws_lambda_invoke(NR_EXECUTE_ORIG_ARGS, &cloud_attrs);
68+
(void)wraprec;
69+
70+
tlib_pass_if_str_equal("Expected should match reconstructed arn",
71+
Z_STRVAL_P(expected),
72+
cloud_attrs.cloud_resource_id);
73+
NR_PHP_WRAPPER_CALL;
74+
}
75+
NR_PHP_WRAPPER_END
76+
6477
static void test_nr_lib_aws_sdk_php_get_command_arg_value() {
6578
zval* expr = NULL;
6679
zval* first_arg = NULL;
@@ -458,6 +471,29 @@ static void test_nr_lib_aws_sdk_php_handle_version(void) {
458471
tlib_php_request_end();
459472
}
460473

474+
static void test_nr_lib_aws_sdk_php_lambda_invoke() {
475+
tlib_php_engine_create("");
476+
tlib_php_request_start();
477+
478+
tlib_php_request_eval("function lambda_invoke($a, $b) { return; }");
479+
nr_php_wrap_user_function(NR_PSTR("lambda_invoke"), aws_lambda_invoke_wrapper);
480+
481+
char* args
482+
= "array("
483+
" 0 => array("
484+
" 'FunctionName' => 'us-east-2:012345678901:function'"
485+
" )"
486+
")";
487+
zval* array_arg = tlib_php_request_eval_expr(args);
488+
char* expect = "'arn:aws:lamba:us-east-2:012345678901:function'";
489+
zval* expect_arg = tlib_php_request_eval_expr(expect);
490+
zval* expr = nr_php_call(NULL, "lambda_invoke", expect_arg, array_arg);
491+
tlib_pass_if_not_null("Expression should evaluate.", expr);
492+
493+
tlib_php_request_end();
494+
tlib_php_engine_destroy();
495+
}
496+
461497
void test_main(void* p NRUNUSED) {
462498
tlib_php_engine_create("");
463499
test_nr_lib_aws_sdk_php_add_supportability_service_metric();
@@ -466,6 +502,7 @@ void test_main(void* p NRUNUSED) {
466502
#if ZEND_MODULE_API_NO >= ZEND_8_1_X_API_NO
467503
test_nr_lib_aws_sdk_php_sqs_parse_queueurl();
468504
test_nr_lib_aws_sdk_php_get_command_arg_value();
505+
test_nr_lib_aws_sdk_php_lambda_invoke();
469506
#endif /* PHP 8.1+ */
470507
}
471508
#else

0 commit comments

Comments
 (0)