UNPKG

2.4 kBPlain TextView Raw
1// process.env.TS_CONFIG_PATHS = 'true';
2import { getS3objectParamsI } from "../lib/System/S3DO";
3import { S3DO, S3objectParamsI, setS3objectAclParamsI } from "../src/System/S3DO";
4import { S3confDO } from "./S3DO";
5
6const fs = require('fs');
7
8const assert = require('chai').assert;
9
10/**
11 * обертка для чтения файла
12 * @param file - путь к файлу
13 */
14function readFile(file: string) {
15 return new Promise((resolve, reject) => {
16 fs.readFile(file, function (err: any, data: any) {
17 if (err) {
18 reject(err);
19 }
20 resolve(data);
21 });
22 })
23}
24
25/**
26 * API для обновления каталогов
27 */
28const run = async () => {
29 await describe('Проверка работы s3', async () => {
30 it('upload', async () => {
31 let s3 = new S3DO(S3confDO);
32 let data: any = await readFile(__dirname + '/S3.test.ts');
33 console.log('Upload file ', __dirname + '/S3.test.ts');
34 let object: S3objectParamsI = {
35 Bucket: S3confDO.bucket,
36 Key: 'media/S3r3.test.ts',
37 ContentType: 'text/html',
38 ContentLength: data.length,
39 Body: data,
40 ACL: 'public-read'
41 };
42 console.log('object =>>', object);
43 let resp = await s3.upload(object);
44 console.log('response =>>', resp);
45 assert.ok(true);
46 }).timeout(10000);
47
48 it('get', async () => {
49 let s3 = new S3DO(S3confDO);
50 let object: getS3objectParamsI = {
51 Bucket: S3confDO.bucket,
52 Key: 'media/S3r3.test.ts',
53 };
54 console.log('object =>>', object);
55 let resp = await s3.getObject(object);
56 console.log('response =>>', resp);
57 assert.ok(true);
58 }).timeout(10000);
59
60 it('put acl', async () => {
61 let s3 = new S3DO(S3confDO);
62 let object: setS3objectAclParamsI = {
63 Bucket: S3confDO.bucket,
64 Key: 'media/S3r3.test.ts',
65 ACL: 'public-read'
66 };
67 console.log('object =>>', object);
68 let resp = await s3.setObjectAcl(object);
69 console.log('response =>>', resp);
70 assert.ok(true);
71 }).timeout(10000);
72 });
73};
74run();