11
22const Minio = require ( "minio" ) ;
3+ const request = require ( "supertest" ) ;
34
4- const FILES = [
5- {
6- path : "/foo/bar.txt" ,
7- content : "dog"
5+ const FILES = {
6+ "/foo/bar.txt" : {
7+ content : "dog" ,
88 } ,
9- {
10- path : "/foo/baz.txt" ,
11- content : "cat"
9+ "/foo/baz.txt" : {
10+ content : "cat" ,
1211 } ,
13- {
14- path : "/grumpy.txt" ,
15- content : "bah"
16- }
17- ] ;
12+ "/grumpy.txt" : {
13+ content : "bah" ,
14+ } ,
15+ } ;
1816
19- const BUCKET_NAME = "javier " ;
17+ const BUCKET_NAME = "bucket-1 " ;
2018
2119beforeAll ( async ( ) => {
2220 const minioClient = new Minio . Client ( {
@@ -27,25 +25,30 @@ beforeAll(async () => {
2725 secretKey : 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' ,
2826 } ) ;
2927
30- ensureBucketWithObjects ( minioClient , BUCKET_NAME , FILES ) ;
28+ await ensureBucketWithObjects ( minioClient , BUCKET_NAME , FILES ) ;
3129} ) ;
3230
3331async function ensureBucketWithObjects ( s3Client , bucketName , objects ) {
3432 if ( await s3Client . bucketExists ( BUCKET_NAME ) ) {
35- await s3Client . removeObjects ( BUCKET_NAME , FILES . map ( ( f ) => f . path ) ) ;
33+ await s3Client . removeObjects ( BUCKET_NAME , Object . keys ( FILES ) ) ;
3634 await s3Client . removeBucket ( BUCKET_NAME ) ;
3735 }
3836
3937 await s3Client . makeBucket ( BUCKET_NAME , 'us-east-1' ) ;
4038
41- for ( const i in FILES ) {
42- console . log ( `now loading file ${ FILES [ i ] } ` )
43- let buf = Buffer . from ( FILES [ i ] . content , "utf-8" ) ;
44- let res = await s3Client . putObject ( BUCKET_NAME , FILES [ i ] . path , buf ) ;
39+ for ( const path of Object . keys ( FILES ) ) {
40+ console . log ( `now loading file ${ path } ` ) ;
41+ let buf = Buffer . from ( FILES [ path ] . content , "utf-8" ) ;
42+ let res = await s3Client . putObject ( BUCKET_NAME , path , buf ) ;
4543 console . log ( `Uploaded file: ${ JSON . stringify ( res ) } ` ) ;
4644 }
4745}
4846
49- test ( 'adds 1 + 2 to equal 3' , ( ) => {
50- expect ( true ) . toBe ( true ) ;
47+ test ( 'adds 1 + 2 to equal 3' , async ( ) => {
48+ const res = await request ( 'http://localhost:8989' )
49+ . get ( "/foo/bar.txt" )
50+ . set ( "accept" , "binary/octet-stream" ) ;
51+
52+ expect ( res . statusCode ) . toBe ( 200 ) ;
53+ expect ( res . text ) . toBe ( FILES [ "/foo/bar.txt" ] . content ) ;
5154} ) ;
0 commit comments