index.mock.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import { QiniuNetworkError, QiniuRequestError } from '../errors';
  2. export var errorMap = {
  3. networkError: new QiniuNetworkError('mock', 'message'),
  4. invalidParams: new QiniuRequestError(400, 'mock', 'message'),
  5. expiredToken: new QiniuRequestError(401, 'mock', 'message'),
  6. gatewayUnavailable: new QiniuRequestError(502, 'mock', 'message'),
  7. serviceUnavailable: new QiniuRequestError(503, 'mock', 'message'),
  8. serviceTimeout: new QiniuRequestError(504, 'mock', 'message'),
  9. serviceError: new QiniuRequestError(599, 'mock', 'message'),
  10. invalidUploadId: new QiniuRequestError(612, 'mock', 'message') // 无效的 upload id
  11. };
  12. var MockApi = /** @class */ (function () {
  13. function MockApi() {
  14. this.interceptorMap = new Map();
  15. this.direct = this.direct.bind(this);
  16. this.getUpHosts = this.getUpHosts.bind(this);
  17. this.uploadChunk = this.uploadChunk.bind(this);
  18. this.uploadComplete = this.uploadComplete.bind(this);
  19. this.initUploadParts = this.initUploadParts.bind(this);
  20. this.deleteUploadedChunks = this.deleteUploadedChunks.bind(this);
  21. }
  22. MockApi.prototype.clearInterceptor = function () {
  23. this.interceptorMap.clear();
  24. };
  25. MockApi.prototype.setInterceptor = function (name, interceptor) {
  26. this.interceptorMap.set(name, interceptor);
  27. };
  28. MockApi.prototype.callInterceptor = function (name, defaultValue) {
  29. var interceptor = this.interceptorMap.get(name);
  30. if (interceptor != null) {
  31. return interceptor();
  32. }
  33. return defaultValue;
  34. };
  35. MockApi.prototype.direct = function () {
  36. var defaultData = Promise.resolve({
  37. reqId: 'req-id',
  38. data: {
  39. fsize: 270316,
  40. bucket: 'test2222222222',
  41. hash: 'Fs_k3kh7tT5RaFXVx3z1sfCyoa2Y',
  42. name: '84575bc9e34412d47cf3367b46b23bc7e394912a',
  43. key: '84575bc9e34412d47cf3367b46b23bc7e394912a.html'
  44. }
  45. });
  46. return this.callInterceptor('direct', defaultData);
  47. };
  48. MockApi.prototype.getUpHosts = function () {
  49. var defaultData = Promise.resolve({
  50. reqId: 'req-id',
  51. data: {
  52. ttl: 86400,
  53. io: { src: { main: ['iovip-z2.qbox.me'] } },
  54. up: {
  55. acc: {
  56. main: ['upload-z2.qiniup.com'],
  57. backup: ['upload-dg.qiniup.com', 'upload-fs.qiniup.com']
  58. },
  59. old_acc: { main: ['upload-z2.qbox.me'], info: 'compatible to non-SNI device' },
  60. old_src: { main: ['up-z2.qbox.me'], info: 'compatible to non-SNI device' },
  61. src: { main: ['up-z2.qiniup.com'], backup: ['up-dg.qiniup.com', 'up-fs.qiniup.com'] }
  62. },
  63. uc: { acc: { main: ['uc.qbox.me'] } },
  64. rs: { acc: { main: ['rs-z2.qbox.me'] } },
  65. rsf: { acc: { main: ['rsf-z2.qbox.me'] } },
  66. api: { acc: { main: ['api-z2.qiniu.com'] } }
  67. }
  68. });
  69. return this.callInterceptor('getUpHosts', defaultData);
  70. };
  71. MockApi.prototype.uploadChunk = function () {
  72. var defaultData = Promise.resolve({
  73. reqId: 'req-id',
  74. data: {
  75. etag: 'FuYYVJ1gmVCoGk5C5r5ftrLXxE6m',
  76. md5: '491309eddd8e7233e14eaa25216594b4'
  77. }
  78. });
  79. return this.callInterceptor('uploadChunk', defaultData);
  80. };
  81. MockApi.prototype.uploadComplete = function () {
  82. var defaultData = Promise.resolve({
  83. reqId: 'req-id',
  84. data: {
  85. key: 'test.zip',
  86. hash: 'lsril688bAmXn7kiiOe9fL4mpc39',
  87. fsize: 11009649,
  88. bucket: 'test',
  89. name: 'test'
  90. }
  91. });
  92. return this.callInterceptor('uploadComplete', defaultData);
  93. };
  94. MockApi.prototype.initUploadParts = function () {
  95. var defaultData = Promise.resolve({
  96. reqId: 'req-id',
  97. data: { uploadId: '60878b9408bc044043f5d74f', expireAt: 1620100628 }
  98. });
  99. return this.callInterceptor('initUploadParts', defaultData);
  100. };
  101. MockApi.prototype.deleteUploadedChunks = function () {
  102. var defaultData = Promise.resolve({
  103. reqId: 'req-id',
  104. data: undefined
  105. });
  106. return this.callInterceptor('deleteUploadedChunks', defaultData);
  107. };
  108. return MockApi;
  109. }());
  110. export { MockApi };
  111. //# sourceMappingURL=index.mock.js.map