@cloudant/couchbackup 2.9.13-SNAPSHOT.143 → 2.9.13

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 (377) 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/changesets-19.pb +1 -0
  4. package/.scannerwork/scanner-report/changesets-2.pb +1 -0
  5. package/.scannerwork/scanner-report/changesets-20.pb +1 -0
  6. package/.scannerwork/scanner-report/changesets-21.pb +1 -0
  7. package/.scannerwork/scanner-report/changesets-22.pb +1 -0
  8. package/.scannerwork/scanner-report/changesets-23.pb +1 -0
  9. package/.scannerwork/scanner-report/changesets-38.pb +1 -0
  10. package/.scannerwork/scanner-report/changesets-41.pb +1 -0
  11. package/.scannerwork/scanner-report/changesets-57.pb +1 -0
  12. package/.scannerwork/scanner-report/changesets-58.pb +1 -0
  13. package/.scannerwork/scanner-report/changesets-61.pb +1 -0
  14. package/.scannerwork/scanner-report/changesets-62.pb +1 -0
  15. package/.scannerwork/scanner-report/changesets-63.pb +1 -0
  16. package/.scannerwork/scanner-report/component-1.pb +2 -2
  17. package/.scannerwork/scanner-report/component-11.pb +1 -1
  18. package/.scannerwork/scanner-report/component-12.pb +1 -1
  19. package/.scannerwork/scanner-report/component-14.pb +1 -1
  20. package/.scannerwork/scanner-report/component-15.pb +1 -1
  21. package/.scannerwork/scanner-report/component-16.pb +1 -1
  22. package/.scannerwork/scanner-report/component-17.pb +1 -1
  23. package/.scannerwork/scanner-report/component-18.pb +1 -1
  24. package/.scannerwork/scanner-report/component-19.pb +1 -0
  25. package/.scannerwork/scanner-report/component-2.pb +1 -0
  26. package/.scannerwork/scanner-report/component-20.pb +1 -0
  27. package/.scannerwork/scanner-report/component-21.pb +1 -0
  28. package/.scannerwork/scanner-report/component-22.pb +1 -0
  29. package/.scannerwork/scanner-report/component-23.pb +1 -0
  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 -0
  34. package/.scannerwork/scanner-report/component-39.pb +1 -1
  35. package/.scannerwork/scanner-report/component-40.pb +1 -1
  36. package/.scannerwork/scanner-report/component-41.pb +1 -0
  37. package/.scannerwork/scanner-report/component-42.pb +1 -1
  38. package/.scannerwork/scanner-report/component-43.pb +1 -1
  39. package/.scannerwork/scanner-report/component-44.pb +1 -1
  40. package/.scannerwork/scanner-report/component-45.pb +1 -1
  41. package/.scannerwork/scanner-report/component-46.pb +1 -1
  42. package/.scannerwork/scanner-report/component-47.pb +1 -1
  43. package/.scannerwork/scanner-report/component-48.pb +1 -1
  44. package/.scannerwork/scanner-report/component-5.pb +1 -1
  45. package/.scannerwork/scanner-report/component-50.pb +1 -1
  46. package/.scannerwork/scanner-report/component-51.pb +1 -1
  47. package/.scannerwork/scanner-report/component-52.pb +1 -1
  48. package/.scannerwork/scanner-report/component-54.pb +1 -1
  49. package/.scannerwork/scanner-report/component-55.pb +1 -1
  50. package/.scannerwork/scanner-report/component-56.pb +1 -1
  51. package/.scannerwork/scanner-report/component-57.pb +1 -0
  52. package/.scannerwork/scanner-report/component-58.pb +1 -0
  53. package/.scannerwork/scanner-report/component-59.pb +1 -1
  54. package/.scannerwork/scanner-report/component-60.pb +1 -1
  55. package/.scannerwork/scanner-report/component-61.pb +1 -0
  56. package/.scannerwork/scanner-report/component-62.pb +1 -1
  57. package/.scannerwork/scanner-report/component-63.pb +1 -0
  58. package/.scannerwork/scanner-report/component-64.pb +1 -1
  59. package/.scannerwork/scanner-report/component-8.pb +1 -1
  60. package/.scannerwork/scanner-report/coverages-11.pb +0 -0
  61. package/.scannerwork/scanner-report/coverages-12.pb +0 -0
  62. package/.scannerwork/scanner-report/coverages-14.pb +0 -0
  63. package/.scannerwork/scanner-report/coverages-15.pb +0 -0
  64. package/.scannerwork/scanner-report/coverages-16.pb +0 -0
  65. package/.scannerwork/scanner-report/coverages-17.pb +0 -0
  66. package/.scannerwork/scanner-report/coverages-18.pb +0 -0
  67. package/.scannerwork/scanner-report/coverages-2.pb +0 -0
  68. package/.scannerwork/scanner-report/coverages-20.pb +0 -0
  69. package/.scannerwork/scanner-report/coverages-21.pb +0 -0
  70. package/.scannerwork/scanner-report/coverages-35.pb +0 -0
  71. package/.scannerwork/scanner-report/coverages-36.pb +0 -0
  72. package/.scannerwork/scanner-report/coverages-37.pb +0 -0
  73. package/.scannerwork/scanner-report/{coverages-34.pb → coverages-38.pb} +0 -0
  74. package/.scannerwork/scanner-report/coverages-39.pb +0 -0
  75. package/.scannerwork/scanner-report/coverages-40.pb +0 -0
  76. package/.scannerwork/scanner-report/coverages-41.pb +0 -0
  77. package/.scannerwork/scanner-report/coverages-42.pb +0 -0
  78. package/.scannerwork/scanner-report/coverages-43.pb +0 -0
  79. package/.scannerwork/scanner-report/coverages-44.pb +0 -0
  80. package/.scannerwork/scanner-report/coverages-45.pb +0 -0
  81. package/.scannerwork/scanner-report/coverages-46.pb +0 -0
  82. package/.scannerwork/scanner-report/coverages-47.pb +0 -0
  83. package/.scannerwork/scanner-report/coverages-48.pb +0 -0
  84. package/.scannerwork/scanner-report/coverages-5.pb +0 -0
  85. package/.scannerwork/scanner-report/coverages-51.pb +0 -0
  86. package/.scannerwork/scanner-report/coverages-52.pb +0 -0
  87. package/.scannerwork/scanner-report/coverages-54.pb +0 -0
  88. package/.scannerwork/scanner-report/coverages-55.pb +0 -0
  89. package/.scannerwork/scanner-report/coverages-56.pb +0 -0
  90. package/.scannerwork/scanner-report/coverages-57.pb +0 -0
  91. package/.scannerwork/scanner-report/coverages-58.pb +0 -0
  92. package/.scannerwork/scanner-report/coverages-59.pb +0 -0
  93. package/.scannerwork/scanner-report/coverages-60.pb +0 -0
  94. package/.scannerwork/scanner-report/coverages-61.pb +0 -0
  95. package/.scannerwork/scanner-report/coverages-62.pb +0 -0
  96. package/.scannerwork/scanner-report/coverages-63.pb +0 -0
  97. package/.scannerwork/scanner-report/coverages-64.pb +0 -0
  98. package/.scannerwork/scanner-report/duplications-11.pb +2 -0
  99. package/.scannerwork/scanner-report/duplications-12.pb +2 -0
  100. package/.scannerwork/scanner-report/duplications-15.pb +0 -2
  101. package/.scannerwork/scanner-report/duplications-17.pb +0 -3
  102. package/.scannerwork/scanner-report/duplications-21.pb +3 -0
  103. package/.scannerwork/scanner-report/duplications-37.pb +2 -0
  104. package/.scannerwork/scanner-report/duplications-42.pb +3 -0
  105. package/.scannerwork/scanner-report/duplications-43.pb +0 -2
  106. package/.scannerwork/scanner-report/duplications-45.pb +2 -0
  107. package/.scannerwork/scanner-report/duplications-55.pb +0 -2
  108. package/.scannerwork/scanner-report/duplications-59.pb +0 -2
  109. package/.scannerwork/scanner-report/duplications-60.pb +1 -1
  110. package/.scannerwork/scanner-report/duplications-61.pb +2 -0
  111. package/.scannerwork/scanner-report/issues-36.pb +2 -2
  112. package/.scannerwork/scanner-report/issues-39.pb +3 -0
  113. package/.scannerwork/scanner-report/measures-11.pb +0 -0
  114. package/.scannerwork/scanner-report/measures-12.pb +0 -0
  115. package/.scannerwork/scanner-report/measures-14.pb +0 -0
  116. package/.scannerwork/scanner-report/measures-15.pb +0 -0
  117. package/.scannerwork/scanner-report/measures-16.pb +0 -0
  118. package/.scannerwork/scanner-report/measures-17.pb +0 -0
  119. package/.scannerwork/scanner-report/measures-18.pb +0 -0
  120. package/.scannerwork/scanner-report/measures-19.pb +0 -0
  121. package/.scannerwork/scanner-report/measures-2.pb +0 -0
  122. package/.scannerwork/scanner-report/measures-20.pb +0 -0
  123. package/.scannerwork/scanner-report/measures-21.pb +0 -0
  124. package/.scannerwork/scanner-report/measures-35.pb +0 -0
  125. package/.scannerwork/scanner-report/measures-36.pb +0 -0
  126. package/.scannerwork/scanner-report/measures-37.pb +0 -0
  127. package/.scannerwork/scanner-report/measures-38.pb +0 -0
  128. package/.scannerwork/scanner-report/measures-39.pb +0 -0
  129. package/.scannerwork/scanner-report/measures-40.pb +0 -0
  130. package/.scannerwork/scanner-report/measures-41.pb +0 -0
  131. package/.scannerwork/scanner-report/measures-42.pb +0 -0
  132. package/.scannerwork/scanner-report/measures-43.pb +0 -0
  133. package/.scannerwork/scanner-report/measures-44.pb +0 -0
  134. package/.scannerwork/scanner-report/measures-45.pb +0 -0
  135. package/.scannerwork/scanner-report/measures-46.pb +0 -0
  136. package/.scannerwork/scanner-report/measures-47.pb +0 -0
  137. package/.scannerwork/scanner-report/measures-48.pb +0 -0
  138. package/.scannerwork/scanner-report/measures-5.pb +0 -0
  139. package/.scannerwork/scanner-report/measures-50.pb +0 -0
  140. package/.scannerwork/scanner-report/measures-51.pb +0 -0
  141. package/.scannerwork/scanner-report/measures-52.pb +0 -0
  142. package/.scannerwork/scanner-report/measures-54.pb +0 -0
  143. package/.scannerwork/scanner-report/measures-55.pb +0 -0
  144. package/.scannerwork/scanner-report/measures-56.pb +0 -0
  145. package/.scannerwork/scanner-report/measures-57.pb +0 -0
  146. package/.scannerwork/scanner-report/measures-58.pb +15 -0
  147. package/.scannerwork/scanner-report/measures-59.pb +0 -0
  148. package/.scannerwork/scanner-report/measures-60.pb +0 -0
  149. package/.scannerwork/scanner-report/measures-61.pb +0 -0
  150. package/.scannerwork/scanner-report/measures-62.pb +0 -0
  151. package/.scannerwork/scanner-report/measures-63.pb +0 -0
  152. package/.scannerwork/scanner-report/measures-64.pb +0 -0
  153. package/.scannerwork/scanner-report/measures-8.pb +0 -0
  154. package/.scannerwork/scanner-report/metadata.pb +0 -0
  155. package/.scannerwork/scanner-report/source-11.txt +147 -64
  156. package/.scannerwork/scanner-report/source-12.txt +167 -45
  157. package/.scannerwork/scanner-report/source-14.txt +47 -47
  158. package/.scannerwork/scanner-report/source-15.txt +69 -262
  159. package/.scannerwork/scanner-report/source-16.txt +14 -603
  160. package/.scannerwork/scanner-report/source-17.txt +35 -91
  161. package/.scannerwork/scanner-report/source-18.txt +40 -128
  162. package/.scannerwork/scanner-report/source-19.txt +36 -0
  163. package/.scannerwork/scanner-report/source-2.txt +114 -0
  164. package/.scannerwork/scanner-report/source-20.txt +625 -0
  165. package/.scannerwork/scanner-report/source-21.txt +119 -0
  166. package/.scannerwork/scanner-report/source-35.txt +347 -10
  167. package/.scannerwork/scanner-report/source-36.txt +124 -29
  168. package/.scannerwork/scanner-report/source-37.txt +121 -118
  169. package/.scannerwork/scanner-report/{source-34.txt → source-38.txt} +10 -9
  170. package/.scannerwork/scanner-report/source-39.txt +31 -40
  171. package/.scannerwork/scanner-report/source-40.txt +19 -62
  172. package/.scannerwork/scanner-report/{source-13.txt → source-41.txt} +7 -14
  173. package/.scannerwork/scanner-report/source-42.txt +107 -90
  174. package/.scannerwork/scanner-report/source-43.txt +67 -50
  175. package/.scannerwork/scanner-report/source-44.txt +142 -40
  176. package/.scannerwork/scanner-report/source-45.txt +269 -105
  177. package/.scannerwork/scanner-report/source-46.txt +133 -32
  178. package/.scannerwork/scanner-report/source-47.txt +39 -14
  179. package/.scannerwork/scanner-report/source-48.txt +56 -90
  180. package/.scannerwork/scanner-report/source-5.txt +403 -20
  181. package/.scannerwork/scanner-report/source-50.txt +509 -41
  182. package/.scannerwork/scanner-report/source-51.txt +21 -84
  183. package/.scannerwork/scanner-report/source-52.txt +14 -63
  184. package/.scannerwork/scanner-report/source-54.txt +20 -138
  185. package/.scannerwork/scanner-report/source-55.txt +113 -76
  186. package/.scannerwork/scanner-report/source-56.txt +241 -78
  187. package/.scannerwork/scanner-report/source-57.txt +118 -0
  188. package/.scannerwork/scanner-report/source-58.txt +104 -0
  189. package/.scannerwork/scanner-report/source-59.txt +65 -175
  190. package/.scannerwork/scanner-report/source-60.txt +52 -152
  191. package/.scannerwork/scanner-report/source-61.txt +92 -0
  192. package/.scannerwork/scanner-report/source-62.txt +54 -167
  193. package/.scannerwork/scanner-report/source-63.txt +111 -0
  194. package/.scannerwork/scanner-report/source-64.txt +133 -387
  195. package/.scannerwork/scanner-report/source-8.txt +167 -36
  196. package/.scannerwork/scanner-report/symbols-11.pb +153 -60
  197. package/.scannerwork/scanner-report/symbols-12.pb +180 -45
  198. package/.scannerwork/scanner-report/symbols-14.pb +44 -35
  199. package/.scannerwork/scanner-report/symbols-15.pb +68 -485
  200. package/.scannerwork/scanner-report/symbols-16.pb +13 -1253
  201. package/.scannerwork/scanner-report/symbols-17.pb +42 -76
  202. package/.scannerwork/scanner-report/symbols-18.pb +34 -110
  203. package/.scannerwork/scanner-report/symbols-2.pb +28 -0
  204. package/.scannerwork/scanner-report/symbols-20.pb +1254 -0
  205. package/.scannerwork/scanner-report/symbols-21.pb +77 -0
  206. package/.scannerwork/scanner-report/symbols-35.pb +494 -9
  207. package/.scannerwork/scanner-report/symbols-36.pb +116 -27
  208. package/.scannerwork/scanner-report/symbols-37.pb +97 -111
  209. package/.scannerwork/scanner-report/symbols-38.pb +17 -0
  210. package/.scannerwork/scanner-report/symbols-39.pb +27 -19
  211. package/.scannerwork/scanner-report/symbols-40.pb +9 -29
  212. package/.scannerwork/scanner-report/symbols-41.pb +9 -0
  213. package/.scannerwork/scanner-report/symbols-42.pb +97 -28
  214. package/.scannerwork/scanner-report/symbols-43.pb +60 -42
  215. package/.scannerwork/scanner-report/symbols-44.pb +111 -14
  216. package/.scannerwork/scanner-report/symbols-45.pb +486 -33
  217. package/.scannerwork/scanner-report/symbols-46.pb +84 -19
  218. package/.scannerwork/scanner-report/symbols-47.pb +18 -13
  219. package/.scannerwork/scanner-report/symbols-48.pb +29 -58
  220. package/.scannerwork/scanner-report/symbols-5.pb +610 -17
  221. package/.scannerwork/scanner-report/symbols-51.pb +15 -39
  222. package/.scannerwork/scanner-report/symbols-52.pb +13 -45
  223. package/.scannerwork/scanner-report/symbols-54.pb +20 -126
  224. package/.scannerwork/scanner-report/symbols-55.pb +33 -44
  225. package/.scannerwork/scanner-report/symbols-56.pb +354 -30
  226. package/.scannerwork/scanner-report/symbols-57.pb +30 -0
  227. package/.scannerwork/scanner-report/symbols-58.pb +42 -0
  228. package/.scannerwork/scanner-report/symbols-59.pb +46 -180
  229. package/.scannerwork/scanner-report/symbols-60.pb +41 -152
  230. package/.scannerwork/scanner-report/symbols-61.pb +44 -0
  231. package/.scannerwork/scanner-report/symbols-62.pb +15 -0
  232. package/.scannerwork/scanner-report/symbols-63.pb +59 -0
  233. package/.scannerwork/scanner-report/symbols-64.pb +120 -604
  234. package/.scannerwork/scanner-report/syntax-highlightings-11.pb +176 -72
  235. package/.scannerwork/scanner-report/syntax-highlightings-12.pb +180 -65
  236. package/.scannerwork/scanner-report/syntax-highlightings-14.pb +74 -59
  237. package/.scannerwork/scanner-report/syntax-highlightings-15.pb +64 -618
  238. package/.scannerwork/scanner-report/syntax-highlightings-16.pb +21 -854
  239. package/.scannerwork/scanner-report/syntax-highlightings-17.pb +43 -119
  240. package/.scannerwork/scanner-report/syntax-highlightings-18.pb +57 -185
  241. package/.scannerwork/scanner-report/syntax-highlightings-19.pb +59 -0
  242. package/.scannerwork/scanner-report/syntax-highlightings-2.pb +138 -0
  243. package/.scannerwork/scanner-report/syntax-highlightings-20.pb +887 -0
  244. package/.scannerwork/scanner-report/syntax-highlightings-21.pb +158 -0
  245. package/.scannerwork/scanner-report/syntax-highlightings-35.pb +597 -15
  246. package/.scannerwork/scanner-report/syntax-highlightings-36.pb +97 -31
  247. package/.scannerwork/scanner-report/syntax-highlightings-37.pb +189 -96
  248. package/.scannerwork/scanner-report/syntax-highlightings-38.pb +63 -0
  249. package/.scannerwork/scanner-report/syntax-highlightings-39.pb +45 -59
  250. package/.scannerwork/scanner-report/syntax-highlightings-40.pb +29 -82
  251. package/.scannerwork/scanner-report/{syntax-highlightings-34.pb → syntax-highlightings-41.pb} +13 -15
  252. package/.scannerwork/scanner-report/syntax-highlightings-42.pb +146 -102
  253. package/.scannerwork/scanner-report/syntax-highlightings-43.pb +75 -43
  254. package/.scannerwork/scanner-report/syntax-highlightings-44.pb +193 -24
  255. package/.scannerwork/scanner-report/syntax-highlightings-45.pb +621 -91
  256. package/.scannerwork/scanner-report/syntax-highlightings-46.pb +162 -35
  257. package/.scannerwork/scanner-report/syntax-highlightings-47.pb +70 -33
  258. package/.scannerwork/scanner-report/syntax-highlightings-48.pb +78 -108
  259. package/.scannerwork/scanner-report/syntax-highlightings-5.pb +619 -34
  260. package/.scannerwork/scanner-report/syntax-highlightings-50.pb +3736 -39
  261. package/.scannerwork/scanner-report/syntax-highlightings-51.pb +17 -83
  262. package/.scannerwork/scanner-report/syntax-highlightings-52.pb +15 -65
  263. package/.scannerwork/scanner-report/syntax-highlightings-54.pb +29 -178
  264. package/.scannerwork/scanner-report/syntax-highlightings-55.pb +88 -49
  265. package/.scannerwork/scanner-report/syntax-highlightings-56.pb +250 -78
  266. package/.scannerwork/scanner-report/syntax-highlightings-57.pb +113 -0
  267. package/.scannerwork/scanner-report/syntax-highlightings-58.pb +116 -0
  268. package/.scannerwork/scanner-report/syntax-highlightings-59.pb +64 -194
  269. package/.scannerwork/scanner-report/syntax-highlightings-60.pb +47 -183
  270. package/.scannerwork/scanner-report/syntax-highlightings-61.pb +90 -0
  271. package/.scannerwork/scanner-report/syntax-highlightings-62.pb +43 -938
  272. package/.scannerwork/scanner-report/syntax-highlightings-63.pb +133 -0
  273. package/.scannerwork/scanner-report/syntax-highlightings-64.pb +151 -586
  274. package/.scannerwork/scanner-report/syntax-highlightings-8.pb +938 -48
  275. package/CHANGES.md +5 -0
  276. package/package.json +2 -2
  277. package/test-18-results.xml +154 -154
  278. package/test-iam-18-results.xml +50 -50
  279. package/.scannerwork/scanner-report/changesets-10.pb +0 -2
  280. package/.scannerwork/scanner-report/changesets-13.pb +0 -1
  281. package/.scannerwork/scanner-report/changesets-30.pb +0 -1
  282. package/.scannerwork/scanner-report/changesets-31.pb +0 -1
  283. package/.scannerwork/scanner-report/changesets-32.pb +0 -1
  284. package/.scannerwork/scanner-report/changesets-33.pb +0 -1
  285. package/.scannerwork/scanner-report/changesets-34.pb +0 -1
  286. package/.scannerwork/scanner-report/changesets-49.pb +0 -1
  287. package/.scannerwork/scanner-report/changesets-50.pb +0 -1
  288. package/.scannerwork/scanner-report/changesets-6.pb +0 -1
  289. package/.scannerwork/scanner-report/changesets-7.pb +0 -1
  290. package/.scannerwork/scanner-report/changesets-8.pb +0 -1
  291. package/.scannerwork/scanner-report/changesets-9.pb +0 -1
  292. package/.scannerwork/scanner-report/component-10.pb +0 -2
  293. package/.scannerwork/scanner-report/component-13.pb +0 -1
  294. package/.scannerwork/scanner-report/component-30.pb +0 -1
  295. package/.scannerwork/scanner-report/component-31.pb +0 -1
  296. package/.scannerwork/scanner-report/component-32.pb +0 -1
  297. package/.scannerwork/scanner-report/component-33.pb +0 -1
  298. package/.scannerwork/scanner-report/component-34.pb +0 -1
  299. package/.scannerwork/scanner-report/component-4.pb +0 -1
  300. package/.scannerwork/scanner-report/component-49.pb +0 -1
  301. package/.scannerwork/scanner-report/component-6.pb +0 -1
  302. package/.scannerwork/scanner-report/component-7.pb +0 -1
  303. package/.scannerwork/scanner-report/component-9.pb +0 -1
  304. package/.scannerwork/scanner-report/coverages-10.pb +0 -0
  305. package/.scannerwork/scanner-report/coverages-13.pb +0 -0
  306. package/.scannerwork/scanner-report/coverages-30.pb +0 -0
  307. package/.scannerwork/scanner-report/coverages-33.pb +0 -0
  308. package/.scannerwork/scanner-report/coverages-49.pb +0 -0
  309. package/.scannerwork/scanner-report/coverages-50.pb +0 -0
  310. package/.scannerwork/scanner-report/coverages-6.pb +0 -0
  311. package/.scannerwork/scanner-report/coverages-7.pb +0 -0
  312. package/.scannerwork/scanner-report/coverages-9.pb +0 -0
  313. package/.scannerwork/scanner-report/duplications-30.pb +0 -2
  314. package/.scannerwork/scanner-report/duplications-9.pb +0 -3
  315. package/.scannerwork/scanner-report/issues-37.pb +0 -3
  316. package/.scannerwork/scanner-report/measures-10.pb +0 -0
  317. package/.scannerwork/scanner-report/measures-13.pb +0 -0
  318. package/.scannerwork/scanner-report/measures-30.pb +0 -0
  319. package/.scannerwork/scanner-report/measures-33.pb +0 -0
  320. package/.scannerwork/scanner-report/measures-34.pb +0 -0
  321. package/.scannerwork/scanner-report/measures-4.pb +0 -0
  322. package/.scannerwork/scanner-report/measures-49.pb +0 -0
  323. package/.scannerwork/scanner-report/measures-6.pb +0 -0
  324. package/.scannerwork/scanner-report/measures-7.pb +0 -0
  325. package/.scannerwork/scanner-report/measures-9.pb +0 -0
  326. package/.scannerwork/scanner-report/source-10.txt +0 -63
  327. package/.scannerwork/scanner-report/source-30.txt +0 -145
  328. package/.scannerwork/scanner-report/source-33.txt +0 -147
  329. package/.scannerwork/scanner-report/source-4.txt +0 -509
  330. package/.scannerwork/scanner-report/source-49.txt +0 -281
  331. package/.scannerwork/scanner-report/source-6.txt +0 -100
  332. package/.scannerwork/scanner-report/source-7.txt +0 -366
  333. package/.scannerwork/scanner-report/source-9.txt +0 -131
  334. package/.scannerwork/scanner-report/symbols-10.pb +0 -43
  335. package/.scannerwork/scanner-report/symbols-13.pb +0 -14
  336. package/.scannerwork/scanner-report/symbols-30.pb +0 -102
  337. package/.scannerwork/scanner-report/symbols-33.pb +0 -85
  338. package/.scannerwork/scanner-report/symbols-34.pb +0 -10
  339. package/.scannerwork/scanner-report/symbols-49.pb +0 -354
  340. package/.scannerwork/scanner-report/symbols-50.pb +0 -18
  341. package/.scannerwork/scanner-report/symbols-6.pb +0 -69
  342. package/.scannerwork/scanner-report/symbols-7.pb +0 -494
  343. package/.scannerwork/scanner-report/symbols-9.pb +0 -97
  344. package/.scannerwork/scanner-report/syntax-highlightings-10.pb +0 -82
  345. package/.scannerwork/scanner-report/syntax-highlightings-13.pb +0 -54
  346. package/.scannerwork/scanner-report/syntax-highlightings-30.pb +0 -227
  347. package/.scannerwork/scanner-report/syntax-highlightings-33.pb +0 -191
  348. package/.scannerwork/scanner-report/syntax-highlightings-4.pb +0 -3748
  349. package/.scannerwork/scanner-report/syntax-highlightings-49.pb +0 -285
  350. package/.scannerwork/scanner-report/syntax-highlightings-6.pb +0 -105
  351. package/.scannerwork/scanner-report/syntax-highlightings-7.pb +0 -630
  352. package/.scannerwork/scanner-report/syntax-highlightings-9.pb +0 -182
  353. /package/.scannerwork/scanner-report/{coverages-8.pb → coverages-19.pb} +0 -0
  354. /package/.scannerwork/scanner-report/{coverages-31.pb → coverages-22.pb} +0 -0
  355. /package/.scannerwork/scanner-report/{coverages-32.pb → coverages-23.pb} +0 -0
  356. /package/.scannerwork/scanner-report/{duplications-10.pb → duplications-19.pb} +0 -0
  357. /package/.scannerwork/scanner-report/{duplications-13.pb → duplications-2.pb} +0 -0
  358. /package/.scannerwork/scanner-report/{duplications-33.pb → duplications-20.pb} +0 -0
  359. /package/.scannerwork/scanner-report/{duplications-31.pb → duplications-22.pb} +0 -0
  360. /package/.scannerwork/scanner-report/{duplications-32.pb → duplications-23.pb} +0 -0
  361. /package/.scannerwork/scanner-report/{duplications-34.pb → duplications-35.pb} +0 -0
  362. /package/.scannerwork/scanner-report/{duplications-49.pb → duplications-38.pb} +0 -0
  363. /package/.scannerwork/scanner-report/{duplications-50.pb → duplications-57.pb} +0 -0
  364. /package/.scannerwork/scanner-report/{duplications-6.pb → duplications-58.pb} +0 -0
  365. /package/.scannerwork/scanner-report/{duplications-7.pb → duplications-62.pb} +0 -0
  366. /package/.scannerwork/scanner-report/{duplications-8.pb → duplications-63.pb} +0 -0
  367. /package/.scannerwork/scanner-report/{issues-32.pb → issues-23.pb} +0 -0
  368. /package/.scannerwork/scanner-report/{issues-7.pb → issues-35.pb} +0 -0
  369. /package/.scannerwork/scanner-report/{measures-31.pb → measures-22.pb} +0 -0
  370. /package/.scannerwork/scanner-report/{measures-32.pb → measures-23.pb} +0 -0
  371. /package/.scannerwork/scanner-report/{source-31.txt → source-22.txt} +0 -0
  372. /package/.scannerwork/scanner-report/{source-32.txt → source-23.txt} +0 -0
  373. /package/.scannerwork/scanner-report/{symbols-8.pb → symbols-19.pb} +0 -0
  374. /package/.scannerwork/scanner-report/{symbols-31.pb → symbols-22.pb} +0 -0
  375. /package/.scannerwork/scanner-report/{symbols-32.pb → symbols-23.pb} +0 -0
  376. /package/.scannerwork/scanner-report/{syntax-highlightings-31.pb → syntax-highlightings-22.pb} +0 -0
  377. /package/.scannerwork/scanner-report/{syntax-highlightings-32.pb → syntax-highlightings-23.pb} +0 -0
@@ -0,0 +1,119 @@
1
+ // Copyright © 2017 IBM Corp. All rights reserved.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ /* global describe it */
16
+ 'use strict';
17
+
18
+ const assert = require('assert');
19
+ const fs = require('fs');
20
+ const u = require('./citestutils.js');
21
+
22
+ [{ useApi: true }, { useApi: false }].forEach(function(params) {
23
+ describe(u.scenario('Resume tests', params), function() {
24
+ it('should create a log file', function(done) {
25
+ // Allow up to 90 s for this test
26
+ u.setTimeout(this, 60);
27
+
28
+ const actualBackup = `./${this.fileName}`;
29
+ const logFile = `./${this.fileName}` + '.log';
30
+ // Use abort parameter to terminate the backup a given number of ms after
31
+ // the first data write to the output file.
32
+ const p = u.p(params, { opts: { log: logFile } });
33
+ u.testBackupToFile(p, 'animaldb', actualBackup, function(err) {
34
+ if (err) {
35
+ done(err);
36
+ } else {
37
+ // Assert the log file exists
38
+ try {
39
+ assert.ok(fs.existsSync(logFile), 'The log file should exist.');
40
+ done();
41
+ } catch (err) {
42
+ done(err);
43
+ }
44
+ }
45
+ });
46
+ });
47
+
48
+ it('should restore corrupted animaldb to a database correctly', function(done) {
49
+ // Allow up to 60 s to restore and compare (again it should be faster)!
50
+ u.setTimeout(this, 60);
51
+ const input = fs.createReadStream('./test/fixtures/animaldb_corrupted.json');
52
+ const dbName = this.dbName;
53
+ input.on('open', function() {
54
+ u.testRestore(params, input, dbName, function(err) {
55
+ if (err) {
56
+ done(err);
57
+ } else {
58
+ u.dbCompare('animaldb', dbName, done);
59
+ }
60
+ });
61
+ });
62
+ });
63
+
64
+ it('should restore resumed animaldb with blank line to a database correctly', function(done) {
65
+ // Allow up to 60 s to restore and compare (again it should be faster)!
66
+ u.setTimeout(this, 60);
67
+ const input = fs.createReadStream('./test/fixtures/animaldb_resumed_blank.json');
68
+ const dbName = this.dbName;
69
+ input.on('open', function() {
70
+ u.testRestore(params, input, dbName, function(err) {
71
+ if (err) {
72
+ done(err);
73
+ } else {
74
+ u.dbCompare('animaldb', dbName, done);
75
+ }
76
+ });
77
+ });
78
+ });
79
+ });
80
+ });
81
+
82
+ describe('Resume tests', function() {
83
+ // Currently cannot abort API backups, when we do this test should be run for
84
+ // both API and CLI
85
+ it('should correctly backup and restore backup10m', function(done) {
86
+ // Allow up to 90 s for this test
87
+ u.setTimeout(this, 90);
88
+
89
+ const actualBackup = `./${this.fileName}`;
90
+ const logFile = `./${this.fileName}` + '.log';
91
+ // Use abort parameter to terminate the backup a given number of ms after
92
+ // the first data write to the output file.
93
+ const p = u.p(params, { abort: true }, { opts: { log: logFile } });
94
+ const restoreDb = this.dbName;
95
+ // Set the database doc count as fewer than this should be written during
96
+ // resumed backup.
97
+ p.exclusiveMaxExpected = 5096;
98
+
99
+ u.testBackupAbortResumeRestore(p, 'backup10m', actualBackup, restoreDb, done);
100
+ });
101
+ // Note --output is only valid for CLI usage, this test should only run for CLI
102
+ const params = { useApi: false };
103
+ it('should correctly backup and restore backup10m using --output', function(done) {
104
+ // Allow up to 90 s for this test
105
+ u.setTimeout(this, 90);
106
+
107
+ const actualBackup = `./${this.fileName}`;
108
+ const logFile = `./${this.fileName}` + '.log';
109
+ // Use abort parameter to terminate the backup a given number of ms after
110
+ // the first data write to the output file.
111
+ const p = u.p(params, { abort: true }, { opts: { output: actualBackup, log: logFile } });
112
+ const restoreDb = this.dbName;
113
+ // Set the database doc count as fewer than this should be written during
114
+ // resumed backup.
115
+ p.exclusiveMaxExpected = 5096;
116
+
117
+ u.testBackupAbortResumeRestore(p, 'backup10m', actualBackup, restoreDb, done);
118
+ });
119
+ });
@@ -1,4 +1,4 @@
1
- // Copyright © 2017 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,18 +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 u = require('./citestutils.js');
18
+ const assert = require('assert');
19
+ const parser = require('../includes/parser.js');
19
20
 
20
- [{ useApi: true }, { useApi: false }].forEach(function(params) {
21
- describe(u.scenario('#slowest End to end backup and restore', params), function() {
22
- // 10 GB is about the largest the CI can handle before getting very upset
23
- // about how long things are taking
24
- it('should backup and restore largedb10g', function(done) {
25
- u.setTimeout(this, 350 * 60);
26
- u.testDirectBackupAndRestore(params, 'largedb10g', this.dbName, done);
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();
27
364
  });
28
365
  });
29
366
  });
@@ -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,36 +12,131 @@
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 it before after */
16
16
  'use strict';
17
17
 
18
18
  const assert = require('assert');
19
- const fs = require('fs');
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 {
43
- done(err);
44
- }
45
- });
19
+ const applyEnvVars = require('../includes/config.js').applyEnvironmentVariables;
20
+
21
+ describe('#unit Configuration', function() {
22
+ let processEnvCopy;
23
+
24
+ before('Save env', function() {
25
+ // Copy env so we can reset it after the tests
26
+ processEnvCopy = JSON.parse(JSON.stringify(process.env));
27
+ });
28
+
29
+ after('Reset env', function() {
30
+ process.env = processEnvCopy;
31
+ });
32
+
33
+ it('respects the COUCH_URL env variable', function(done) {
34
+ process.env.COUCH_URL = 'http://user:pass@myurl.com';
35
+ const config = {};
36
+ applyEnvVars(config);
37
+ assert.strictEqual(typeof config.url, 'string');
38
+ assert.strictEqual(config.url, process.env.COUCH_URL);
39
+ done();
40
+ });
41
+
42
+ it('respects the COUCH_DATABASE env variable', function(done) {
43
+ process.env.COUCH_DATABASE = 'mydb';
44
+ const config = {};
45
+ applyEnvVars(config);
46
+ assert.strictEqual(typeof config.db, 'string');
47
+ assert.strictEqual(config.db, process.env.COUCH_DATABASE);
48
+ done();
49
+ });
50
+
51
+ it('respects the COUCH_BUFFER_SIZE env variable', function(done) {
52
+ process.env.COUCH_BUFFER_SIZE = '1000';
53
+ const config = {};
54
+ applyEnvVars(config);
55
+ assert.strictEqual(typeof config.bufferSize, 'number');
56
+ assert.strictEqual(config.bufferSize, 1000);
57
+ done();
58
+ });
59
+
60
+ it('respects the COUCH_PARALLELISM env variable', function(done) {
61
+ process.env.COUCH_PARALLELISM = '20';
62
+ const config = {};
63
+ applyEnvVars(config);
64
+ assert.strictEqual(typeof config.parallelism, 'number');
65
+ assert.strictEqual(config.parallelism, 20);
66
+ done();
67
+ });
68
+
69
+ it('respects the COUCH_REQUEST_TIMEOUT env variable', function(done) {
70
+ process.env.COUCH_REQUEST_TIMEOUT = '10000';
71
+ const config = {};
72
+ applyEnvVars(config);
73
+ assert.strictEqual(typeof config.requestTimeout, 'number');
74
+ assert.strictEqual(config.requestTimeout, 10000);
75
+ done();
76
+ });
77
+
78
+ it('respects the CLOUDANT_IAM_API_KEY env variable', function(done) {
79
+ const key = 'ABC123-ZYX987_cba789-xyz321';
80
+ process.env.CLOUDANT_IAM_API_KEY = key;
81
+ const config = {};
82
+ applyEnvVars(config);
83
+ assert.strictEqual(typeof config.iamApiKey, 'string');
84
+ assert.strictEqual(config.iamApiKey, key);
85
+ done();
86
+ });
87
+
88
+ it('respects the CLOUDANT_IAM_TOKEN_URL env variable', function(done) {
89
+ const u = 'https://testhost.example:1234/identity/token';
90
+ process.env.CLOUDANT_IAM_TOKEN_URL = u;
91
+ const config = {};
92
+ applyEnvVars(config);
93
+ assert.strictEqual(typeof config.iamTokenUrl, 'string');
94
+ assert.strictEqual(config.iamTokenUrl, u);
95
+ done();
96
+ });
97
+
98
+ it('respects the COUCH_LOG env variable', function(done) {
99
+ process.env.COUCH_LOG = 'my.log';
100
+ const config = {};
101
+ applyEnvVars(config);
102
+ assert.strictEqual(typeof config.log, 'string');
103
+ assert.strictEqual(config.log, process.env.COUCH_LOG);
104
+ done();
105
+ });
106
+
107
+ it('respects the COUCH_RESUME env variable', function(done) {
108
+ process.env.COUCH_RESUME = 'true';
109
+ const config = {};
110
+ applyEnvVars(config);
111
+ assert.strictEqual(typeof config.resume, 'boolean');
112
+ assert.strictEqual(config.resume, true);
113
+ done();
114
+ });
115
+
116
+ it('respects the COUCH_OUTPUT env variable', function(done) {
117
+ process.env.COUCH_OUTPUT = 'myfile.txt';
118
+ const config = {};
119
+ applyEnvVars(config);
120
+ assert.strictEqual(typeof config.output, 'string');
121
+ assert.strictEqual(config.output, process.env.COUCH_OUTPUT);
122
+ done();
123
+ });
124
+
125
+ it('respects the COUCH_MODE env variable', function(done) {
126
+ process.env.COUCH_MODE = 'shallow';
127
+ const config = {};
128
+ applyEnvVars(config);
129
+ assert.strictEqual(typeof config.mode, 'string');
130
+ assert.strictEqual(config.mode, 'shallow');
131
+ done();
132
+ });
133
+
134
+ it('respects the COUCH_QUIET env variable', function(done) {
135
+ process.env.COUCH_QUIET = 'true';
136
+ const config = {};
137
+ applyEnvVars(config);
138
+ assert.strictEqual(typeof config.quiet, 'boolean');
139
+ assert.strictEqual(config.quiet, true);
140
+ done();
46
141
  });
47
142
  });