55 * Actual S3 integration is tested in the server-test suite.
66 */
77
8+ import { getSignedUrl } from '@aws-sdk/s3-request-presigner' ;
89import { presignPutUrl , presignGetUrl , headObject } from '../src/presigned' ;
910
1011// Mock the AWS SDK modules
1112jest . mock ( '@aws-sdk/s3-request-presigner' , ( ) => ( {
1213 getSignedUrl : jest . fn ( ) . mockResolvedValue ( 'https://mock-presigned-url.example.com' ) ,
1314} ) ) ;
1415
16+ const mockGetSignedUrl = getSignedUrl as jest . MockedFunction < typeof getSignedUrl > ;
17+
1518jest . mock ( '@aws-sdk/client-s3' , ( ) => {
1619 const actual = jest . requireActual ( '@aws-sdk/client-s3' ) ;
1720 return {
@@ -38,30 +41,28 @@ describe('presignPutUrl', () => {
3841 } ) ;
3942
4043 it ( 'uses default expiresIn of 900 seconds' , async ( ) => {
41- const { getSignedUrl } = require ( '@aws-sdk/s3-request-presigner' ) ;
4244 await presignPutUrl ( mockClient , {
4345 bucket : 'test-bucket' ,
4446 key : 'test.txt' ,
4547 contentType : 'text/plain' ,
4648 contentLength : 100 ,
4749 } ) ;
48- expect ( getSignedUrl ) . toHaveBeenCalledWith (
50+ expect ( mockGetSignedUrl ) . toHaveBeenCalledWith (
4951 mockClient ,
5052 expect . anything ( ) ,
5153 { expiresIn : 900 } ,
5254 ) ;
5355 } ) ;
5456
5557 it ( 'respects custom expiresIn' , async ( ) => {
56- const { getSignedUrl } = require ( '@aws-sdk/s3-request-presigner' ) ;
5758 await presignPutUrl ( mockClient , {
5859 bucket : 'test-bucket' ,
5960 key : 'test.txt' ,
6061 contentType : 'text/plain' ,
6162 contentLength : 100 ,
6263 expiresIn : 1800 ,
6364 } ) ;
64- expect ( getSignedUrl ) . toHaveBeenCalledWith (
65+ expect ( mockGetSignedUrl ) . toHaveBeenCalledWith (
6566 mockClient ,
6667 expect . anything ( ) ,
6768 { expiresIn : 1800 } ,
@@ -79,12 +80,11 @@ describe('presignGetUrl', () => {
7980 } ) ;
8081
8182 it ( 'uses default expiresIn of 3600 seconds' , async ( ) => {
82- const { getSignedUrl } = require ( '@aws-sdk/s3-request-presigner' ) ;
8383 await presignGetUrl ( mockClient , {
8484 bucket : 'test-bucket' ,
8585 key : 'test.txt' ,
8686 } ) ;
87- expect ( getSignedUrl ) . toHaveBeenCalledWith (
87+ expect ( mockGetSignedUrl ) . toHaveBeenCalledWith (
8888 mockClient ,
8989 expect . anything ( ) ,
9090 { expiresIn : 3600 } ,
0 commit comments