@@ -4,12 +4,11 @@ import (
44 "context"
55 "errors"
66 "fmt"
7- "io"
87 "log"
98 "os"
109 "path/filepath"
1110
12- s3manager "github.com/aws/aws-sdk-go-v2/feature/s3/manager "
11+ "github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager "
1312 "github.com/aws/aws-sdk-go-v2/service/s3"
1413 s3types "github.com/aws/aws-sdk-go-v2/service/s3/types"
1514 "github.com/go-git/go-billy/v5/osfs"
@@ -22,16 +21,16 @@ import (
2221 "github.com/pivotal-cf/kiln/pkg/cargo"
2322)
2423
25- func verifySetsConcurrency (opts []func (* s3manager. Downloader ), concurrency int ) {
24+ func verifySetsConcurrency (opts []func (* transfermanager. Options ), concurrency int ) {
2625 Expect (opts ).To (HaveLen (1 ))
2726
28- downloader := & s3manager. Downloader {
27+ options := & transfermanager. Options {
2928 Concurrency : 1 ,
3029 }
3130
32- opts [0 ](downloader )
31+ opts [0 ](options )
3332
34- Expect (downloader .Concurrency ).To (Equal (concurrency ))
33+ Expect (options .Concurrency ).To (Equal (concurrency ))
3534}
3635
3736var _ = Describe ("S3ReleaseSource" , func () {
@@ -109,9 +108,9 @@ var _ = Describe("S3ReleaseSource", func() {
109108 logger = log .New (GinkgoWriter , "" , 0 )
110109 fakeS3Downloader = new (fetcherFakes.S3Downloader )
111110 // fakeS3Downloader writes the given S3 bucket and key into the output file for easy verification
112- fakeS3Downloader .DownloadStub = func (ctx context.Context , writer io. WriterAt , objectInput * s3. GetObjectInput , setConcurrency ... func (dl * s3manager. Downloader )) (int64 , error ) {
113- n , err := writer . WriteAt ([]byte (fmt .Sprintf ("%s/%s" , * objectInput .Bucket , * objectInput .Key )), 0 )
114- return int64 ( n ) , err
111+ fakeS3Downloader .DownloadObjectStub = func (ctx context.Context , input * transfermanager. DownloadObjectInput , setConcurrency ... func (* transfermanager. Options )) (* transfermanager. DownloadObjectOutput , error ) {
112+ _ , err := input . WriterAt . WriteAt ([]byte (fmt .Sprintf ("%s/%s" , * input .Bucket , * input .Key )), 0 )
113+ return nil , err
115114 }
116115 releaseSource = component .NewS3ReleaseSource (cargo.ReleaseSourceConfig {
117116 ID : sourceID ,
@@ -129,7 +128,7 @@ var _ = Describe("S3ReleaseSource", func() {
129128 releaseSource .DownloadThreads = 7
130129 localRelease , err := releaseSource .DownloadRelease (releaseDir , remoteRelease )
131130 Expect (err ).NotTo (HaveOccurred ())
132- Expect (fakeS3Downloader .DownloadCallCount ()).To (Equal (1 ))
131+ Expect (fakeS3Downloader .DownloadObjectCallCount ()).To (Equal (1 ))
133132
134133 releasePath := filepath .Join (releaseDir , expectedLocalFilename )
135134 releaseContents , err := os .ReadFile (releasePath )
@@ -139,7 +138,7 @@ var _ = Describe("S3ReleaseSource", func() {
139138 sha1 , err := component .CalculateSum (releasePath , osfs .New ("" ))
140139 Expect (err ).NotTo (HaveOccurred ())
141140
142- _ , _ , _ , opts := fakeS3Downloader .DownloadArgsForCall (0 )
141+ _ , _ , opts := fakeS3Downloader .DownloadObjectArgsForCall (0 )
143142 verifySetsConcurrency (opts , 7 )
144143
145144 Expect (localRelease ).To (Equal (component.Local {
@@ -153,10 +152,10 @@ var _ = Describe("S3ReleaseSource", func() {
153152 releaseSource .DownloadThreads = 0
154153 _ , err := releaseSource .DownloadRelease (releaseDir , remoteRelease )
155154 Expect (err ).NotTo (HaveOccurred ())
156- Expect (fakeS3Downloader .DownloadCallCount ()).To (Equal (1 ))
155+ Expect (fakeS3Downloader .DownloadObjectCallCount ()).To (Equal (1 ))
157156
158- _ , _ , _ , opts := fakeS3Downloader .DownloadArgsForCall (0 )
159- verifySetsConcurrency (opts , s3manager . DefaultDownloadConcurrency )
157+ _ , _ , opts := fakeS3Downloader .DownloadObjectArgsForCall (0 )
158+ verifySetsConcurrency (opts , 1 )
160159 })
161160 })
162161
@@ -171,8 +170,8 @@ var _ = Describe("S3ReleaseSource", func() {
171170
172171 Context ("when a file can't be downloaded" , func () {
173172 BeforeEach (func () {
174- fakeS3Downloader .DownloadCalls (func (ctx context.Context , w io. WriterAt , i * s3. GetObjectInput , options ... func (* s3manager. Downloader )) (int64 , error ) {
175- return 0 , errors .New ("503 Service Unavailable" )
173+ fakeS3Downloader .DownloadObjectCalls (func (ctx context.Context , input * transfermanager. DownloadObjectInput , options ... func (* transfermanager. Options )) (* transfermanager. DownloadObjectOutput , error ) {
174+ return nil , errors .New ("503 Service Unavailable" )
176175 })
177176 })
178177
@@ -311,9 +310,9 @@ var _ = Describe("S3ReleaseSource", func() {
311310
312311 fakeS3Downloader = new (fetcherFakes.S3Downloader )
313312 // fakeS3Downloader writes the given S3 bucket and key into the output file for easy verification
314- fakeS3Downloader .DownloadStub = func (ctx context.Context , writer io. WriterAt , objectInput * s3. GetObjectInput , setConcurrency ... func (dl * s3manager. Downloader )) (int64 , error ) {
315- n , err := writer . WriteAt ([]byte (fmt .Sprintf ("%s/%s" , * objectInput .Bucket , * objectInput .Key )), 0 )
316- return int64 ( n ) , err
313+ fakeS3Downloader .DownloadObjectStub = func (ctx context.Context , input * transfermanager. DownloadObjectInput , setConcurrency ... func (* transfermanager. Options )) (* transfermanager. DownloadObjectOutput , error ) {
314+ _ , err := input . WriterAt . WriteAt ([]byte (fmt .Sprintf ("%s/%s" , * input .Bucket , * input .Key )), 0 )
315+ return nil , err
317316 }
318317
319318 logger = log .New (GinkgoWriter , "" , 0 )
@@ -374,9 +373,9 @@ var _ = Describe("S3ReleaseSource", func() {
374373 logger = log .New (GinkgoWriter , "" , 0 )
375374 fakeS3Downloader = new (fetcherFakes.S3Downloader )
376375 // fakeS3Downloader writes the given S3 bucket and key into the output file for easy verification
377- fakeS3Downloader .DownloadStub = func (ctx context.Context , writer io. WriterAt , objectInput * s3. GetObjectInput , setConcurrency ... func (dl * s3manager. Downloader )) (int64 , error ) {
378- n , err := writer . WriteAt ([]byte (fmt .Sprintf ("%s/%s" , * objectInput .Bucket , * objectInput .Key )), 0 )
379- return int64 ( n ) , err
376+ fakeS3Downloader .DownloadObjectStub = func (ctx context.Context , input * transfermanager. DownloadObjectInput , setConcurrency ... func (* transfermanager. Options )) (* transfermanager. DownloadObjectOutput , error ) {
377+ _ , err := input . WriterAt . WriteAt ([]byte (fmt .Sprintf ("%s/%s" , * input .Bucket , * input .Key )), 0 )
378+ return nil , err
380379 }
381380
382381 releaseSource = component .NewS3ReleaseSource (
@@ -435,10 +434,10 @@ var _ = Describe("S3ReleaseSource", func() {
435434
436435 logger = log .New (GinkgoWriter , "" , 0 )
437436 fakeS3Downloader = new (fetcherFakes.S3Downloader )
438- fakeS3Downloader .DownloadStub = func (ctx context.Context , wa io. WriterAt , goi * s3. GetObjectInput , f ... func (* s3manager. Downloader )) (int64 , error ) {
439- Fail ("Download called when noDownload=true" )
440- return - 1 , nil
441- }
437+ fakeS3Downloader .DownloadObjectStub = func (ctx context.Context , input * transfermanager. DownloadObjectInput , opts ... func (* transfermanager. Options )) (* transfermanager. DownloadObjectOutput , error ) {
438+ Fail ("Download called when noDownload=true" )
439+ return nil , nil
440+ }
442441
443442 releaseSource = component .NewS3ReleaseSource (
444443 cargo.ReleaseSourceConfig {
@@ -509,9 +508,9 @@ var _ = Describe("S3ReleaseSource", func() {
509508 logger = log .New (GinkgoWriter , "" , 0 )
510509 fakeS3Downloader := new (fetcherFakes.S3Downloader )
511510 // fakeS3Downloader writes the given S3 bucket and key into the output file for easy verification
512- fakeS3Downloader .DownloadStub = func (ctx context.Context , writer io. WriterAt , objectInput * s3. GetObjectInput , setConcurrency ... func (dl * s3manager. Downloader )) (int64 , error ) {
513- n , err := writer . WriteAt ([]byte (fmt .Sprintf ("%s/%s" , * objectInput .Bucket , * objectInput .Key )), 0 )
514- return int64 ( n ) , err
511+ fakeS3Downloader .DownloadObjectStub = func (ctx context.Context , input * transfermanager. DownloadObjectInput , setConcurrency ... func (* transfermanager. Options )) (* transfermanager. DownloadObjectOutput , error ) {
512+ _ , err := input . WriterAt . WriteAt ([]byte (fmt .Sprintf ("%s/%s" , * input .Bucket , * input .Key )), 0 )
513+ return nil , err
515514 }
516515
517516 releaseSource = component .NewS3ReleaseSource (
0 commit comments