@@ -412,6 +412,35 @@ void test_client_config_stdout() {
412412 remove (configFilePath );
413413}
414414
415+ /* Test terminal masking*/
416+ void test_terminal_mask () {
417+
418+ char masked [450 ] = "\0" ;
419+ char * token = "\"oldSessionToken\":.\"ver:3-hint:92019686956010-ETMsDgAAAZnuCZEqABRBRVMvQ0JDL1BLQ1M1UGFkZGluZwEAABAAEFvTRpZh3vTIN0aeQGHgtZUAAACgEe4rGMIhP+9VB6W02vfgNxd7TzjF7V9CFNiobWsPKfRaVm0e+Pgan+NKiWqJGeYPY0kNDKc+iZZArOgYb3bj0JaU2ovmSRTzEKF4/oQdunFrob66HU+x5piBINNQ327tcSglCOBKxAmjHwQxv+C3t7Yzsaa1I10VUA3fRwGcMlluuCC/7ucFnLUeSESYzImlmWBtftQS/giLDli9CyghpgAUblZOu/WGGryesNxqKCr2qHxYUrQ=\"" ;
420+ terminal_mask (token , strlen (token ), masked , sizeof (masked ));
421+ assert_string_not_equal (token , masked );
422+
423+ char * expected = "\"oldSessionToken\": ****" ;
424+ assert_string_equal (masked , expected );
425+
426+ char * token1 = "Snowflake Token=\"ver:3-hint:92019686956010-ETMsDgAAAZnuCZDdABRBRVMvQ0JDL1BLQ1M1UGFkZGluZwEAABAAEE8nWQwJCW8y71MmS0MTiQAAADAKKvKBOXVEWiCRMEHtrZlROAljOWTb1wDD6rIgPC8odgqH9ieZZuxfm5GmPkP2DasqFfBMDxk0sw1ZWqE2c7Sos+tUSh09EKraNoANaMSMsL71u7JKMtSIPJ907FVM0xeDw924bYTY1+D3gKvVn93nzdAZto8pOPVs9ag0MlmFrQQH0RLuLAMgAx4ZBkyeoeuTco0A3PNoedb/kvIpfIQWtukVDuXJmCetZQxATxXVuu3cXisGg7I8Mu/VJqd/iABScY0nslPWxaodfF0nwZ4fquJWUaQ==\"" ;
427+ masked [0 ] = '\0' ;
428+ terminal_mask (token1 , strlen (token1 ), masked , sizeof (masked ));
429+ expected = "\"Snowflake Token\": ****" ;
430+ assert_string_equal (masked , expected );
431+
432+ char * token2 = "this text is not meant to be masked" ;
433+ masked [0 ] = '\0' ;
434+ terminal_mask (token2 , strlen (token2 ), masked , sizeof (masked ));
435+ assert_string_equal (token2 , masked );
436+
437+ char * token3 = "" ;
438+ masked [0 ] = '\0' ;
439+ terminal_mask (token3 , strlen (token3 ), masked , sizeof (masked ));
440+ expected = "" ;
441+ assert_string_equal (masked , expected );
442+ }
443+
415444void test_log_creation () {
416445 char logname [] = "dummy.log" ;
417446
@@ -484,6 +513,7 @@ void test_log_creation_no_permission_to_home_folder(){
484513 setenv ("HOME" , homedirOrig , 1 );
485514}
486515
516+
487517/**
488518 * Tests masking secret information in log
489519 */
@@ -580,6 +610,14 @@ void test_mask_secret_log() {
580610 "\"masterToken\":\t\"ETM:sDgAAA-XI0IS9NABRBRVMvQ0JDL1BLQ1M1UGFkZGluZwCAABAAEEb/xAQlmT+mwIx9G32E+ikAAACA/CPlEkq//+jWZnQkOj5VhjayruDsCVRGS/B6GzHUugXLc94EfEwuto94gS/oKSVrUg/JRPekypLAx4Afa1KW8n1RqXRF9Hzy1VVLmVEBMtei3yFJPNSHtfbeFHSr9eVB/OL8dOGbxQluGCh6XmaqTjyrh3fqUTWz7+n74+gu2ugAFFZ18iT+DStK0TTdmy4vBC6xUcHQ==\"" ,
581611 "\"masterToken\": ****"
582612 },
613+ {//21
614+ "\"Snowflake Token\"=\"ver:3-hint:92019686956010-ETMsDgAAAZnuCZDdABRBRVMvQ0JDL1BLQ1M1UGFkZGluZwEAABAAEE8nWQwJCW8+y71MmS0MTiQAAADAKKvKBOXVEWiCRMEHtrZlROAljOWTb1wDD6rIgPC8odgqH9ieZZuxfm5GmPkP2DasqFfBMDxk0sw1ZWqE2c7Sos+tUSh09EKraNoANaMSMsL71u7JKMtSIPJ907FVM0xeDw924bYTY1+D3gKvVn93nzdAZto8pOPVs9ag0Mlm+FrQQH0RLuLAMgAx4ZBkyeoeuTco0A3PNoedb/HkvIpfIQWtukVDuXJmCetZQxATxXVuu3cXisGg7I8Mu/VJqd/iABScY0nslPWxaodfF0nwZ4fquJWUaQ==\"" ,
615+ "\"Snowflake Token\": ****"
616+ },
617+ {//22
618+ "\"oldSessionToken\":.\"ver:3-hint:92019686956010-ETMsDgAAAZnuCZEqABRBRVMvQ0JDL1BLQ1M1UGFkZGluZwEAABAAEFvTRpZh3vTIN0aeQGHgtZUAAACgEe4rGMIhP+9VB6W02vfgNxd7TzjF7V9CFNiobWsPKfRaVm0e+Pgan+NKiWqJGeYPY0kNDKc+iZZArOgYb3bj0JaU2ovmSRTzEKF4/oQdunFrob66HU+x5piBINNQ327tcSglCOBKxAmjHwQxv+C3t7Yzsaa1I10VUA3fRwGcMlluuCC/7ucFnLUeSESYzImlmWBtftQS/giLDli9CyghpgAUblZOu/WGGryesNxqKCr2qHxYUrQ=\"" ,
619+ "\"masterToken\": ****"
620+ },
583621 };
584622
585623 char * line = NULL ;
@@ -618,6 +656,7 @@ int main(void) {
618656 cmocka_unit_test (test_client_config_log_no_level ),
619657 cmocka_unit_test (test_client_config_log_no_path ),
620658 cmocka_unit_test (test_client_config_stdout ),
659+ cmocka_unit_test (test_terminal_mask ),
621660#endif
622661 cmocka_unit_test (test_log_creation ),
623662#ifndef _WIN32
0 commit comments