index.mock.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
  3. var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
  4. _Object$defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.MockApi = exports.errorMap = void 0;
  8. var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
  9. var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
  10. var _errors = require("../errors");
  11. var errorMap = {
  12. networkError: new _errors.QiniuNetworkError('mock', 'message'),
  13. invalidParams: new _errors.QiniuRequestError(400, 'mock', 'message'),
  14. expiredToken: new _errors.QiniuRequestError(401, 'mock', 'message'),
  15. gatewayUnavailable: new _errors.QiniuRequestError(502, 'mock', 'message'),
  16. serviceUnavailable: new _errors.QiniuRequestError(503, 'mock', 'message'),
  17. serviceTimeout: new _errors.QiniuRequestError(504, 'mock', 'message'),
  18. serviceError: new _errors.QiniuRequestError(599, 'mock', 'message'),
  19. invalidUploadId: new _errors.QiniuRequestError(612, 'mock', 'message') // 无效的 upload id
  20. };
  21. exports.errorMap = errorMap;
  22. var MockApi =
  23. /** @class */
  24. function () {
  25. function MockApi() {
  26. this.interceptorMap = new _map["default"]();
  27. this.direct = this.direct.bind(this);
  28. this.getUpHosts = this.getUpHosts.bind(this);
  29. this.uploadChunk = this.uploadChunk.bind(this);
  30. this.uploadComplete = this.uploadComplete.bind(this);
  31. this.initUploadParts = this.initUploadParts.bind(this);
  32. this.deleteUploadedChunks = this.deleteUploadedChunks.bind(this);
  33. }
  34. MockApi.prototype.clearInterceptor = function () {
  35. this.interceptorMap.clear();
  36. };
  37. MockApi.prototype.setInterceptor = function (name, interceptor) {
  38. this.interceptorMap.set(name, interceptor);
  39. };
  40. MockApi.prototype.callInterceptor = function (name, defaultValue) {
  41. var interceptor = this.interceptorMap.get(name);
  42. if (interceptor != null) {
  43. return interceptor();
  44. }
  45. return defaultValue;
  46. };
  47. MockApi.prototype.direct = function () {
  48. var defaultData = _promise["default"].resolve({
  49. reqId: 'req-id',
  50. data: {
  51. fsize: 270316,
  52. bucket: 'test2222222222',
  53. hash: 'Fs_k3kh7tT5RaFXVx3z1sfCyoa2Y',
  54. name: '84575bc9e34412d47cf3367b46b23bc7e394912a',
  55. key: '84575bc9e34412d47cf3367b46b23bc7e394912a.html'
  56. }
  57. });
  58. return this.callInterceptor('direct', defaultData);
  59. };
  60. MockApi.prototype.getUpHosts = function () {
  61. var defaultData = _promise["default"].resolve({
  62. reqId: 'req-id',
  63. data: {
  64. ttl: 86400,
  65. io: {
  66. src: {
  67. main: ['iovip-z2.qbox.me']
  68. }
  69. },
  70. up: {
  71. acc: {
  72. main: ['upload-z2.qiniup.com'],
  73. backup: ['upload-dg.qiniup.com', 'upload-fs.qiniup.com']
  74. },
  75. old_acc: {
  76. main: ['upload-z2.qbox.me'],
  77. info: 'compatible to non-SNI device'
  78. },
  79. old_src: {
  80. main: ['up-z2.qbox.me'],
  81. info: 'compatible to non-SNI device'
  82. },
  83. src: {
  84. main: ['up-z2.qiniup.com'],
  85. backup: ['up-dg.qiniup.com', 'up-fs.qiniup.com']
  86. }
  87. },
  88. uc: {
  89. acc: {
  90. main: ['uc.qbox.me']
  91. }
  92. },
  93. rs: {
  94. acc: {
  95. main: ['rs-z2.qbox.me']
  96. }
  97. },
  98. rsf: {
  99. acc: {
  100. main: ['rsf-z2.qbox.me']
  101. }
  102. },
  103. api: {
  104. acc: {
  105. main: ['api-z2.qiniu.com']
  106. }
  107. }
  108. }
  109. });
  110. return this.callInterceptor('getUpHosts', defaultData);
  111. };
  112. MockApi.prototype.uploadChunk = function () {
  113. var defaultData = _promise["default"].resolve({
  114. reqId: 'req-id',
  115. data: {
  116. etag: 'FuYYVJ1gmVCoGk5C5r5ftrLXxE6m',
  117. md5: '491309eddd8e7233e14eaa25216594b4'
  118. }
  119. });
  120. return this.callInterceptor('uploadChunk', defaultData);
  121. };
  122. MockApi.prototype.uploadComplete = function () {
  123. var defaultData = _promise["default"].resolve({
  124. reqId: 'req-id',
  125. data: {
  126. key: 'test.zip',
  127. hash: 'lsril688bAmXn7kiiOe9fL4mpc39',
  128. fsize: 11009649,
  129. bucket: 'test',
  130. name: 'test'
  131. }
  132. });
  133. return this.callInterceptor('uploadComplete', defaultData);
  134. };
  135. MockApi.prototype.initUploadParts = function () {
  136. var defaultData = _promise["default"].resolve({
  137. reqId: 'req-id',
  138. data: {
  139. uploadId: '60878b9408bc044043f5d74f',
  140. expireAt: 1620100628
  141. }
  142. });
  143. return this.callInterceptor('initUploadParts', defaultData);
  144. };
  145. MockApi.prototype.deleteUploadedChunks = function () {
  146. var defaultData = _promise["default"].resolve({
  147. reqId: 'req-id',
  148. data: undefined
  149. });
  150. return this.callInterceptor('deleteUploadedChunks', defaultData);
  151. };
  152. return MockApi;
  153. }();
  154. exports.MockApi = MockApi;