@@ -288,6 +288,69 @@ static void test_create_agent_php_version_metrics() {
288
288
#undef PHP_VERSION_METRIC_BASE
289
289
#undef AGENT_VERSION_METRIC_BASE
290
290
291
+ static void test_create_log_forwarding_labels (TSRMLS_D ) {
292
+ nrobj_t * labels = NULL ;
293
+ nrobj_t * log_labels = NULL ;
294
+ char * json = NULL ;
295
+
296
+ /* Test : Create log forwarding labels with valid key/value pairs */
297
+ labels = nro_new_hash ();
298
+ nro_set_hash_string (labels , "key1" , "value1" );
299
+ nro_set_hash_string (labels , "key2" , "value2" );
300
+ nro_set_hash_string (labels , "key3" , "value3" );
301
+
302
+ log_labels = nr_php_txn_get_log_forwarding_labels (labels );
303
+
304
+ json = nro_to_json (labels );
305
+ tlib_pass_if_str_equal (
306
+ "valid log label creation test" ,
307
+ "{\"key1\":\"value1\",\"key2\":\"value2\",\"key3\":\"value3\"}" , json );
308
+
309
+ nr_free (json );
310
+ nro_delete (labels );
311
+ nro_delete (log_labels );
312
+
313
+ /* Test : Create log forwarding labels with empty key/value pairs */
314
+ labels = nro_new_hash ();
315
+ nro_set_hash_string (labels , "" , "" );
316
+ nro_set_hash_string (labels , "key" , "" );
317
+ nro_set_hash_string (labels , "" , "value" );
318
+
319
+ log_labels = nr_php_txn_get_log_forwarding_labels (labels );
320
+
321
+ json = nro_to_json (labels );
322
+ tlib_pass_if_str_equal ("empty string log label creation test" ,
323
+ "{\"key\":\"\"}" , json );
324
+
325
+ nr_free (json );
326
+ nro_delete (labels );
327
+ nro_delete (log_labels );
328
+
329
+ /* Test : Create log forwarding labels with NULL key/value pairs */
330
+ labels = nro_new_hash ();
331
+ nro_set_hash_string (labels , NULL , NULL );
332
+ nro_set_hash_string (labels , "key" , NULL );
333
+ nro_set_hash_string (labels , NULL , "value" );
334
+
335
+ log_labels = nr_php_txn_get_log_forwarding_labels (labels );
336
+
337
+ json = nro_to_json (labels );
338
+ tlib_pass_if_str_equal ("NULL value log label creation test" , "{\"key\":\"\"}" ,
339
+ json );
340
+
341
+ nr_free (json );
342
+ nro_delete (labels );
343
+ nro_delete (log_labels );
344
+
345
+ /* Test : Create log forwarding labels NULL labels object */
346
+ log_labels = nr_php_txn_get_log_forwarding_labels (NULL );
347
+ json = nro_to_json (labels );
348
+ tlib_pass_if_str_equal ("NULL object log label creation test" , "null" , json );
349
+
350
+ nr_free (json );
351
+ nro_delete (log_labels );
352
+ }
353
+
291
354
tlib_parallel_info_t parallel_info = {.suggested_nthreads = 1 , .state_size = 0 };
292
355
293
356
void test_main (void * p NRUNUSED ) {
@@ -300,13 +363,15 @@ void test_main(void* p NRUNUSED) {
300
363
* attribute configuration.
301
364
*/
302
365
tlib_php_engine_create (
303
- "newrelic.transaction_events.attributes.include=request.uri" PTSRMLS_CC );
366
+ "newrelic.transaction_events.attributes.include=request."
367
+ "uri" PTSRMLS_CC );
304
368
305
369
test_handle_fpm_error ();
306
370
test_max_segments_config_values ();
307
371
test_create_php_version_metric ();
308
372
test_create_agent_version_metric ();
309
373
test_create_agent_php_version_metrics ();
374
+ test_create_log_forwarding_labels ();
310
375
311
376
tlib_php_engine_destroy ();
312
377
}
0 commit comments