@@ -577,7 +577,7 @@ public async Task StartDownloadsAsync_SinglePart_ReturnsImmediately()
577577 var mockBufferManager = new Mock < IPartBufferManager > ( ) ;
578578
579579 // Act
580- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
580+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
581581
582582 // Assert - should complete without any downloads
583583 mockClient . Verify ( x => x . GetObjectAsync ( It . IsAny < GetObjectRequest > ( ) , It . IsAny < CancellationToken > ( ) ) , Times . Never ) ;
@@ -594,7 +594,7 @@ public async Task StartDownloadsAsync_WithNullDiscoveryResult_ThrowsArgumentNull
594594 var coordinator = new MultipartDownloadManager ( mockClient . Object , request , config , CreateMockDataHandler ( ) . Object ) ;
595595
596596 // Act
597- await coordinator . StartDownloadsAsync ( null , CancellationToken . None ) ;
597+ await coordinator . StartDownloadsAsync ( null , null , CancellationToken . None ) ;
598598 }
599599
600600 #endregion
@@ -617,7 +617,7 @@ public async Task Validation_Failures_ThrowInvalidOperationException(
617617 var discoveryResult = await coordinator . DiscoverDownloadStrategyAsync ( CancellationToken . None ) ;
618618
619619 // Act & Assert (exception expected via attribute)
620- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
620+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
621621 await coordinator . DownloadCompletionTask ; // Wait for background task to observe exceptions
622622 }
623623
@@ -641,7 +641,7 @@ public async Task Validation_ETag_Matching_Succeeds()
641641 var discoveryResult = await coordinator . DiscoverDownloadStrategyAsync ( CancellationToken . None ) ;
642642
643643 // Act - should succeed with matching ETags
644- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
644+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
645645
646646 // Assert - no exception thrown
647647 }
@@ -683,7 +683,7 @@ public async Task Validation_ContentRange_ValidRange_Succeeds()
683683 var discoveryResult = await coordinator . DiscoverDownloadStrategyAsync ( CancellationToken . None ) ;
684684
685685 // Act - should succeed with valid ranges
686- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
686+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
687687
688688 // Assert - no exception thrown
689689 }
@@ -824,7 +824,7 @@ public async Task StartDownloadsAsync_WhenCancelledBeforeStart_ThrowsOperationCa
824824 cts . Cancel ( ) ;
825825
826826 // Act
827- await coordinator . StartDownloadsAsync ( discoveryResult , cts . Token ) ;
827+ await coordinator . StartDownloadsAsync ( discoveryResult , null , cts . Token ) ;
828828 await coordinator . DownloadCompletionTask ; // Wait for background task to observe exceptions
829829 }
830830
@@ -865,7 +865,7 @@ public async Task StartDownloadsAsync_WhenCancelledDuringDownloads_NotifiesBuffe
865865 // Act
866866 try
867867 {
868- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
868+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
869869 await coordinator . DownloadCompletionTask ; // Wait for background task to observe exceptions
870870 }
871871 catch ( OperationCanceledException )
@@ -910,7 +910,7 @@ public async Task StartDownloadsAsync_WhenCancelled_SetsDownloadException()
910910 // Act
911911 try
912912 {
913- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
913+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
914914 await coordinator . DownloadCompletionTask ; // Wait for background task to observe exceptions
915915 }
916916 catch ( OperationCanceledException )
@@ -944,7 +944,7 @@ public async Task StartDownloadsAsync_PassesCancellationTokenToBufferManager()
944944 var cts = new CancellationTokenSource ( ) ;
945945
946946 // Act
947- await coordinator . StartDownloadsAsync ( discoveryResult , cts . Token ) ;
947+ await coordinator . StartDownloadsAsync ( discoveryResult , null , cts . Token ) ;
948948
949949 // Assert - The cancellation token was passed through to the data handler
950950 Assert . IsNotNull ( discoveryResult ) ;
@@ -970,7 +970,7 @@ public async Task StartDownloadsAsync_SinglePart_DoesNotThrowOnCancellation()
970970 cts . Cancel ( ) ;
971971
972972 // Act - should complete without throwing even though token is cancelled
973- await coordinator . StartDownloadsAsync ( discoveryResult , cts . Token ) ;
973+ await coordinator . StartDownloadsAsync ( discoveryResult , null , cts . Token ) ;
974974
975975 // Assert - no exception thrown, no S3 calls made
976976 mockClient . Verify ( x => x . GetObjectAsync ( It . IsAny < GetObjectRequest > ( ) , It . IsAny < CancellationToken > ( ) ) , Times . Never ) ;
@@ -1021,7 +1021,7 @@ public async Task StartDownloadsAsync_CancellationPropagatesAcrossConcurrentDown
10211021 // Act
10221022 try
10231023 {
1024- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
1024+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
10251025 await coordinator . DownloadCompletionTask ; // Wait for background task to observe exceptions
10261026 }
10271027 catch ( OperationCanceledException )
@@ -1098,7 +1098,7 @@ public async Task StartDownloadsAsync_RangeStrategy_CancellationDuringDownloads(
10981098 var discoveryResult = await coordinator . DiscoverDownloadStrategyAsync ( CancellationToken . None ) ;
10991099
11001100 // Act
1101- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
1101+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
11021102 await coordinator . DownloadCompletionTask ; // Wait for background task to observe exceptions
11031103 }
11041104
@@ -1153,7 +1153,7 @@ public async Task StartDownloadsAsync_ReturnsImmediately_PreventsDeadlock()
11531153
11541154 // Act - StartDownloadsAsync should return immediately (not wait for all downloads)
11551155 var stopwatch = System . Diagnostics . Stopwatch . StartNew ( ) ;
1156- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
1156+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
11571157 stopwatch . Stop ( ) ;
11581158
11591159 // Assert - StartDownloadsAsync should return almost immediately
@@ -1202,7 +1202,7 @@ public async Task StartDownloadsAsync_SinglePart_ReturnsImmediatelyWithoutBackgr
12021202
12031203 // Act
12041204 var stopwatch = System . Diagnostics . Stopwatch . StartNew ( ) ;
1205- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None ) ;
1205+ await coordinator . StartDownloadsAsync ( discoveryResult , null , CancellationToken . None ) ;
12061206 stopwatch . Stop ( ) ;
12071207
12081208 // DownloadCompletionTask should be completed immediately (no background work)
@@ -1761,7 +1761,7 @@ public async Task ProgressCallback_ConcurrentCompletion_FiresOnlyOneCompletionEv
17611761 var discoveryResult = await coordinator . DiscoverDownloadStrategyAsync ( CancellationToken . None ) ;
17621762
17631763 // Act
1764- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None , progressCallback ) ;
1764+ await coordinator . StartDownloadsAsync ( discoveryResult , progressCallback , CancellationToken . None ) ;
17651765
17661766 // Wait for async progress events to complete
17671767 var success = await WaitForProgressEventsAsync ( progressEvents , progressLock , totalObjectSize ) ;
@@ -1817,7 +1817,7 @@ public async Task ProgressCallback_MultiplePartsComplete_AggregatesCorrectly()
18171817 var discoveryResult = await coordinator . DiscoverDownloadStrategyAsync ( CancellationToken . None ) ;
18181818
18191819 // Act
1820- await coordinator . StartDownloadsAsync ( discoveryResult , CancellationToken . None , progressCallback ) ;
1820+ await coordinator . StartDownloadsAsync ( discoveryResult , progressCallback , CancellationToken . None ) ;
18211821
18221822 // Wait for async progress events to complete
18231823 var success = await WaitForProgressEventsAsync ( progressEvents , progressLock , totalObjectSize ) ;
0 commit comments