1
1
2
2
const Minio = require ( "minio" ) ;
3
+ const request = require ( "supertest" ) ;
3
4
4
- const FILES = [
5
- {
6
- path : "/foo/bar.txt" ,
7
- content : "dog"
5
+ const FILES = {
6
+ "/foo/bar.txt" : {
7
+ content : "dog" ,
8
8
} ,
9
- {
10
- path : "/foo/baz.txt" ,
11
- content : "cat"
9
+ "/foo/baz.txt" : {
10
+ content : "cat" ,
12
11
} ,
13
- {
14
- path : "/grumpy.txt" ,
15
- content : "bah"
16
- }
17
- ] ;
12
+ "/grumpy.txt" : {
13
+ content : "bah" ,
14
+ } ,
15
+ } ;
18
16
19
- const BUCKET_NAME = "javier " ;
17
+ const BUCKET_NAME = "bucket-1 " ;
20
18
21
19
beforeAll ( async ( ) => {
22
20
const minioClient = new Minio . Client ( {
@@ -27,25 +25,30 @@ beforeAll(async () => {
27
25
secretKey : 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' ,
28
26
} ) ;
29
27
30
- ensureBucketWithObjects ( minioClient , BUCKET_NAME , FILES ) ;
28
+ await ensureBucketWithObjects ( minioClient , BUCKET_NAME , FILES ) ;
31
29
} ) ;
32
30
33
31
async function ensureBucketWithObjects ( s3Client , bucketName , objects ) {
34
32
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 ) ) ;
36
34
await s3Client . removeBucket ( BUCKET_NAME ) ;
37
35
}
38
36
39
37
await s3Client . makeBucket ( BUCKET_NAME , 'us-east-1' ) ;
40
38
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 ) ;
45
43
console . log ( `Uploaded file: ${ JSON . stringify ( res ) } ` ) ;
46
44
}
47
45
}
48
46
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 ) ;
51
54
} ) ;
0 commit comments