@cloudant/couchbackup 2.9.8 → 2.9.9-SNAPSHOT.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/.scannerwork/report-task.txt +2 -2
  2. package/.scannerwork/scanner-report/analysis-warnings.pb +2 -2
  3. package/.scannerwork/scanner-report/analysis.log +1 -1
  4. package/.scannerwork/scanner-report/changesets-10.pb +2 -0
  5. package/.scannerwork/scanner-report/changesets-38.pb +1 -0
  6. package/.scannerwork/scanner-report/changesets-39.pb +1 -0
  7. package/.scannerwork/scanner-report/changesets-40.pb +1 -0
  8. package/.scannerwork/scanner-report/changesets-55.pb +1 -0
  9. package/.scannerwork/scanner-report/changesets-56.pb +1 -0
  10. package/.scannerwork/scanner-report/changesets-59.pb +1 -0
  11. package/.scannerwork/scanner-report/changesets-60.pb +1 -0
  12. package/.scannerwork/scanner-report/changesets-61.pb +1 -0
  13. package/.scannerwork/scanner-report/changesets-62.pb +1 -0
  14. package/.scannerwork/scanner-report/changesets-63.pb +1 -0
  15. package/.scannerwork/scanner-report/changesets-64.pb +1 -0
  16. package/.scannerwork/scanner-report/changesets-67.pb +1 -0
  17. package/.scannerwork/scanner-report/component-1.pb +2 -1
  18. package/.scannerwork/scanner-report/component-10.pb +2 -0
  19. package/.scannerwork/scanner-report/component-2.pb +1 -0
  20. package/.scannerwork/scanner-report/component-24.pb +1 -1
  21. package/.scannerwork/scanner-report/component-25.pb +1 -1
  22. package/.scannerwork/scanner-report/component-26.pb +1 -1
  23. package/.scannerwork/scanner-report/component-27.pb +1 -1
  24. package/.scannerwork/scanner-report/component-28.pb +1 -1
  25. package/.scannerwork/scanner-report/component-29.pb +1 -1
  26. package/.scannerwork/scanner-report/component-30.pb +1 -1
  27. package/.scannerwork/scanner-report/component-32.pb +1 -1
  28. package/.scannerwork/scanner-report/component-33.pb +1 -1
  29. package/.scannerwork/scanner-report/component-34.pb +1 -1
  30. package/.scannerwork/scanner-report/component-35.pb +1 -1
  31. package/.scannerwork/scanner-report/component-36.pb +1 -1
  32. package/.scannerwork/scanner-report/component-37.pb +1 -1
  33. package/.scannerwork/scanner-report/component-38.pb +1 -1
  34. package/.scannerwork/scanner-report/component-39.pb +1 -0
  35. package/.scannerwork/scanner-report/component-40.pb +1 -1
  36. package/.scannerwork/scanner-report/component-41.pb +1 -1
  37. package/.scannerwork/scanner-report/component-42.pb +1 -1
  38. package/.scannerwork/scanner-report/component-48.pb +1 -1
  39. package/.scannerwork/scanner-report/component-49.pb +1 -1
  40. package/.scannerwork/scanner-report/component-5.pb +1 -1
  41. package/.scannerwork/scanner-report/component-50.pb +1 -1
  42. package/.scannerwork/scanner-report/component-51.pb +1 -1
  43. package/.scannerwork/scanner-report/component-52.pb +1 -1
  44. package/.scannerwork/scanner-report/component-54.pb +1 -1
  45. package/.scannerwork/scanner-report/component-55.pb +1 -1
  46. package/.scannerwork/scanner-report/component-56.pb +1 -0
  47. package/.scannerwork/scanner-report/component-57.pb +1 -1
  48. package/.scannerwork/scanner-report/component-58.pb +1 -1
  49. package/.scannerwork/scanner-report/component-59.pb +1 -1
  50. package/.scannerwork/scanner-report/component-6.pb +1 -1
  51. package/.scannerwork/scanner-report/component-60.pb +1 -0
  52. package/.scannerwork/scanner-report/component-61.pb +1 -1
  53. package/.scannerwork/scanner-report/component-62.pb +1 -0
  54. package/.scannerwork/scanner-report/component-63.pb +1 -0
  55. package/.scannerwork/scanner-report/component-64.pb +1 -0
  56. package/.scannerwork/scanner-report/component-65.pb +1 -1
  57. package/.scannerwork/scanner-report/component-66.pb +1 -1
  58. package/.scannerwork/scanner-report/component-67.pb +1 -0
  59. package/.scannerwork/scanner-report/component-7.pb +1 -1
  60. package/.scannerwork/scanner-report/component-9.pb +1 -0
  61. package/.scannerwork/scanner-report/coverages-10.pb +0 -0
  62. package/.scannerwork/scanner-report/coverages-24.pb +0 -0
  63. package/.scannerwork/scanner-report/coverages-25.pb +0 -0
  64. package/.scannerwork/scanner-report/coverages-26.pb +0 -0
  65. package/.scannerwork/scanner-report/coverages-27.pb +0 -0
  66. package/.scannerwork/scanner-report/coverages-28.pb +0 -0
  67. package/.scannerwork/scanner-report/coverages-29.pb +0 -0
  68. package/.scannerwork/scanner-report/coverages-30.pb +0 -0
  69. package/.scannerwork/scanner-report/coverages-32.pb +0 -0
  70. package/.scannerwork/scanner-report/coverages-33.pb +0 -0
  71. package/.scannerwork/scanner-report/coverages-34.pb +0 -0
  72. package/.scannerwork/scanner-report/coverages-35.pb +0 -0
  73. package/.scannerwork/scanner-report/coverages-36.pb +0 -0
  74. package/.scannerwork/scanner-report/coverages-37.pb +0 -0
  75. package/.scannerwork/scanner-report/coverages-39.pb +0 -0
  76. package/.scannerwork/scanner-report/coverages-40.pb +0 -0
  77. package/.scannerwork/scanner-report/coverages-41.pb +0 -0
  78. package/.scannerwork/scanner-report/coverages-42.pb +0 -0
  79. package/.scannerwork/scanner-report/coverages-48.pb +0 -0
  80. package/.scannerwork/scanner-report/coverages-49.pb +0 -0
  81. package/.scannerwork/scanner-report/coverages-50.pb +0 -0
  82. package/.scannerwork/scanner-report/coverages-51.pb +0 -0
  83. package/.scannerwork/scanner-report/coverages-52.pb +0 -0
  84. package/.scannerwork/scanner-report/coverages-54.pb +0 -0
  85. package/.scannerwork/scanner-report/coverages-57.pb +0 -0
  86. package/.scannerwork/scanner-report/coverages-58.pb +0 -0
  87. package/.scannerwork/scanner-report/coverages-59.pb +0 -0
  88. package/.scannerwork/scanner-report/coverages-61.pb +0 -0
  89. package/.scannerwork/scanner-report/coverages-62.pb +0 -0
  90. package/.scannerwork/scanner-report/coverages-63.pb +0 -0
  91. package/.scannerwork/scanner-report/coverages-65.pb +0 -0
  92. package/.scannerwork/scanner-report/coverages-7.pb +0 -0
  93. package/.scannerwork/scanner-report/duplications-22.pb +2 -2
  94. package/.scannerwork/scanner-report/duplications-26.pb +2 -0
  95. package/.scannerwork/scanner-report/duplications-28.pb +3 -0
  96. package/.scannerwork/scanner-report/duplications-29.pb +2 -0
  97. package/.scannerwork/scanner-report/duplications-32.pb +0 -2
  98. package/.scannerwork/scanner-report/duplications-36.pb +0 -2
  99. package/.scannerwork/scanner-report/duplications-41.pb +3 -0
  100. package/.scannerwork/scanner-report/duplications-42.pb +2 -0
  101. package/.scannerwork/scanner-report/duplications-48.pb +2 -0
  102. package/.scannerwork/scanner-report/duplications-49.pb +2 -0
  103. package/.scannerwork/scanner-report/duplications-55.pb +2 -0
  104. package/.scannerwork/scanner-report/duplications-60.pb +2 -0
  105. package/.scannerwork/scanner-report/duplications-62.pb +0 -0
  106. package/.scannerwork/scanner-report/duplications-63.pb +0 -0
  107. package/.scannerwork/scanner-report/duplications-64.pb +0 -0
  108. package/.scannerwork/scanner-report/duplications-65.pb +0 -2
  109. package/.scannerwork/scanner-report/duplications-67.pb +0 -0
  110. package/.scannerwork/scanner-report/measures-10.pb +0 -0
  111. package/.scannerwork/scanner-report/measures-2.pb +0 -0
  112. package/.scannerwork/scanner-report/measures-24.pb +0 -0
  113. package/.scannerwork/scanner-report/measures-25.pb +0 -0
  114. package/.scannerwork/scanner-report/measures-26.pb +0 -0
  115. package/.scannerwork/scanner-report/measures-27.pb +0 -0
  116. package/.scannerwork/scanner-report/measures-28.pb +0 -0
  117. package/.scannerwork/scanner-report/measures-29.pb +0 -0
  118. package/.scannerwork/scanner-report/measures-30.pb +0 -0
  119. package/.scannerwork/scanner-report/measures-32.pb +0 -0
  120. package/.scannerwork/scanner-report/measures-33.pb +0 -0
  121. package/.scannerwork/scanner-report/measures-34.pb +0 -0
  122. package/.scannerwork/scanner-report/measures-35.pb +0 -0
  123. package/.scannerwork/scanner-report/measures-36.pb +0 -0
  124. package/.scannerwork/scanner-report/measures-37.pb +0 -0
  125. package/.scannerwork/scanner-report/measures-38.pb +0 -0
  126. package/.scannerwork/scanner-report/measures-39.pb +0 -0
  127. package/.scannerwork/scanner-report/measures-40.pb +0 -0
  128. package/.scannerwork/scanner-report/measures-41.pb +0 -0
  129. package/.scannerwork/scanner-report/measures-42.pb +0 -0
  130. package/.scannerwork/scanner-report/measures-48.pb +0 -0
  131. package/.scannerwork/scanner-report/measures-49.pb +0 -0
  132. package/.scannerwork/scanner-report/measures-5.pb +0 -0
  133. package/.scannerwork/scanner-report/measures-50.pb +0 -0
  134. package/.scannerwork/scanner-report/measures-51.pb +0 -0
  135. package/.scannerwork/scanner-report/measures-52.pb +0 -0
  136. package/.scannerwork/scanner-report/measures-54.pb +0 -0
  137. package/.scannerwork/scanner-report/measures-55.pb +0 -0
  138. package/.scannerwork/scanner-report/measures-57.pb +0 -0
  139. package/.scannerwork/scanner-report/measures-58.pb +0 -0
  140. package/.scannerwork/scanner-report/measures-59.pb +0 -0
  141. package/.scannerwork/scanner-report/measures-6.pb +0 -0
  142. package/.scannerwork/scanner-report/measures-61.pb +0 -0
  143. package/.scannerwork/scanner-report/measures-62.pb +0 -0
  144. package/.scannerwork/scanner-report/measures-63.pb +0 -0
  145. package/.scannerwork/scanner-report/measures-65.pb +0 -0
  146. package/.scannerwork/scanner-report/measures-66.pb +0 -0
  147. package/.scannerwork/scanner-report/measures-7.pb +0 -0
  148. package/.scannerwork/scanner-report/measures-9.pb +0 -0
  149. package/.scannerwork/scanner-report/metadata.pb +0 -0
  150. package/.scannerwork/scanner-report/{source-4.txt → source-10.txt} +8 -13
  151. package/.scannerwork/scanner-report/source-2.txt +167 -0
  152. package/.scannerwork/scanner-report/source-24.txt +17 -607
  153. package/.scannerwork/scanner-report/source-25.txt +14 -7
  154. package/.scannerwork/scanner-report/source-26.txt +264 -34
  155. package/.scannerwork/scanner-report/source-27.txt +125 -19
  156. package/.scannerwork/scanner-report/source-28.txt +114 -125
  157. package/.scannerwork/scanner-report/source-29.txt +121 -342
  158. package/.scannerwork/scanner-report/source-30.txt +38 -11
  159. package/.scannerwork/scanner-report/source-32.txt +16 -127
  160. package/.scannerwork/scanner-report/source-33.txt +111 -120
  161. package/.scannerwork/scanner-report/source-34.txt +348 -50
  162. package/.scannerwork/scanner-report/source-35.txt +27 -127
  163. package/.scannerwork/scanner-report/source-36.txt +43 -200
  164. package/.scannerwork/scanner-report/source-37.txt +15 -93
  165. package/.scannerwork/scanner-report/source-38.txt +68 -167
  166. package/.scannerwork/scanner-report/source-39.txt +156 -0
  167. package/.scannerwork/scanner-report/source-40.txt +625 -509
  168. package/.scannerwork/scanner-report/source-41.txt +230 -17
  169. package/.scannerwork/scanner-report/source-42.txt +199 -78
  170. package/.scannerwork/scanner-report/source-48.txt +149 -92
  171. package/.scannerwork/scanner-report/source-49.txt +168 -107
  172. package/.scannerwork/scanner-report/source-5.txt +509 -244
  173. package/.scannerwork/scanner-report/source-50.txt +53 -257
  174. package/.scannerwork/scanner-report/source-51.txt +37 -61
  175. package/.scannerwork/scanner-report/source-52.txt +32 -89
  176. package/.scannerwork/scanner-report/source-54.txt +246 -129
  177. package/.scannerwork/scanner-report/source-55.txt +75 -509
  178. package/.scannerwork/scanner-report/source-57.txt +96 -55
  179. package/.scannerwork/scanner-report/source-58.txt +61 -37
  180. package/.scannerwork/scanner-report/source-59.txt +104 -509
  181. package/.scannerwork/scanner-report/source-6.txt +509 -68
  182. package/.scannerwork/scanner-report/source-61.txt +164 -509
  183. package/.scannerwork/scanner-report/source-62.txt +129 -0
  184. package/.scannerwork/scanner-report/source-63.txt +111 -0
  185. package/.scannerwork/scanner-report/source-65.txt +14 -173
  186. package/.scannerwork/scanner-report/source-66.txt +509 -175
  187. package/.scannerwork/scanner-report/source-7.txt +96 -29
  188. package/.scannerwork/scanner-report/source-9.txt +509 -0
  189. package/.scannerwork/scanner-report/symbols-10.pb +9 -0
  190. package/.scannerwork/scanner-report/symbols-24.pb +16 -1253
  191. package/.scannerwork/scanner-report/symbols-25.pb +13 -8
  192. package/.scannerwork/scanner-report/symbols-26.pb +485 -42
  193. package/.scannerwork/scanner-report/symbols-27.pb +116 -11
  194. package/.scannerwork/scanner-report/symbols-28.pb +97 -116
  195. package/.scannerwork/scanner-report/symbols-29.pb +102 -494
  196. package/.scannerwork/scanner-report/symbols-30.pb +43 -14
  197. package/.scannerwork/scanner-report/symbols-32.pb +10 -102
  198. package/.scannerwork/scanner-report/symbols-33.pb +80 -107
  199. package/.scannerwork/scanner-report/symbols-34.pb +494 -36
  200. package/.scannerwork/scanner-report/symbols-35.pb +27 -85
  201. package/.scannerwork/scanner-report/symbols-36.pb +35 -417
  202. package/.scannerwork/scanner-report/symbols-37.pb +11 -28
  203. package/.scannerwork/scanner-report/symbols-39.pb +112 -0
  204. package/.scannerwork/scanner-report/symbols-40.pb +1254 -0
  205. package/.scannerwork/scanner-report/symbols-41.pb +393 -13
  206. package/.scannerwork/scanner-report/symbols-42.pb +417 -41
  207. package/.scannerwork/scanner-report/symbols-48.pb +153 -30
  208. package/.scannerwork/scanner-report/symbols-49.pb +180 -33
  209. package/.scannerwork/scanner-report/symbols-50.pb +30 -354
  210. package/.scannerwork/scanner-report/symbols-51.pb +18 -45
  211. package/.scannerwork/scanner-report/symbols-52.pb +14 -58
  212. package/.scannerwork/scanner-report/symbols-54.pb +353 -125
  213. package/.scannerwork/scanner-report/symbols-57.pb +30 -30
  214. package/.scannerwork/scanner-report/symbols-58.pb +45 -18
  215. package/.scannerwork/scanner-report/symbols-59.pb +42 -0
  216. package/.scannerwork/scanner-report/symbols-61.pb +126 -0
  217. package/.scannerwork/scanner-report/symbols-62.pb +33 -0
  218. package/.scannerwork/scanner-report/symbols-63.pb +59 -0
  219. package/.scannerwork/scanner-report/symbols-65.pb +14 -180
  220. package/.scannerwork/scanner-report/symbols-7.pb +27 -26
  221. package/.scannerwork/scanner-report/{syntax-highlightings-4.pb → syntax-highlightings-10.pb} +13 -15
  222. package/.scannerwork/scanner-report/syntax-highlightings-2.pb +949 -0
  223. package/.scannerwork/scanner-report/syntax-highlightings-24.pb +27 -851
  224. package/.scannerwork/scanner-report/syntax-highlightings-25.pb +18 -12
  225. package/.scannerwork/scanner-report/syntax-highlightings-26.pb +623 -46
  226. package/.scannerwork/scanner-report/syntax-highlightings-27.pb +100 -25
  227. package/.scannerwork/scanner-report/syntax-highlightings-28.pb +147 -99
  228. package/.scannerwork/scanner-report/syntax-highlightings-29.pb +189 -592
  229. package/.scannerwork/scanner-report/syntax-highlightings-30.pb +47 -19
  230. package/.scannerwork/scanner-report/syntax-highlightings-32.pb +14 -191
  231. package/.scannerwork/scanner-report/syntax-highlightings-33.pb +146 -178
  232. package/.scannerwork/scanner-report/syntax-highlightings-34.pb +593 -58
  233. package/.scannerwork/scanner-report/syntax-highlightings-35.pb +28 -151
  234. package/.scannerwork/scanner-report/syntax-highlightings-36.pb +58 -294
  235. package/.scannerwork/scanner-report/syntax-highlightings-37.pb +24 -103
  236. package/.scannerwork/scanner-report/syntax-highlightings-38.pb +99 -937
  237. package/.scannerwork/scanner-report/syntax-highlightings-39.pb +223 -0
  238. package/.scannerwork/scanner-report/syntax-highlightings-40.pb +536 -3398
  239. package/.scannerwork/scanner-report/syntax-highlightings-41.pb +299 -15
  240. package/.scannerwork/scanner-report/syntax-highlightings-42.pb +299 -84
  241. package/.scannerwork/scanner-report/syntax-highlightings-48.pb +184 -83
  242. package/.scannerwork/scanner-report/syntax-highlightings-49.pb +192 -96
  243. package/.scannerwork/scanner-report/syntax-highlightings-5.pb +3640 -222
  244. package/.scannerwork/scanner-report/syntax-highlightings-50.pb +73 -255
  245. package/.scannerwork/scanner-report/syntax-highlightings-51.pb +61 -74
  246. package/.scannerwork/scanner-report/syntax-highlightings-52.pb +20 -99
  247. package/.scannerwork/scanner-report/syntax-highlightings-54.pb +209 -137
  248. package/.scannerwork/scanner-report/syntax-highlightings-55.pb +67 -3735
  249. package/.scannerwork/scanner-report/syntax-highlightings-57.pb +94 -84
  250. package/.scannerwork/scanner-report/syntax-highlightings-58.pb +74 -61
  251. package/.scannerwork/scanner-report/syntax-highlightings-59.pb +105 -3736
  252. package/.scannerwork/scanner-report/syntax-highlightings-6.pb +3737 -99
  253. package/.scannerwork/scanner-report/syntax-highlightings-61.pb +192 -3727
  254. package/.scannerwork/scanner-report/syntax-highlightings-62.pb +129 -0
  255. package/.scannerwork/scanner-report/syntax-highlightings-63.pb +133 -0
  256. package/.scannerwork/scanner-report/syntax-highlightings-65.pb +15 -195
  257. package/.scannerwork/scanner-report/syntax-highlightings-66.pb +3732 -199
  258. package/.scannerwork/scanner-report/syntax-highlightings-7.pb +103 -33
  259. package/.scannerwork/scanner-report/syntax-highlightings-9.pb +3749 -0
  260. package/package.json +4 -4
  261. package/test-14-results.xml +152 -152
  262. package/test-16-results.xml +156 -156
  263. package/test-18-results.xml +153 -153
  264. package/test-19-results.xml +147 -147
  265. package/test-iam-18-results.xml +50 -50
  266. package/.scannerwork/scanner-report/changesets-19.pb +0 -1
  267. package/.scannerwork/scanner-report/changesets-20.pb +0 -1
  268. package/.scannerwork/scanner-report/changesets-21.pb +0 -1
  269. package/.scannerwork/scanner-report/changesets-4.pb +0 -1
  270. package/.scannerwork/scanner-report/changesets-43.pb +0 -1
  271. package/.scannerwork/scanner-report/changesets-44.pb +0 -1
  272. package/.scannerwork/scanner-report/changesets-45.pb +0 -1
  273. package/.scannerwork/scanner-report/changesets-46.pb +0 -1
  274. package/.scannerwork/scanner-report/changesets-47.pb +0 -1
  275. package/.scannerwork/scanner-report/changesets-5.pb +0 -1
  276. package/.scannerwork/scanner-report/changesets-6.pb +0 -1
  277. package/.scannerwork/scanner-report/changesets-66.pb +0 -1
  278. package/.scannerwork/scanner-report/changesets-69.pb +0 -1
  279. package/.scannerwork/scanner-report/component-19.pb +0 -1
  280. package/.scannerwork/scanner-report/component-20.pb +0 -1
  281. package/.scannerwork/scanner-report/component-21.pb +0 -1
  282. package/.scannerwork/scanner-report/component-4.pb +0 -1
  283. package/.scannerwork/scanner-report/component-43.pb +0 -1
  284. package/.scannerwork/scanner-report/component-44.pb +0 -1
  285. package/.scannerwork/scanner-report/component-45.pb +0 -1
  286. package/.scannerwork/scanner-report/component-46.pb +0 -1
  287. package/.scannerwork/scanner-report/component-47.pb +0 -1
  288. package/.scannerwork/scanner-report/component-69.pb +0 -1
  289. package/.scannerwork/scanner-report/coverages-19.pb +0 -0
  290. package/.scannerwork/scanner-report/coverages-20.pb +0 -0
  291. package/.scannerwork/scanner-report/coverages-21.pb +0 -0
  292. package/.scannerwork/scanner-report/coverages-4.pb +0 -0
  293. package/.scannerwork/scanner-report/coverages-46.pb +0 -0
  294. package/.scannerwork/scanner-report/coverages-5.pb +0 -0
  295. package/.scannerwork/scanner-report/coverages-66.pb +0 -0
  296. package/.scannerwork/scanner-report/duplications-19.pb +0 -3
  297. package/.scannerwork/scanner-report/duplications-21.pb +0 -2
  298. package/.scannerwork/scanner-report/duplications-43.pb +0 -2
  299. package/.scannerwork/scanner-report/duplications-45.pb +0 -2
  300. package/.scannerwork/scanner-report/duplications-5.pb +0 -3
  301. package/.scannerwork/scanner-report/duplications-66.pb +0 -2
  302. package/.scannerwork/scanner-report/measures-19.pb +0 -0
  303. package/.scannerwork/scanner-report/measures-20.pb +0 -0
  304. package/.scannerwork/scanner-report/measures-21.pb +0 -15
  305. package/.scannerwork/scanner-report/measures-4.pb +0 -0
  306. package/.scannerwork/scanner-report/measures-45.pb +0 -0
  307. package/.scannerwork/scanner-report/measures-46.pb +0 -0
  308. package/.scannerwork/scanner-report/source-19.txt +0 -131
  309. package/.scannerwork/scanner-report/source-20.txt +0 -35
  310. package/.scannerwork/scanner-report/source-21.txt +0 -293
  311. package/.scannerwork/scanner-report/source-45.txt +0 -75
  312. package/.scannerwork/scanner-report/source-46.txt +0 -54
  313. package/.scannerwork/scanner-report/symbols-19.pb +0 -97
  314. package/.scannerwork/scanner-report/symbols-20.pb +0 -17
  315. package/.scannerwork/scanner-report/symbols-21.pb +0 -486
  316. package/.scannerwork/scanner-report/symbols-4.pb +0 -10
  317. package/.scannerwork/scanner-report/symbols-46.pb +0 -15
  318. package/.scannerwork/scanner-report/symbols-5.pb +0 -394
  319. package/.scannerwork/scanner-report/symbols-66.pb +0 -153
  320. package/.scannerwork/scanner-report/syntax-highlightings-19.pb +0 -182
  321. package/.scannerwork/scanner-report/syntax-highlightings-20.pb +0 -63
  322. package/.scannerwork/scanner-report/syntax-highlightings-21.pb +0 -659
  323. package/.scannerwork/scanner-report/syntax-highlightings-45.pb +0 -78
  324. package/.scannerwork/scanner-report/syntax-highlightings-46.pb +0 -54
  325. /package/.scannerwork/scanner-report/{coverages-6.pb → coverages-38.pb} +0 -0
  326. /package/.scannerwork/scanner-report/{coverages-45.pb → coverages-55.pb} +0 -0
  327. /package/.scannerwork/scanner-report/{coverages-47.pb → coverages-56.pb} +0 -0
  328. /package/.scannerwork/scanner-report/{coverages-43.pb → coverages-60.pb} +0 -0
  329. /package/.scannerwork/scanner-report/{coverages-44.pb → coverages-64.pb} +0 -0
  330. /package/.scannerwork/scanner-report/{coverages-69.pb → coverages-67.pb} +0 -0
  331. /package/.scannerwork/scanner-report/{duplications-20.pb → duplications-25.pb} +0 -0
  332. /package/.scannerwork/scanner-report/{duplications-4.pb → duplications-38.pb} +0 -0
  333. /package/.scannerwork/scanner-report/{duplications-44.pb → duplications-39.pb} +0 -0
  334. /package/.scannerwork/scanner-report/{duplications-46.pb → duplications-40.pb} +0 -0
  335. /package/.scannerwork/scanner-report/{duplications-47.pb → duplications-56.pb} +0 -0
  336. /package/.scannerwork/scanner-report/{duplications-6.pb → duplications-59.pb} +0 -0
  337. /package/.scannerwork/scanner-report/{duplications-69.pb → duplications-61.pb} +0 -0
  338. /package/.scannerwork/scanner-report/{issues-28.pb → issues-27.pb} +0 -0
  339. /package/.scannerwork/scanner-report/{issues-29.pb → issues-34.pb} +0 -0
  340. /package/.scannerwork/scanner-report/{issues-7.pb → issues-35.pb} +0 -0
  341. /package/.scannerwork/scanner-report/{issues-5.pb → issues-41.pb} +0 -0
  342. /package/.scannerwork/scanner-report/{measures-47.pb → measures-56.pb} +0 -0
  343. /package/.scannerwork/scanner-report/{measures-43.pb → measures-60.pb} +0 -0
  344. /package/.scannerwork/scanner-report/{measures-44.pb → measures-64.pb} +0 -0
  345. /package/.scannerwork/scanner-report/{measures-69.pb → measures-67.pb} +0 -0
  346. /package/.scannerwork/scanner-report/{source-47.txt → source-56.txt} +0 -0
  347. /package/.scannerwork/scanner-report/{source-43.txt → source-60.txt} +0 -0
  348. /package/.scannerwork/scanner-report/{source-44.txt → source-64.txt} +0 -0
  349. /package/.scannerwork/scanner-report/{source-69.txt → source-67.txt} +0 -0
  350. /package/.scannerwork/scanner-report/{symbols-6.pb → symbols-38.pb} +0 -0
  351. /package/.scannerwork/scanner-report/{symbols-45.pb → symbols-55.pb} +0 -0
  352. /package/.scannerwork/scanner-report/{symbols-47.pb → symbols-56.pb} +0 -0
  353. /package/.scannerwork/scanner-report/{symbols-43.pb → symbols-60.pb} +0 -0
  354. /package/.scannerwork/scanner-report/{symbols-44.pb → symbols-64.pb} +0 -0
  355. /package/.scannerwork/scanner-report/{symbols-69.pb → symbols-67.pb} +0 -0
  356. /package/.scannerwork/scanner-report/{syntax-highlightings-47.pb → syntax-highlightings-56.pb} +0 -0
  357. /package/.scannerwork/scanner-report/{syntax-highlightings-43.pb → syntax-highlightings-60.pb} +0 -0
  358. /package/.scannerwork/scanner-report/{syntax-highlightings-44.pb → syntax-highlightings-64.pb} +0 -0
  359. /package/.scannerwork/scanner-report/{syntax-highlightings-69.pb → syntax-highlightings-67.pb} +0 -0
@@ -1,4 +1,4 @@
1
- // Copyright © 2017, 2018 IBM Corp. All rights reserved.
1
+ // Copyright © 2017, 2021 IBM Corp. All rights reserved.
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -12,57 +12,355 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- /* global describe it */
15
+ /* global describe afterEach before after it */
16
16
  'use strict';
17
17
 
18
- const fs = require('fs');
19
- const u = require('./citestutils.js');
20
-
21
- [{ useApi: true }, { useApi: false }].forEach(function(params) {
22
- describe(u.scenario('Compression tests', params), function() {
23
- const p = u.p(params, { compression: true });
24
-
25
- it('should backup animaldb to a compressed file', function(done) {
26
- // Allow up to 60 s for backup of animaldb
27
- u.setTimeout(this, 60);
28
- const compressedBackup = `./${this.fileName}`;
29
- const output = fs.createWriteStream(compressedBackup);
30
- output.on('open', function() {
31
- u.testBackup(p, 'animaldb', output, function(err) {
32
- if (err) {
33
- done(err);
34
- } else {
35
- u.assertGzipFile(compressedBackup, done);
36
- }
37
- });
38
- });
39
- });
40
-
41
- it('should backup and restore animaldb via a compressed file', function(done) {
42
- // Allow up to 60 s for backup and restore of animaldb
43
- u.setTimeout(this, 60);
44
- const compressedBackup = `./${this.fileName}`;
45
- u.testBackupAndRestoreViaFile(p, 'animaldb', compressedBackup, this.dbName, function(err) {
46
- if (err) {
47
- done(err);
48
- } else {
49
- u.assertGzipFile(compressedBackup, done);
50
- }
51
- });
52
- });
53
-
54
- it('should backup and restore animaldb via a compressed stream', function(done) {
55
- // Allow up to 60 s for backup and restore of animaldb
56
- u.setTimeout(this, 60);
57
- u.testDirectBackupAndRestore(p, 'animaldb', this.dbName, done);
58
- });
59
-
60
- it('should backup and restore largedb2g via a compressed file #slower', function(done) {
61
- // Takes ~ 25 min using CLI, but sometimes over an hour with API
62
- u.setTimeout(this, 180 * 60);
63
- const compressedBackup = `./${this.fileName}`;
64
- params.compression = true;
65
- u.testBackupAndRestoreViaFile(p, 'largedb2g', compressedBackup, this.dbName, done);
18
+ const assert = require('assert');
19
+ const parser = require('../includes/parser.js');
20
+
21
+ describe('#unit Default parameters', function() {
22
+ let processEnvCopy;
23
+ let processArgvCopy;
24
+
25
+ before('Set process data for test', function() {
26
+ // Copy env and argv so we can reset them after the tests
27
+ processEnvCopy = JSON.parse(JSON.stringify(process.env));
28
+ processArgvCopy = JSON.parse(JSON.stringify(process.argv));
29
+
30
+ // setup environment variables
31
+ process.env.COUCH_URL = 'http://user:pass@myurl.com';
32
+ process.env.COUCH_DATABASE = 'mydb';
33
+ process.env.COUCH_BUFFER_SIZE = '1000';
34
+ process.env.COUCH_PARALLELISM = '20';
35
+ process.env.COUCH_REQUEST_TIMEOUT = '20000';
36
+ process.env.COUCH_LOG = 'my.log';
37
+ process.env.COUCH_RESUME = 'true';
38
+ process.env.COUCH_OUTPUT = 'myfile.txt';
39
+ process.env.COUCH_MODE = 'shallow';
40
+ process.env.CLOUDANT_IAM_API_KEY = 'ABC123-ZYX987_cba789-xyz321';
41
+ process.env.COUCH_QUIET = 'true';
42
+ });
43
+
44
+ after('Reset process data', function() {
45
+ process.env = processEnvCopy;
46
+ process.argv = processArgvCopy;
47
+ });
48
+
49
+ afterEach(function() {
50
+ delete require.cache[require.resolve('commander')];
51
+ });
52
+
53
+ describe('Backup command-line', function() {
54
+ it('respects the COUCH_URL env variable if the --url backup command-line parameter is missing', function(done) {
55
+ process.argv = ['node', 'test'];
56
+ const program = parser.parseBackupArgs();
57
+ assert.strictEqual(typeof program.url, 'string');
58
+ assert.strictEqual(program.url, process.env.COUCH_URL);
59
+ done();
60
+ });
61
+
62
+ it('respects the COUCH_DATABASE env variable if the --db backup command-line parameter is missing', function(done) {
63
+ process.argv = ['node', 'test'];
64
+ const program = parser.parseBackupArgs();
65
+ assert.strictEqual(typeof program.db, 'string');
66
+ assert.strictEqual(program.db, process.env.COUCH_DATABASE);
67
+ done();
68
+ });
69
+
70
+ it('respects the COUCH_BUFFER_SIZE env variable if the --buffer-size backup command-line parameter is missing', function(done) {
71
+ process.argv = ['node', 'test'];
72
+ const program = parser.parseBackupArgs();
73
+ assert.strictEqual(typeof program.bufferSize, 'number');
74
+ assert.strictEqual(program.bufferSize, parseInt(process.env.COUCH_BUFFER_SIZE, 10));
75
+ done();
76
+ });
77
+
78
+ it('respects the COUCH_PARALLELISM env variable if the --parallelism backup command-line parameter is missing', function(done) {
79
+ process.argv = ['node', 'test'];
80
+ const program = parser.parseBackupArgs();
81
+ assert.strictEqual(typeof program.parallelism, 'number');
82
+ assert.strictEqual(program.parallelism, parseInt(process.env.COUCH_PARALLELISM, 10));
83
+ done();
84
+ });
85
+
86
+ it('respects the COUCH_REQUEST_TIMEOUT env variable if the --request-timeout backup command-line parameter is missing', function(done) {
87
+ process.argv = ['node', 'test'];
88
+ const program = parser.parseBackupArgs();
89
+ assert.strictEqual(typeof program.requestTimeout, 'number');
90
+ assert.strictEqual(program.requestTimeout, parseInt(process.env.COUCH_REQUEST_TIMEOUT, 10));
91
+ done();
92
+ });
93
+
94
+ it('respects the CLOUDANT_IAM_API_KEY env variable if the --iam-api-key backup command-line parameter is missing', function(done) {
95
+ process.argv = ['node', 'test'];
96
+ const program = parser.parseBackupArgs();
97
+ assert.strictEqual(typeof program.iamApiKey, 'string');
98
+ assert.strictEqual(program.iamApiKey, process.env.CLOUDANT_IAM_API_KEY);
99
+ done();
100
+ });
101
+
102
+ it('respects the COUCH_LOG env variable if the --log backup command-line parameter is missing', function(done) {
103
+ process.argv = ['node', 'test'];
104
+ const program = parser.parseBackupArgs();
105
+ assert.strictEqual(typeof program.log, 'string');
106
+ assert.strictEqual(program.log, process.env.COUCH_LOG);
107
+ done();
108
+ });
109
+
110
+ it('respects the COUCH_RESUME env variable if the --resume backup command-line parameter is missing', function(done) {
111
+ process.argv = ['node', 'test'];
112
+ const program = parser.parseBackupArgs();
113
+ assert.strictEqual(typeof program.resume, 'boolean');
114
+ assert.strictEqual(program.resume, true);
115
+ done();
116
+ });
117
+
118
+ it('respects the COUCH_OUTPUT env variable if the --output backup command-line parameter is missing', function(done) {
119
+ process.argv = ['node', 'test'];
120
+ const program = parser.parseBackupArgs();
121
+ assert.strictEqual(typeof program.output, 'string');
122
+ assert.strictEqual(program.output, process.env.COUCH_OUTPUT);
123
+ done();
124
+ });
125
+
126
+ it('respects the COUCH_MODE env variable if the --mode backup command-line parameter is missing', function(done) {
127
+ process.argv = ['node', 'test'];
128
+ const program = parser.parseBackupArgs();
129
+ assert.strictEqual(typeof program.mode, 'string');
130
+ assert.strictEqual(program.mode, process.env.COUCH_MODE);
131
+ done();
132
+ });
133
+
134
+ it('respects the COUCH_QUIET env variable if the --quiet backup command-line parameter is missing', function(done) {
135
+ process.argv = ['node', 'test'];
136
+ const program = parser.parseBackupArgs();
137
+ assert.strictEqual(typeof program.quiet, 'boolean');
138
+ assert.strictEqual(program.quiet, true);
139
+ done();
140
+ });
141
+
142
+ it('respects the backup --url command-line parameter', function(done) {
143
+ const url = 'http://user:pass@myurl2.com';
144
+ process.argv = ['node', 'test', '--url', url];
145
+ const program = parser.parseBackupArgs();
146
+ assert.strictEqual(typeof program.url, 'string');
147
+ assert.strictEqual(program.url, url);
148
+ done();
149
+ });
150
+
151
+ it('respects the backup --db command-line parameter', function(done) {
152
+ const db = 'mydb2';
153
+ process.argv = ['node', 'test', '--db', db];
154
+ const program = parser.parseBackupArgs();
155
+ assert.strictEqual(typeof program.db, 'string');
156
+ assert.strictEqual(program.db, db);
157
+ done();
158
+ });
159
+
160
+ it('respects the backup --buffer-size command-line parameter', function(done) {
161
+ const bufferSize = 500;
162
+ process.argv = ['node', 'test', '--buffer-size', bufferSize];
163
+ const program = parser.parseBackupArgs();
164
+ assert.strictEqual(typeof program.bufferSize, 'number');
165
+ assert.strictEqual(program.bufferSize, bufferSize);
166
+ done();
167
+ });
168
+
169
+ it('respects the backup --parallelism command-line parameter', function(done) {
170
+ const parallelism = 10;
171
+ process.argv = ['node', 'test', '--parallelism', parallelism];
172
+ const program = parser.parseBackupArgs();
173
+ assert.strictEqual(typeof program.parallelism, 'number');
174
+ assert.strictEqual(program.parallelism, parallelism);
175
+ done();
176
+ });
177
+
178
+ it('respects the backup --request-timeout command-line parameter', function(done) {
179
+ const requestTimeout = 10000;
180
+ process.argv = ['node', 'test', '--request-timeout', requestTimeout];
181
+ const program = parser.parseBackupArgs();
182
+ assert.strictEqual(typeof program.requestTimeout, 'number');
183
+ assert.strictEqual(program.requestTimeout, requestTimeout);
184
+ done();
185
+ });
186
+
187
+ it('respects the backup --iam-api-key command-line parameter', function(done) {
188
+ const key = '123abc-789zyx_CBA987-XYZ321';
189
+ process.argv = ['node', 'test', '--iam-api-key', key];
190
+ const program = parser.parseBackupArgs();
191
+ assert.strictEqual(typeof program.iamApiKey, 'string');
192
+ assert.strictEqual(program.iamApiKey, key);
193
+ done();
194
+ });
195
+
196
+ it('respects the backup --log command-line parameter', function(done) {
197
+ const filename = 'my2.log';
198
+ process.argv = ['node', 'test', '--log', filename];
199
+ const program = parser.parseBackupArgs();
200
+ assert.strictEqual(typeof program.log, 'string');
201
+ assert.strictEqual(program.log, filename);
202
+ done();
203
+ });
204
+
205
+ it('respects the backup --resume command-line parameter', function(done) {
206
+ process.argv = ['node', 'test', '--resume'];
207
+ const program = parser.parseBackupArgs();
208
+ assert.strictEqual(typeof program.resume, 'boolean');
209
+ assert.strictEqual(program.resume, true);
210
+ done();
211
+ });
212
+
213
+ it('respects the backup --output command-line parameter', function(done) {
214
+ const filename = 'myfile2.txt';
215
+ process.argv = ['node', 'test', '--output', filename];
216
+ const program = parser.parseBackupArgs();
217
+ assert.strictEqual(typeof program.output, 'string');
218
+ assert.strictEqual(program.output, filename);
219
+ done();
220
+ });
221
+
222
+ it('respects the backup --mode full command-line parameter', function(done) {
223
+ process.argv = ['node', 'test', '--mode', 'full'];
224
+ const program = parser.parseBackupArgs();
225
+ assert.strictEqual(typeof program.mode, 'string');
226
+ assert.strictEqual(program.mode, 'full');
227
+ done();
228
+ });
229
+
230
+ it('respects the backup --mode shallow command-line parameter', function(done) {
231
+ process.argv = ['node', 'test', '--mode', 'shallow'];
232
+ const program = parser.parseBackupArgs();
233
+ assert.strictEqual(typeof program.mode, 'string');
234
+ assert.strictEqual(program.mode, 'shallow');
235
+ done();
236
+ });
237
+
238
+ it('respects the backup --quiet command-line parameter', function(done) {
239
+ process.argv = ['node', 'test', '--quiet'];
240
+ const program = parser.parseBackupArgs();
241
+ assert.strictEqual(typeof program.quiet, 'boolean');
242
+ assert.strictEqual(program.quiet, true);
243
+ done();
244
+ });
245
+ });
246
+
247
+ describe('Restore command-line', function() {
248
+ it('respects the COUCH_URL env variable if the --url restore command-line parameter is missing', function(done) {
249
+ process.argv = ['node', 'test'];
250
+ const program = parser.parseRestoreArgs();
251
+ assert.strictEqual(typeof program.url, 'string');
252
+ assert.strictEqual(program.url, process.env.COUCH_URL);
253
+ done();
254
+ });
255
+
256
+ it('respects the COUCH_DATABASE env variable if the --db restore command-line parameter is missing', function(done) {
257
+ process.argv = ['node', 'test'];
258
+ const program = parser.parseRestoreArgs();
259
+ assert.strictEqual(typeof program.db, 'string');
260
+ assert.strictEqual(program.db, process.env.COUCH_DATABASE);
261
+ done();
262
+ });
263
+
264
+ it('respects the COUCH_BUFFER_SIZE env variable if the --buffer-size restore command-line parameter is missing', function(done) {
265
+ process.argv = ['node', 'test'];
266
+ const program = parser.parseRestoreArgs();
267
+ assert.strictEqual(typeof program.bufferSize, 'number');
268
+ assert.strictEqual(program.bufferSize, parseInt(process.env.COUCH_BUFFER_SIZE, 10));
269
+ done();
270
+ });
271
+
272
+ it('respects the COUCH_PARALLELISM env variable if the --parallelism restore command-line parameter is missing', function(done) {
273
+ process.argv = ['node', 'test'];
274
+ const program = parser.parseRestoreArgs();
275
+ assert.strictEqual(typeof program.parallelism, 'number');
276
+ assert.strictEqual(program.parallelism, parseInt(process.env.COUCH_PARALLELISM, 10));
277
+ done();
278
+ });
279
+
280
+ it('respects the COUCH_REQUEST_TIMEOUT env variable if the --request-timeout restore command-line parameter is missing', function(done) {
281
+ process.argv = ['node', 'test'];
282
+ const program = parser.parseRestoreArgs();
283
+ assert.strictEqual(typeof program.requestTimeout, 'number');
284
+ assert.strictEqual(program.requestTimeout, parseInt(process.env.COUCH_REQUEST_TIMEOUT, 10));
285
+ done();
286
+ });
287
+
288
+ it('respects the CLOUDANT_IAM_API_KEY env variable if the --iam-api-key restore command-line parameter is missing', function(done) {
289
+ process.argv = ['node', 'test'];
290
+ const program = parser.parseRestoreArgs();
291
+ assert.strictEqual(typeof program.iamApiKey, 'string');
292
+ assert.strictEqual(program.iamApiKey, process.env.CLOUDANT_IAM_API_KEY);
293
+ done();
294
+ });
295
+
296
+ it('respects the COUCH_QUIET env variable if the --quiet restorer command-line parameter is missing', function(done) {
297
+ process.argv = ['node', 'test'];
298
+ const program = parser.parseBackupArgs();
299
+ assert.strictEqual(typeof program.quiet, 'boolean');
300
+ assert.strictEqual(program.quiet, true);
301
+ done();
302
+ });
303
+
304
+ it('respects the restore --url command-line parameter', function(done) {
305
+ const url = 'https://a:b@myurl3.com';
306
+ process.argv = ['node', 'test', '--url', url];
307
+ const program = parser.parseRestoreArgs();
308
+ assert.strictEqual(typeof program.url, 'string');
309
+ assert.strictEqual(program.url, url);
310
+ done();
311
+ });
312
+
313
+ it('respects the restore --db command-line parameter', function(done) {
314
+ const db = 'mydb3';
315
+ process.argv = ['node', 'test', '--db', db];
316
+ const program = parser.parseRestoreArgs();
317
+ assert.strictEqual(typeof program.db, 'string');
318
+ assert.strictEqual(program.db, db);
319
+ done();
320
+ });
321
+
322
+ it('respects the restore --buffer-size command-line parameter', function(done) {
323
+ const bufferSize = 250;
324
+ process.argv = ['node', 'test', '--buffer-size', bufferSize];
325
+ const program = parser.parseRestoreArgs();
326
+ assert.strictEqual(typeof program.bufferSize, 'number');
327
+ assert.strictEqual(program.bufferSize, bufferSize);
328
+ done();
329
+ });
330
+
331
+ it('respects the restore --parallelism command-line parameter', function(done) {
332
+ const parallelism = 5;
333
+ process.argv = ['node', 'test', '--parallelism', parallelism];
334
+ const program = parser.parseRestoreArgs();
335
+ assert.strictEqual(typeof program.parallelism, 'number');
336
+ assert.strictEqual(program.parallelism, parallelism);
337
+ done();
338
+ });
339
+
340
+ it('respects the restore --request-timeout command-line parameter', function(done) {
341
+ const requestTimeout = 10000;
342
+ process.argv = ['node', 'test', '--request-timeout', requestTimeout];
343
+ const program = parser.parseRestoreArgs();
344
+ assert.strictEqual(typeof program.requestTimeout, 'number');
345
+ assert.strictEqual(program.requestTimeout, requestTimeout);
346
+ done();
347
+ });
348
+
349
+ it('respects the restore --iam-api-key command-line parameter', function(done) {
350
+ const key = '123abc-789zyx_CBA987-XYZ321';
351
+ process.argv = ['node', 'test', '--iam-api-key', key];
352
+ const program = parser.parseRestoreArgs();
353
+ assert.strictEqual(typeof program.iamApiKey, 'string');
354
+ assert.strictEqual(program.iamApiKey, key);
355
+ done();
356
+ });
357
+
358
+ it('respects the restore --quiet command-line parameter', function(done) {
359
+ process.argv = ['node', 'test', '--quiet'];
360
+ const program = parser.parseRestoreArgs();
361
+ assert.strictEqual(typeof program.quiet, 'boolean');
362
+ assert.strictEqual(program.quiet, true);
363
+ done();
66
364
  });
67
365
  });
68
366
  });
@@ -1,4 +1,4 @@
1
- // Copyright © 2017, 2021 IBM Corp. All rights reserved.
1
+ // Copyright © 2017, 2018 IBM Corp. All rights reserved.
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -12,136 +12,36 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- /* global describe it beforeEach */
15
+ /* global describe it */
16
16
  'use strict';
17
17
 
18
18
  const assert = require('assert');
19
19
  const fs = require('fs');
20
- const nock = require('nock');
21
- const request = require('../includes/request.js');
22
- const writer = require('../includes/writer.js');
23
- const noopEmitter = new (require('events')).EventEmitter();
24
- const liner = require('../includes/liner.js');
25
-
26
- const longTestTimeout = 3000;
27
-
28
- // The writer expects a line-by-line stream so this utility function does that
29
- // processing for the tests (which normally happens in the internal restore
30
- // function).
31
- function testLinestream(fixture = './test/fixtures/animaldb_expected.json') {
32
- return fs.createReadStream(fixture)
33
- .pipe(liner());
34
- }
35
-
36
- describe('#unit Check database restore writer', function() {
37
- const dbUrl = 'http://localhost:5984/animaldb';
38
- const db = request.client(dbUrl, { parallelism: 1 });
39
-
40
- beforeEach('Reset nocks', function() {
41
- nock.cleanAll();
42
- });
43
-
44
- it('should complete successfully', function(done) {
45
- nock(dbUrl)
46
- .post('/_bulk_docs')
47
- .reply(200, []); // success
48
-
49
- testLinestream()
50
- .pipe(writer(db, 500, 1, noopEmitter))
51
- .on('error', function(err) {
52
- done(err);
53
- })
54
- .on('finished', function(data) {
55
- assert.strictEqual(data.total, 15);
56
- assert.ok(nock.isDone());
57
- done();
58
- });
59
- });
60
-
61
- it('should terminate on a fatal error', function(done) {
62
- nock(dbUrl)
63
- .post('/_bulk_docs')
64
- .reply(401, { error: 'Unauthorized' }); // fatal error
65
-
66
- testLinestream()
67
- .pipe(writer(db, 500, 1, noopEmitter))
68
- .on('error', function(err) {
69
- assert.strictEqual(err.name, 'Unauthorized');
70
- assert.strictEqual(err.message, 'Access is denied due to invalid credentials.');
71
- assert.ok(nock.isDone());
72
- done();
73
- });
74
- });
75
-
76
- it('should retry on transient errors', function(done) {
77
- nock(dbUrl)
78
- .post('/_bulk_docs')
79
- .reply(429, { error: 'Too Many Requests' }) // transient error
80
- .post('/_bulk_docs')
81
- .reply(500, { error: 'Internal Server Error' }) // transient error
82
- .post('/_bulk_docs')
83
- .reply(200, { ok: true }); // third time lucky success
84
-
85
- testLinestream()
86
- .pipe(writer(db, 500, 1, noopEmitter))
87
- .on('error', function(err) {
20
+ const u = require('./citestutils.js');
21
+
22
+ describe('Write error tests', function() {
23
+ it('calls callback with error set when stream is not writeable', function(done) {
24
+ u.setTimeout(this, 10);
25
+ const dirname = fs.mkdtempSync('test_backup_');
26
+ // make temp dir read only
27
+ fs.chmodSync(dirname, 0o444);
28
+ const filename = dirname + '/test.backup';
29
+ const backupStream = fs.createWriteStream(filename, { flags: 'w' });
30
+ const params = { useApi: true };
31
+ // try to do backup and check err was set in callback
32
+ u.testBackup(params, 'animaldb', backupStream, function(resultErr) {
33
+ let err = null;
34
+ try {
35
+ // cleanup temp dir
36
+ fs.rmdirSync(dirname);
37
+ // error should have been set
38
+ assert.ok(resultErr);
39
+ assert.strictEqual(resultErr.code, 'EACCES');
40
+ } catch (thrownErr) {
41
+ err = thrownErr;
42
+ } finally {
88
43
  done(err);
89
- })
90
- .on('finished', function(data) {
91
- assert.strictEqual(data.total, 15);
92
- assert.ok(nock.isDone());
93
- done();
94
- });
95
- }).timeout(longTestTimeout);
96
-
97
- it('should fail after 3 transient errors', function(done) {
98
- nock(dbUrl)
99
- .post('/_bulk_docs')
100
- .reply(429, { error: 'Too Many Requests' }) // transient error
101
- .post('/_bulk_docs')
102
- .reply(500, { error: 'Internal Server Error' }) // transient error
103
- .post('/_bulk_docs')
104
- .reply(503, { error: 'Service Unavailable' }); // Final transient error
105
-
106
- testLinestream()
107
- .pipe(writer(db, 500, 1, noopEmitter))
108
- .on('error', function(err) {
109
- assert.strictEqual(err.name, 'HTTPFatalError');
110
- assert.strictEqual(err.message, `503 : post ${dbUrl}/_bulk_docs - Error: Service Unavailable`);
111
- assert.ok(nock.isDone());
112
- done();
113
- });
114
- }).timeout(longTestTimeout);
115
-
116
- it('should restore shallow backups without rev info successfully', function(done) {
117
- nock(dbUrl)
118
- .post('/_bulk_docs')
119
- .reply(200, [{ ok: true, id: 'foo', rev: '1-abc' }]); // success
120
-
121
- testLinestream('./test/fixtures/animaldb_old_shallow.json')
122
- .pipe(writer(db, 500, 1, noopEmitter))
123
- .on('error', function(err) {
124
- done(err);
125
- })
126
- .on('finished', function(data) {
127
- assert.strictEqual(data.total, 11);
128
- assert.ok(nock.isDone());
129
- done();
130
- });
131
- });
132
-
133
- it('should get a batch error for non-empty array response with new_edits false', function(done) {
134
- nock(dbUrl)
135
- .post('/_bulk_docs')
136
- .reply(200, [{ id: 'foo', error: 'foo', reason: 'bar' }]);
137
-
138
- testLinestream()
139
- .pipe(writer(db, 500, 1, noopEmitter))
140
- .on('error', function(err) {
141
- assert.strictEqual(err.name, 'Error');
142
- assert.strictEqual(err.message, 'Error writing batch with new_edits:false and 1 items');
143
- assert.ok(nock.isDone());
144
- done();
145
- });
44
+ }
45
+ });
146
46
  });
147
47
  });