deleteFile.test.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import tcb from '../../src/index'
  2. import fs from 'fs'
  3. import assert from 'assert'
  4. import config from '../config.local'
  5. import { ERROR } from '../../lib/const/code'
  6. import { IErrorInfo } from '../../types'
  7. describe('storage.deleteFile: 删除文件', () => {
  8. const app = tcb.init(config)
  9. let fileContent = fs.createReadStream(`${__dirname}/cos.jpeg`)
  10. // let fileContent = Buffer.from('aaaaa')
  11. it('校验删除文件参数', async () => {
  12. try {
  13. let result = await app.deleteFile({ fileList: null })
  14. } catch (e) {
  15. assert(e.code === ERROR.INVALID_PARAM.code)
  16. }
  17. try {
  18. let result = await app.deleteFile({ fileList: {} })
  19. } catch (e) {
  20. assert(e.code === ERROR.INVALID_PARAM.code)
  21. }
  22. try {
  23. let result = await app.deleteFile({ fileList: [1] })
  24. } catch (e) {
  25. assert(e.code === ERROR.INVALID_PARAM.code)
  26. }
  27. }, 30000)
  28. it('删除超出文件数限制50', async () => {
  29. let i = 0
  30. let fileList = []
  31. while (i++ <= 50) {
  32. fileList.push('cloud://unexistJpg.jpg')
  33. }
  34. let result
  35. try {
  36. result = await app.deleteFile({ fileList })
  37. } catch (e) {
  38. assert((<IErrorInfo>e).code === ERROR.INVALID_PARAM.code)
  39. }
  40. // 验证return code
  41. const app2 = tcb.init({
  42. ...config,
  43. throwOnCode: false
  44. })
  45. const res: any = await app2.deleteFile({ fileList })
  46. assert(res.code === ERROR.INVALID_PARAM.code)
  47. }, 30000)
  48. it('上传文件、删除文件', async () => {
  49. const result1 = await app.uploadFile({
  50. // cloudPath: "test-admin.jpeg",
  51. cloudPath: 'ab.jpeg',
  52. fileContent
  53. })
  54. const { fileID } = result1
  55. // assert(result1.fileID, '上传文件失败')
  56. // const fileID = result1.fileID
  57. // const result2 = await app.getTempFileURL({
  58. // fileList: [
  59. // {
  60. // fileID: fileID,
  61. // maxAge: 60
  62. // }
  63. // ]
  64. // })
  65. // console.log('result2:', result2)
  66. // assert(result2.fileList[0].tempFileURL, '获取下载链接失败')
  67. const result3 = await app.deleteFile({
  68. fileList: [fileID]
  69. })
  70. assert.strictEqual(fileID, result3.fileList[0].fileID)
  71. }, 30000)
  72. })