@@ -620,6 +620,42 @@ describe('DBSQLClient.createAuthProvider', () => {
620620 } ) ;
621621} ) ;
622622
623+ describe ( 'DBSQLClient retry-policy ConnectionOptions' , ( ) => {
624+ it ( 'ingests retry-policy options from connect() into ClientConfig' , async ( ) => {
625+ const client = new DBSQLClient ( ) ;
626+
627+ // Defaults before connect.
628+ expect ( client . getConfig ( ) . retryMaxAttempts ) . to . equal ( 5 ) ;
629+ expect ( client . getConfig ( ) . retriesTimeout ) . to . equal ( 15 * 60 * 1000 ) ;
630+ expect ( client . getConfig ( ) . retryDelayMin ) . to . equal ( 1000 ) ;
631+ expect ( client . getConfig ( ) . retryDelayMax ) . to . equal ( 60 * 1000 ) ;
632+
633+ await client . connect ( {
634+ ...connectOptions ,
635+ retryMaxAttempts : 2 ,
636+ retriesTimeout : 5000 ,
637+ retryDelayMin : 100 ,
638+ retryDelayMax : 500 ,
639+ } ) ;
640+
641+ expect ( client . getConfig ( ) . retryMaxAttempts ) . to . equal ( 2 ) ;
642+ expect ( client . getConfig ( ) . retriesTimeout ) . to . equal ( 5000 ) ;
643+ expect ( client . getConfig ( ) . retryDelayMin ) . to . equal ( 100 ) ;
644+ expect ( client . getConfig ( ) . retryDelayMax ) . to . equal ( 500 ) ;
645+ } ) ;
646+
647+ it ( 'keeps defaults when retry-policy options are omitted' , async ( ) => {
648+ const client = new DBSQLClient ( ) ;
649+
650+ await client . connect ( { ...connectOptions } ) ;
651+
652+ expect ( client . getConfig ( ) . retryMaxAttempts ) . to . equal ( 5 ) ;
653+ expect ( client . getConfig ( ) . retriesTimeout ) . to . equal ( 15 * 60 * 1000 ) ;
654+ expect ( client . getConfig ( ) . retryDelayMin ) . to . equal ( 1000 ) ;
655+ expect ( client . getConfig ( ) . retryDelayMax ) . to . equal ( 60 * 1000 ) ;
656+ } ) ;
657+ } ) ;
658+
623659describe ( 'DBSQLClient.enableMetricViewMetadata' , ( ) => {
624660 it ( 'should store enableMetricViewMetadata config when enabled' , async ( ) => {
625661 const client = new DBSQLClient ( ) ;
0 commit comments