@cloudant/couchbackup 2.9.16-SNAPSHOT.183 → 2.9.16
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.
- package/.scannerwork/report-task.txt +2 -2
- package/.scannerwork/scanner-report/analysis-cache2.pb +0 -0
- package/.scannerwork/scanner-report/analysis-warnings.pb +2 -2
- package/.scannerwork/scanner-report/analysis.log +1 -1
- package/.scannerwork/scanner-report/changesets-2.pb +1 -0
- package/.scannerwork/scanner-report/changesets-34.pb +1 -0
- package/.scannerwork/scanner-report/changesets-35.pb +1 -0
- package/.scannerwork/scanner-report/changesets-36.pb +1 -0
- package/.scannerwork/scanner-report/changesets-37.pb +1 -0
- package/.scannerwork/scanner-report/changesets-4.pb +1 -0
- package/.scannerwork/scanner-report/changesets-43.pb +1 -0
- package/.scannerwork/scanner-report/changesets-44.pb +1 -0
- package/.scannerwork/scanner-report/changesets-45.pb +1 -0
- package/.scannerwork/scanner-report/changesets-5.pb +1 -0
- package/.scannerwork/scanner-report/changesets-60.pb +1 -0
- package/.scannerwork/scanner-report/changesets-61.pb +1 -0
- package/.scannerwork/scanner-report/changesets-64.pb +1 -0
- package/.scannerwork/scanner-report/changesets-66.pb +1 -0
- package/.scannerwork/scanner-report/changesets-8.pb +1 -0
- package/.scannerwork/scanner-report/component-1.pb +2 -2
- package/.scannerwork/scanner-report/component-10.pb +1 -1
- package/.scannerwork/scanner-report/component-12.pb +1 -1
- package/.scannerwork/scanner-report/component-13.pb +1 -1
- package/.scannerwork/scanner-report/component-14.pb +1 -1
- package/.scannerwork/scanner-report/component-15.pb +1 -1
- package/.scannerwork/scanner-report/component-16.pb +1 -1
- package/.scannerwork/scanner-report/component-17.pb +1 -1
- package/.scannerwork/scanner-report/component-18.pb +1 -1
- package/.scannerwork/scanner-report/component-19.pb +1 -1
- package/.scannerwork/scanner-report/component-2.pb +1 -0
- package/.scannerwork/scanner-report/component-20.pb +1 -1
- package/.scannerwork/scanner-report/component-21.pb +1 -1
- package/.scannerwork/scanner-report/component-22.pb +1 -1
- package/.scannerwork/scanner-report/component-3.pb +1 -0
- package/.scannerwork/scanner-report/component-34.pb +1 -0
- package/.scannerwork/scanner-report/component-35.pb +1 -0
- package/.scannerwork/scanner-report/component-36.pb +1 -0
- package/.scannerwork/scanner-report/component-37.pb +1 -0
- package/.scannerwork/scanner-report/component-38.pb +1 -1
- package/.scannerwork/scanner-report/component-39.pb +1 -1
- package/.scannerwork/scanner-report/component-4.pb +1 -1
- package/.scannerwork/scanner-report/component-40.pb +1 -1
- package/.scannerwork/scanner-report/component-41.pb +1 -1
- package/.scannerwork/scanner-report/component-42.pb +1 -1
- package/.scannerwork/scanner-report/component-43.pb +1 -0
- package/.scannerwork/scanner-report/component-44.pb +1 -1
- package/.scannerwork/scanner-report/component-45.pb +1 -0
- package/.scannerwork/scanner-report/component-46.pb +1 -1
- package/.scannerwork/scanner-report/component-47.pb +1 -1
- package/.scannerwork/scanner-report/component-48.pb +1 -1
- package/.scannerwork/scanner-report/component-49.pb +1 -1
- package/.scannerwork/scanner-report/component-5.pb +1 -0
- package/.scannerwork/scanner-report/component-50.pb +1 -1
- package/.scannerwork/scanner-report/component-51.pb +1 -1
- package/.scannerwork/scanner-report/component-52.pb +1 -1
- package/.scannerwork/scanner-report/component-54.pb +1 -1
- package/.scannerwork/scanner-report/component-55.pb +1 -1
- package/.scannerwork/scanner-report/component-6.pb +1 -1
- package/.scannerwork/scanner-report/component-60.pb +1 -1
- package/.scannerwork/scanner-report/component-61.pb +1 -0
- package/.scannerwork/scanner-report/component-64.pb +1 -1
- package/.scannerwork/scanner-report/component-66.pb +1 -0
- package/.scannerwork/scanner-report/component-68.pb +1 -1
- package/.scannerwork/scanner-report/component-7.pb +1 -1
- package/.scannerwork/scanner-report/component-8.pb +1 -0
- package/.scannerwork/scanner-report/component-9.pb +1 -1
- package/.scannerwork/scanner-report/coverages-10.pb +0 -0
- package/.scannerwork/scanner-report/coverages-12.pb +0 -0
- package/.scannerwork/scanner-report/coverages-13.pb +0 -0
- package/.scannerwork/scanner-report/coverages-14.pb +0 -0
- package/.scannerwork/scanner-report/coverages-15.pb +0 -0
- package/.scannerwork/scanner-report/coverages-16.pb +0 -0
- package/.scannerwork/scanner-report/coverages-17.pb +0 -0
- package/.scannerwork/scanner-report/coverages-18.pb +0 -0
- package/.scannerwork/scanner-report/coverages-19.pb +0 -0
- package/.scannerwork/scanner-report/coverages-2.pb +0 -0
- package/.scannerwork/scanner-report/coverages-20.pb +0 -0
- package/.scannerwork/scanner-report/coverages-21.pb +0 -0
- package/.scannerwork/scanner-report/coverages-22.pb +0 -0
- package/.scannerwork/scanner-report/coverages-34.pb +0 -0
- package/.scannerwork/scanner-report/coverages-35.pb +0 -0
- package/.scannerwork/scanner-report/coverages-36.pb +0 -0
- package/.scannerwork/scanner-report/coverages-39.pb +0 -0
- package/.scannerwork/scanner-report/coverages-4.pb +0 -0
- package/.scannerwork/scanner-report/coverages-40.pb +0 -0
- package/.scannerwork/scanner-report/coverages-41.pb +0 -0
- package/.scannerwork/scanner-report/coverages-42.pb +0 -0
- package/.scannerwork/scanner-report/coverages-45.pb +0 -0
- package/.scannerwork/scanner-report/coverages-46.pb +0 -0
- package/.scannerwork/scanner-report/coverages-47.pb +0 -0
- package/.scannerwork/scanner-report/coverages-48.pb +0 -0
- package/.scannerwork/scanner-report/coverages-49.pb +0 -0
- package/.scannerwork/scanner-report/coverages-5.pb +0 -0
- package/.scannerwork/scanner-report/coverages-50.pb +0 -0
- package/.scannerwork/scanner-report/coverages-51.pb +0 -0
- package/.scannerwork/scanner-report/coverages-52.pb +0 -0
- package/.scannerwork/scanner-report/coverages-54.pb +0 -0
- package/.scannerwork/scanner-report/coverages-6.pb +0 -0
- package/.scannerwork/scanner-report/coverages-7.pb +0 -0
- package/.scannerwork/scanner-report/coverages-8.pb +0 -0
- package/.scannerwork/scanner-report/coverages-9.pb +0 -0
- package/.scannerwork/scanner-report/duplications-12.pb +3 -0
- package/.scannerwork/scanner-report/duplications-16.pb +0 -2
- package/.scannerwork/scanner-report/duplications-17.pb +0 -2
- package/.scannerwork/scanner-report/duplications-4.pb +2 -0
- package/.scannerwork/scanner-report/duplications-46.pb +0 -2
- package/.scannerwork/scanner-report/duplications-50.pb +1 -1
- package/.scannerwork/scanner-report/duplications-51.pb +2 -0
- package/.scannerwork/scanner-report/duplications-64.pb +2 -0
- package/.scannerwork/scanner-report/duplications-66.pb +2 -0
- package/.scannerwork/scanner-report/duplications-9.pb +2 -0
- package/.scannerwork/scanner-report/issues-12.pb +3 -2
- package/.scannerwork/scanner-report/issues-35.pb +3 -0
- package/.scannerwork/scanner-report/measures-10.pb +0 -0
- package/.scannerwork/scanner-report/measures-12.pb +0 -0
- package/.scannerwork/scanner-report/measures-13.pb +0 -0
- package/.scannerwork/scanner-report/measures-14.pb +0 -0
- package/.scannerwork/scanner-report/measures-15.pb +0 -0
- package/.scannerwork/scanner-report/measures-16.pb +0 -0
- package/.scannerwork/scanner-report/measures-17.pb +0 -0
- package/.scannerwork/scanner-report/measures-18.pb +0 -0
- package/.scannerwork/scanner-report/measures-19.pb +0 -0
- package/.scannerwork/scanner-report/measures-2.pb +0 -0
- package/.scannerwork/scanner-report/measures-20.pb +0 -0
- package/.scannerwork/scanner-report/measures-21.pb +0 -0
- package/.scannerwork/scanner-report/measures-22.pb +0 -0
- package/.scannerwork/scanner-report/measures-3.pb +0 -0
- package/.scannerwork/scanner-report/measures-34.pb +0 -0
- package/.scannerwork/scanner-report/measures-35.pb +0 -0
- package/.scannerwork/scanner-report/measures-36.pb +15 -0
- package/.scannerwork/scanner-report/measures-38.pb +0 -0
- package/.scannerwork/scanner-report/measures-39.pb +0 -0
- package/.scannerwork/scanner-report/measures-4.pb +0 -0
- package/.scannerwork/scanner-report/measures-40.pb +0 -0
- package/.scannerwork/scanner-report/measures-41.pb +0 -0
- package/.scannerwork/scanner-report/measures-42.pb +0 -0
- package/.scannerwork/scanner-report/measures-44.pb +0 -0
- package/.scannerwork/scanner-report/measures-45.pb +0 -0
- package/.scannerwork/scanner-report/measures-46.pb +0 -0
- package/.scannerwork/scanner-report/measures-47.pb +0 -0
- package/.scannerwork/scanner-report/measures-48.pb +0 -0
- package/.scannerwork/scanner-report/measures-49.pb +0 -0
- package/.scannerwork/scanner-report/measures-5.pb +0 -0
- package/.scannerwork/scanner-report/measures-50.pb +0 -0
- package/.scannerwork/scanner-report/measures-51.pb +0 -0
- package/.scannerwork/scanner-report/measures-52.pb +0 -0
- package/.scannerwork/scanner-report/measures-54.pb +0 -0
- package/.scannerwork/scanner-report/measures-55.pb +0 -0
- package/.scannerwork/scanner-report/measures-6.pb +0 -0
- package/.scannerwork/scanner-report/measures-60.pb +0 -0
- package/.scannerwork/scanner-report/measures-64.pb +0 -0
- package/.scannerwork/scanner-report/measures-68.pb +0 -0
- package/.scannerwork/scanner-report/measures-7.pb +0 -0
- package/.scannerwork/scanner-report/measures-8.pb +0 -0
- package/.scannerwork/scanner-report/measures-9.pb +0 -0
- package/.scannerwork/scanner-report/metadata.pb +0 -0
- package/.scannerwork/scanner-report/source-10.txt +16 -19
- package/.scannerwork/scanner-report/source-12.txt +193 -22
- package/.scannerwork/scanner-report/source-13.txt +78 -6
- package/.scannerwork/scanner-report/source-14.txt +112 -44
- package/.scannerwork/scanner-report/source-15.txt +428 -16
- package/.scannerwork/scanner-report/source-16.txt +259 -153
- package/.scannerwork/scanner-report/source-17.txt +84 -167
- package/.scannerwork/scanner-report/source-18.txt +83 -42
- package/.scannerwork/scanner-report/source-19.txt +114 -86
- package/.scannerwork/scanner-report/source-2.txt +414 -0
- package/.scannerwork/scanner-report/source-20.txt +41 -77
- package/.scannerwork/scanner-report/source-21.txt +9 -10
- package/.scannerwork/scanner-report/source-22.txt +22 -115
- package/.scannerwork/scanner-report/source-3.txt +424 -0
- package/.scannerwork/scanner-report/source-34.txt +37 -0
- package/.scannerwork/scanner-report/source-35.txt +42 -0
- package/.scannerwork/scanner-report/source-36.txt +151 -0
- package/.scannerwork/scanner-report/source-38.txt +424 -213
- package/.scannerwork/scanner-report/source-39.txt +115 -23
- package/.scannerwork/scanner-report/source-4.txt +187 -424
- package/.scannerwork/scanner-report/source-40.txt +88 -426
- package/.scannerwork/scanner-report/source-41.txt +32 -315
- package/.scannerwork/scanner-report/source-42.txt +60 -131
- package/.scannerwork/scanner-report/source-44.txt +178 -424
- package/.scannerwork/scanner-report/source-45.txt +118 -0
- package/.scannerwork/scanner-report/source-46.txt +14 -65
- package/.scannerwork/scanner-report/source-47.txt +91 -24
- package/.scannerwork/scanner-report/source-48.txt +140 -17
- package/.scannerwork/scanner-report/source-49.txt +256 -55
- package/.scannerwork/scanner-report/source-5.txt +29 -0
- package/.scannerwork/scanner-report/source-50.txt +29 -12
- package/.scannerwork/scanner-report/source-51.txt +50 -139
- package/.scannerwork/scanner-report/source-52.txt +16 -266
- package/.scannerwork/scanner-report/source-54.txt +32 -104
- package/.scannerwork/scanner-report/source-55.txt +424 -111
- package/.scannerwork/scanner-report/source-6.txt +305 -22
- package/.scannerwork/scanner-report/source-60.txt +60 -424
- package/.scannerwork/scanner-report/source-64.txt +190 -102
- package/.scannerwork/scanner-report/source-68.txt +102 -190
- package/.scannerwork/scanner-report/source-7.txt +159 -382
- package/.scannerwork/scanner-report/source-8.txt +62 -0
- package/.scannerwork/scanner-report/source-9.txt +167 -84
- package/.scannerwork/scanner-report/symbols-10.pb +9 -23
- package/.scannerwork/scanner-report/symbols-12.pb +264 -19
- package/.scannerwork/scanner-report/symbols-13.pb +58 -8
- package/.scannerwork/scanner-report/symbols-14.pb +86 -24
- package/.scannerwork/scanner-report/symbols-15.pb +790 -9
- package/.scannerwork/scanner-report/symbols-16.pb +417 -216
- package/.scannerwork/scanner-report/symbols-17.pb +69 -203
- package/.scannerwork/scanner-report/symbols-18.pb +59 -33
- package/.scannerwork/scanner-report/symbols-19.pb +71 -59
- package/.scannerwork/scanner-report/symbols-2.pb +604 -0
- package/.scannerwork/scanner-report/symbols-20.pb +32 -57
- package/.scannerwork/scanner-report/symbols-21.pb +13 -21
- package/.scannerwork/scanner-report/symbols-22.pb +31 -71
- package/.scannerwork/scanner-report/symbols-34.pb +13 -0
- package/.scannerwork/scanner-report/symbols-35.pb +19 -0
- package/.scannerwork/scanner-report/symbols-36.pb +93 -0
- package/.scannerwork/scanner-report/symbols-39.pb +33 -13
- package/.scannerwork/scanner-report/symbols-4.pb +227 -0
- package/.scannerwork/scanner-report/symbols-40.pb +56 -787
- package/.scannerwork/scanner-report/symbols-41.pb +20 -353
- package/.scannerwork/scanner-report/symbols-42.pb +45 -92
- package/.scannerwork/scanner-report/symbols-45.pb +30 -0
- package/.scannerwork/scanner-report/symbols-46.pb +16 -42
- package/.scannerwork/scanner-report/symbols-47.pb +44 -18
- package/.scannerwork/scanner-report/symbols-48.pb +126 -18
- package/.scannerwork/scanner-report/symbols-49.pb +354 -46
- package/.scannerwork/scanner-report/symbols-5.pb +8 -0
- package/.scannerwork/scanner-report/symbols-50.pb +38 -36
- package/.scannerwork/scanner-report/symbols-51.pb +42 -126
- package/.scannerwork/scanner-report/symbols-52.pb +14 -354
- package/.scannerwork/scanner-report/symbols-54.pb +7 -30
- package/.scannerwork/scanner-report/symbols-6.pb +353 -7
- package/.scannerwork/scanner-report/symbols-7.pb +203 -598
- package/.scannerwork/scanner-report/symbols-8.pb +24 -0
- package/.scannerwork/scanner-report/symbols-9.pb +203 -69
- package/.scannerwork/scanner-report/syntax-highlightings-10.pb +25 -20
- package/.scannerwork/scanner-report/syntax-highlightings-12.pb +257 -26
- package/.scannerwork/scanner-report/syntax-highlightings-13.pb +119 -14
- package/.scannerwork/scanner-report/syntax-highlightings-14.pb +89 -61
- package/.scannerwork/scanner-report/syntax-highlightings-15.pb +592 -26
- package/.scannerwork/scanner-report/syntax-highlightings-16.pb +613 -261
- package/.scannerwork/scanner-report/syntax-highlightings-17.pb +67 -240
- package/.scannerwork/scanner-report/syntax-highlightings-18.pb +140 -72
- package/.scannerwork/scanner-report/syntax-highlightings-19.pb +143 -140
- package/.scannerwork/scanner-report/syntax-highlightings-2.pb +641 -0
- package/.scannerwork/scanner-report/syntax-highlightings-20.pb +68 -112
- package/.scannerwork/scanner-report/syntax-highlightings-21.pb +13 -26
- package/.scannerwork/scanner-report/syntax-highlightings-22.pb +31 -143
- package/.scannerwork/scanner-report/syntax-highlightings-3.pb +3341 -0
- package/.scannerwork/scanner-report/syntax-highlightings-34.pb +62 -0
- package/.scannerwork/scanner-report/syntax-highlightings-35.pb +66 -0
- package/.scannerwork/scanner-report/syntax-highlightings-36.pb +237 -0
- package/.scannerwork/scanner-report/syntax-highlightings-38.pb +3257 -215
- package/.scannerwork/scanner-report/syntax-highlightings-39.pb +94 -27
- package/.scannerwork/scanner-report/syntax-highlightings-4.pb +289 -3261
- package/.scannerwork/scanner-report/syntax-highlightings-40.pb +91 -585
- package/.scannerwork/scanner-report/syntax-highlightings-41.pb +34 -590
- package/.scannerwork/scanner-report/syntax-highlightings-42.pb +62 -204
- package/.scannerwork/scanner-report/syntax-highlightings-44.pb +209 -3306
- package/.scannerwork/scanner-report/syntax-highlightings-45.pb +113 -0
- package/.scannerwork/scanner-report/syntax-highlightings-46.pb +18 -59
- package/.scannerwork/scanner-report/syntax-highlightings-47.pb +91 -29
- package/.scannerwork/scanner-report/syntax-highlightings-48.pb +180 -19
- package/.scannerwork/scanner-report/syntax-highlightings-49.pb +245 -55
- package/.scannerwork/scanner-report/syntax-highlightings-5.pb +49 -0
- package/.scannerwork/scanner-report/syntax-highlightings-50.pb +48 -36
- package/.scannerwork/scanner-report/syntax-highlightings-51.pb +42 -174
- package/.scannerwork/scanner-report/syntax-highlightings-52.pb +15 -255
- package/.scannerwork/scanner-report/syntax-highlightings-54.pb +33 -84
- package/.scannerwork/scanner-report/syntax-highlightings-55.pb +3329 -122
- package/.scannerwork/scanner-report/syntax-highlightings-6.pb +587 -29
- package/.scannerwork/scanner-report/syntax-highlightings-60.pb +72 -3330
- package/.scannerwork/scanner-report/syntax-highlightings-64.pb +218 -685
- package/.scannerwork/scanner-report/syntax-highlightings-68.pb +684 -218
- package/.scannerwork/scanner-report/syntax-highlightings-7.pb +179 -530
- package/.scannerwork/scanner-report/syntax-highlightings-8.pb +97 -0
- package/.scannerwork/scanner-report/syntax-highlightings-9.pb +240 -67
- package/CHANGES.md +3 -0
- package/package.json +1 -1
- package/test-18-results.xml +155 -155
- package/test-20-results.xml +155 -155
- package/test-21-results.xml +147 -147
- package/test-iam-20-results.xml +50 -50
- package/.scannerwork/scanner-report/changesets-23.pb +0 -1
- package/.scannerwork/scanner-report/changesets-24.pb +0 -1
- package/.scannerwork/scanner-report/changesets-25.pb +0 -1
- package/.scannerwork/scanner-report/changesets-26.pb +0 -1
- package/.scannerwork/scanner-report/changesets-38.pb +0 -1
- package/.scannerwork/scanner-report/changesets-53.pb +0 -1
- package/.scannerwork/scanner-report/changesets-55.pb +0 -1
- package/.scannerwork/scanner-report/changesets-56.pb +0 -1
- package/.scannerwork/scanner-report/changesets-57.pb +0 -1
- package/.scannerwork/scanner-report/changesets-58.pb +0 -1
- package/.scannerwork/scanner-report/changesets-59.pb +0 -1
- package/.scannerwork/scanner-report/changesets-62.pb +0 -1
- package/.scannerwork/scanner-report/changesets-63.pb +0 -1
- package/.scannerwork/scanner-report/changesets-68.pb +0 -1
- package/.scannerwork/scanner-report/changesets-69.pb +0 -1
- package/.scannerwork/scanner-report/component-23.pb +0 -1
- package/.scannerwork/scanner-report/component-24.pb +0 -1
- package/.scannerwork/scanner-report/component-25.pb +0 -1
- package/.scannerwork/scanner-report/component-26.pb +0 -1
- package/.scannerwork/scanner-report/component-53.pb +0 -1
- package/.scannerwork/scanner-report/component-56.pb +0 -1
- package/.scannerwork/scanner-report/component-57.pb +0 -1
- package/.scannerwork/scanner-report/component-58.pb +0 -1
- package/.scannerwork/scanner-report/component-59.pb +0 -1
- package/.scannerwork/scanner-report/component-62.pb +0 -1
- package/.scannerwork/scanner-report/component-63.pb +0 -1
- package/.scannerwork/scanner-report/component-69.pb +0 -1
- package/.scannerwork/scanner-report/coverages-23.pb +0 -0
- package/.scannerwork/scanner-report/coverages-24.pb +0 -0
- package/.scannerwork/scanner-report/coverages-25.pb +0 -0
- package/.scannerwork/scanner-report/coverages-38.pb +0 -0
- package/.scannerwork/scanner-report/coverages-53.pb +0 -0
- package/.scannerwork/scanner-report/coverages-55.pb +0 -0
- package/.scannerwork/scanner-report/coverages-57.pb +0 -0
- package/.scannerwork/scanner-report/coverages-59.pb +0 -0
- package/.scannerwork/scanner-report/duplications-38.pb +0 -3
- package/.scannerwork/scanner-report/duplications-68.pb +0 -2
- package/.scannerwork/scanner-report/duplications-69.pb +0 -2
- package/.scannerwork/scanner-report/issues-38.pb +0 -4
- package/.scannerwork/scanner-report/measures-23.pb +0 -0
- package/.scannerwork/scanner-report/measures-24.pb +0 -0
- package/.scannerwork/scanner-report/measures-25.pb +0 -16
- package/.scannerwork/scanner-report/measures-53.pb +0 -0
- package/.scannerwork/scanner-report/measures-56.pb +0 -16
- package/.scannerwork/scanner-report/measures-57.pb +0 -0
- package/.scannerwork/scanner-report/measures-59.pb +0 -15
- package/.scannerwork/scanner-report/measures-62.pb +0 -0
- package/.scannerwork/scanner-report/source-23.txt +0 -130
- package/.scannerwork/scanner-report/source-24.txt +0 -191
- package/.scannerwork/scanner-report/source-25.txt +0 -293
- package/.scannerwork/scanner-report/source-53.txt +0 -31
- package/.scannerwork/scanner-report/source-56.txt +0 -178
- package/.scannerwork/scanner-report/source-57.txt +0 -129
- package/.scannerwork/scanner-report/source-59.txt +0 -113
- package/.scannerwork/scanner-report/source-62.txt +0 -60
- package/.scannerwork/scanner-report/symbols-23.pb +0 -86
- package/.scannerwork/scanner-report/symbols-24.pb +0 -209
- package/.scannerwork/scanner-report/symbols-25.pb +0 -428
- package/.scannerwork/scanner-report/symbols-38.pb +0 -264
- package/.scannerwork/scanner-report/symbols-53.pb +0 -14
- package/.scannerwork/scanner-report/symbols-55.pb +0 -59
- package/.scannerwork/scanner-report/symbols-57.pb +0 -33
- package/.scannerwork/scanner-report/symbols-59.pb +0 -46
- package/.scannerwork/scanner-report/syntax-highlightings-23.pb +0 -125
- package/.scannerwork/scanner-report/syntax-highlightings-24.pb +0 -290
- package/.scannerwork/scanner-report/syntax-highlightings-25.pb +0 -720
- package/.scannerwork/scanner-report/syntax-highlightings-53.pb +0 -45
- package/.scannerwork/scanner-report/syntax-highlightings-56.pb +0 -243
- package/.scannerwork/scanner-report/syntax-highlightings-57.pb +0 -129
- package/.scannerwork/scanner-report/syntax-highlightings-59.pb +0 -126
- package/.scannerwork/scanner-report/syntax-highlightings-62.pb +0 -82
- /package/.scannerwork/scanner-report/{coverages-26.pb → coverages-37.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-58.pb → coverages-43.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-56.pb → coverages-44.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-62.pb → coverages-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-63.pb → coverages-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-68.pb → coverages-64.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-69.pb → coverages-66.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-23.pb → duplications-13.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-24.pb → duplications-2.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-25.pb → duplications-34.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-26.pb → duplications-35.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-53.pb → duplications-36.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-55.pb → duplications-37.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-56.pb → duplications-43.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-57.pb → duplications-44.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-58.pb → duplications-45.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-59.pb → duplications-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-62.pb → duplications-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-63.pb → duplications-8.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-23.pb → issues-14.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-41.pb → issues-6.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-26.pb → measures-37.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-58.pb → measures-43.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-63.pb → measures-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-69.pb → measures-66.pb} +0 -0
- /package/.scannerwork/scanner-report/{source-26.txt → source-37.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-58.txt → source-43.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-63.txt → source-61.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-69.txt → source-66.txt} +0 -0
- /package/.scannerwork/scanner-report/{symbols-26.pb → symbols-37.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-58.pb → symbols-43.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-56.pb → symbols-44.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-62.pb → symbols-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-63.pb → symbols-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-68.pb → symbols-64.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-69.pb → symbols-66.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-26.pb → syntax-highlightings-37.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-58.pb → syntax-highlightings-43.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-63.pb → syntax-highlightings-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-69.pb → syntax-highlightings-66.pb} +0 -0
|
@@ -15,26 +15,23 @@
|
|
|
15
15
|
/* global describe it */
|
|
16
16
|
'use strict';
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
const
|
|
18
|
+
delete require.cache[require.resolve('./citestutils.js')];
|
|
19
|
+
const u = require('./citestutils.js');
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
reject(err);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
21
|
+
[{ useApi: true }, { useApi: false }].forEach(function(params) {
|
|
22
|
+
describe(u.scenario('End to end backup and restore', params), function() {
|
|
23
|
+
it('should backup and restore animaldb', async function() {
|
|
24
|
+
// Allow up to 60 s for backup and restore of animaldb
|
|
25
|
+
u.setTimeout(this, 60);
|
|
26
|
+
return u.testDirectBackupAndRestore(params, 'animaldb', this.dbName);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('should backup and restore largedb1g #slow', async function() {
|
|
30
|
+
// Allow up to 30 m for backup and restore of largedb1g
|
|
31
|
+
// This is a long time but when many builds run in parallel it can take a
|
|
32
|
+
// while to get this done.
|
|
33
|
+
u.setTimeout(this, 30 * 60);
|
|
34
|
+
return u.testDirectBackupAndRestore(params, 'largedb1g', this.dbName);
|
|
38
35
|
});
|
|
39
36
|
});
|
|
40
37
|
});
|
|
@@ -12,31 +12,202 @@
|
|
|
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 beforeEach */
|
|
16
16
|
'use strict';
|
|
17
17
|
|
|
18
18
|
const assert = require('assert');
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
19
|
+
const nock = require('nock');
|
|
20
|
+
const request = require('../includes/request.js');
|
|
21
|
+
const error = require('../includes/error.js');
|
|
22
|
+
|
|
23
|
+
const url = 'http://localhost:7777/testdb';
|
|
24
|
+
const db = request.client(url, { parallelism: 1 });
|
|
25
|
+
const timeoutDb = request.client(url, { parallelism: 1, requestTimeout: 500 });
|
|
26
|
+
const longTestTimeout = 3000;
|
|
27
|
+
|
|
28
|
+
beforeEach('Clean nock', function() {
|
|
29
|
+
nock.cleanAll();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
describe('#unit Check request headers', function() {
|
|
33
|
+
it('should have a couchbackup user-agent', async function() {
|
|
34
|
+
const couch = nock(url)
|
|
35
|
+
.matchHeader('user-agent', /couchbackup-cloudant\/\d+\.\d+\.\d+(?:-SNAPSHOT)? \(Node.js v\d+\.\d+\.\d+\)/)
|
|
36
|
+
.head('/good')
|
|
37
|
+
.reply(200);
|
|
38
|
+
|
|
39
|
+
return db.service.headDocument({ db: db.db, docId: 'good' }).then(() => {
|
|
40
|
+
assert.ok(couch.isDone());
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
describe('#unit Check request response error callback', function() {
|
|
46
|
+
it('should not callback with error for 200 response', async function() {
|
|
47
|
+
const couch = nock(url)
|
|
48
|
+
.get('/good')
|
|
49
|
+
.reply(200, { ok: true });
|
|
50
|
+
|
|
51
|
+
return db.service.getDocument({ db: db.db, docId: 'good' }).then(response => {
|
|
52
|
+
assert.ok(response.result);
|
|
53
|
+
assert.ok(couch.isDone());
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('should callback with error after 3 500 responses', async function() {
|
|
58
|
+
const couch = nock(url)
|
|
59
|
+
.get('/bad')
|
|
60
|
+
.times(3)
|
|
61
|
+
.reply(500, function(uri, requestBody) {
|
|
62
|
+
this.req.response.statusMessage = 'Internal Server Error';
|
|
63
|
+
return { error: 'foo', reason: 'bar' };
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
return assert.rejects(
|
|
67
|
+
db.service.getDocument({ db: db.db, docId: 'bad' }),
|
|
68
|
+
(err) => {
|
|
69
|
+
err = error.convertResponseError(err);
|
|
70
|
+
assert.strictEqual(err.name, 'HTTPFatalError');
|
|
71
|
+
assert.strictEqual(err.message, `500 Internal Server Error: get ${url}/bad - Error: foo, Reason: bar`);
|
|
72
|
+
assert.ok(couch.isDone());
|
|
73
|
+
return true;
|
|
74
|
+
});
|
|
75
|
+
}).timeout(longTestTimeout);
|
|
76
|
+
|
|
77
|
+
it('should callback with error after 3 POST 503 responses', async function() {
|
|
78
|
+
const couch = nock(url)
|
|
79
|
+
.post('/_bulk_get')
|
|
80
|
+
.query(true)
|
|
81
|
+
.times(3)
|
|
82
|
+
.reply(503, function(uri, requestBody) {
|
|
83
|
+
this.req.response.statusMessage = 'Service Unavailable';
|
|
84
|
+
return { error: 'service_unavailable', reason: 'Service unavailable' };
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
return assert.rejects(
|
|
88
|
+
db.service.postBulkGet({ db: db.db, revs: true, docs: [] }),
|
|
89
|
+
(err) => {
|
|
90
|
+
err = error.convertResponseError(err);
|
|
91
|
+
assert.strictEqual(err.name, 'HTTPFatalError');
|
|
92
|
+
assert.strictEqual(err.message, `503 Service Unavailable: post ${url}/_bulk_get - Error: service_unavailable, Reason: Service unavailable`);
|
|
93
|
+
assert.ok(couch.isDone());
|
|
94
|
+
return true;
|
|
95
|
+
});
|
|
96
|
+
}).timeout(longTestTimeout);
|
|
97
|
+
|
|
98
|
+
it('should callback with error after 3 429 responses', async function() {
|
|
99
|
+
const couch = nock(url)
|
|
100
|
+
.get('/bad')
|
|
101
|
+
.times(3)
|
|
102
|
+
.reply(429, function(uri, requestBody) {
|
|
103
|
+
this.req.response.statusMessage = 'Too Many Requests';
|
|
104
|
+
return { error: 'foo', reason: 'bar' };
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
return assert.rejects(
|
|
108
|
+
db.service.getDocument({ db: db.db, docId: 'bad' }),
|
|
109
|
+
(err) => {
|
|
110
|
+
err = error.convertResponseError(err);
|
|
111
|
+
assert.strictEqual(err.name, 'HTTPFatalError');
|
|
112
|
+
assert.strictEqual(err.message, `429 Too Many Requests: get ${url}/bad - Error: foo, Reason: bar`);
|
|
113
|
+
assert.ok(couch.isDone());
|
|
114
|
+
return true;
|
|
115
|
+
});
|
|
116
|
+
}).timeout(longTestTimeout);
|
|
117
|
+
|
|
118
|
+
it('should callback with fatal error for 404 response', async function() {
|
|
119
|
+
const couch = nock(url)
|
|
120
|
+
.get('/bad')
|
|
121
|
+
.reply(404, function(uri, requestBody) {
|
|
122
|
+
this.req.response.statusMessage = 'Not Found';
|
|
123
|
+
return { error: 'foo', reason: 'bar' };
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
return assert.rejects(
|
|
127
|
+
db.service.getDocument({ db: db.db, docId: 'bad' }),
|
|
128
|
+
(err) => {
|
|
129
|
+
err = error.convertResponseError(err);
|
|
130
|
+
assert.strictEqual(err.name, 'HTTPFatalError');
|
|
131
|
+
assert.strictEqual(err.message, `404 Not Found: get ${url}/bad - Error: foo, Reason: bar`);
|
|
132
|
+
assert.ok(couch.isDone());
|
|
133
|
+
return true;
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
it('should callback with same error for no status code error response', async function() {
|
|
138
|
+
const couch = nock(url)
|
|
139
|
+
.get('/bad')
|
|
140
|
+
.times(3)
|
|
141
|
+
.replyWithError('testing badness');
|
|
142
|
+
|
|
143
|
+
return assert.rejects(
|
|
144
|
+
db.service.getDocument({ db: db.db, docId: 'bad' }),
|
|
145
|
+
(err) => {
|
|
146
|
+
const err2 = error.convertResponseError(err);
|
|
147
|
+
assert.strictEqual(err, err2);
|
|
148
|
+
assert.ok(couch.isDone());
|
|
149
|
+
return true;
|
|
150
|
+
});
|
|
151
|
+
}).timeout(longTestTimeout);
|
|
152
|
+
|
|
153
|
+
it('should retry request if HTTP request gets timed out', async function() {
|
|
154
|
+
const couch = nock(url)
|
|
155
|
+
.post('/_bulk_get')
|
|
156
|
+
.query(true)
|
|
157
|
+
.delay(1000)
|
|
158
|
+
.reply(200, { results: { docs: [{ id: '1', ok: { _id: '1' } }] } })
|
|
159
|
+
.post('/_bulk_get')
|
|
160
|
+
.query(true)
|
|
161
|
+
.reply(200, { results: { docs: [{ id: '1', ok: { _id: '1' } }, { id: '2', ok: { _id: '2' } }] } });
|
|
162
|
+
|
|
163
|
+
return timeoutDb.service.postBulkGet({ db: db.db, revs: true, docs: [] }).then((response) => {
|
|
164
|
+
assert.ok(response);
|
|
165
|
+
assert.ok(response.result);
|
|
166
|
+
assert.ok(response.result.results);
|
|
167
|
+
assert.ok(response.result.results.docs);
|
|
168
|
+
assert.strictEqual(response.result.results.docs.length, 2);
|
|
169
|
+
assert.ok(couch.isDone());
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
it('should callback with error code ESOCKETTIMEDOUT if 3 HTTP requests gets timed out', async function() {
|
|
174
|
+
// Increase the timeout for this test to allow for the delays
|
|
175
|
+
this.timeout(3000);
|
|
176
|
+
const couch = nock(url)
|
|
177
|
+
.post('/_bulk_get')
|
|
178
|
+
.query(true)
|
|
179
|
+
.delay(1000)
|
|
180
|
+
.times(3)
|
|
181
|
+
.reply(200, { ok: true });
|
|
182
|
+
|
|
183
|
+
return assert.rejects(
|
|
184
|
+
timeoutDb.service.postBulkGet({ db: db.db, revs: true, docs: [] }),
|
|
185
|
+
(err) => {
|
|
186
|
+
err = error.convertResponseError(err);
|
|
187
|
+
// Note axios returns ECONNABORTED rather than ESOCKETTIMEDOUT
|
|
188
|
+
// See https://github.com/axios/axios/issues/2710 via https://github.com/axios/axios/issues/1543`
|
|
189
|
+
assert.strictEqual(err.statusText, 'ECONNABORTED');
|
|
190
|
+
assert.strictEqual(err.message, `timeout of 500ms exceeded: post ${url}/_bulk_get ECONNABORTED`);
|
|
191
|
+
assert.ok(couch.isDone());
|
|
192
|
+
return true;
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
describe('#unit Check credentials', async function() {
|
|
196
|
+
it('should properly decode username and password', async function() {
|
|
197
|
+
const username = 'user%123';
|
|
198
|
+
const password = 'colon:at@321';
|
|
199
|
+
const url = `http://${encodeURIComponent(username)}:${encodeURIComponent(password)}@localhost:7777/testdb`;
|
|
200
|
+
const sessionUrl = 'http://localhost:7777';
|
|
201
|
+
const couch = nock(sessionUrl)
|
|
202
|
+
.post('/_session', { username: username, password: password })
|
|
203
|
+
.reply(200, { ok: true }, { 'Set-Cookie': 'AuthSession=ABC123DEF4356;' })
|
|
204
|
+
.get('/')
|
|
205
|
+
.reply(200);
|
|
206
|
+
const db = request.client(url, { parallelism: 1 });
|
|
207
|
+
return db.service.getServerInformation().then(response => {
|
|
208
|
+
assert.ok(response);
|
|
209
|
+
assert.ok(couch.isDone());
|
|
210
|
+
});
|
|
40
211
|
});
|
|
41
212
|
});
|
|
42
213
|
});
|
|
@@ -15,15 +15,87 @@
|
|
|
15
15
|
/* global describe it */
|
|
16
16
|
'use strict';
|
|
17
17
|
|
|
18
|
+
const assert = require('assert');
|
|
19
|
+
const fs = require('fs');
|
|
20
|
+
const { once } = require('node:events');
|
|
18
21
|
const u = require('./citestutils.js');
|
|
19
22
|
|
|
20
23
|
[{ useApi: true }, { useApi: false }].forEach(function(params) {
|
|
21
|
-
describe(u.scenario('
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
describe(u.scenario('Resume tests', params), function() {
|
|
25
|
+
it('should create a log file', async function() {
|
|
26
|
+
// Allow up to 90 s for this test
|
|
27
|
+
u.setTimeout(this, 60);
|
|
28
|
+
|
|
29
|
+
const actualBackup = `./${this.fileName}`;
|
|
30
|
+
const logFile = `./${this.fileName}` + '.log';
|
|
31
|
+
const p = u.p(params, { opts: { log: logFile } });
|
|
32
|
+
return u.testBackupToFile(p, 'animaldb', actualBackup).then(() => {
|
|
33
|
+
assert.ok(fs.existsSync(logFile), 'The log file should exist.');
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('should restore corrupted animaldb to a database correctly', async function() {
|
|
38
|
+
// Allow up to 60 s to restore and compare (again it should be faster)!
|
|
39
|
+
u.setTimeout(this, 60);
|
|
40
|
+
const input = fs.createReadStream('./test/fixtures/animaldb_corrupted.json');
|
|
41
|
+
const dbName = this.dbName;
|
|
42
|
+
const p = u.p(params, { expectedRestoreErrorRecoverable: { name: 'BackupFileJsonError' } });
|
|
43
|
+
return once(input, 'open')
|
|
44
|
+
.then(() => {
|
|
45
|
+
return u.testRestore(p, input, dbName);
|
|
46
|
+
}).then(() => {
|
|
47
|
+
return u.dbCompare('animaldb', dbName);
|
|
48
|
+
});
|
|
27
49
|
});
|
|
50
|
+
|
|
51
|
+
it('should restore resumed animaldb with blank line to a database correctly', async function() {
|
|
52
|
+
// Allow up to 60 s to restore and compare (again it should be faster)!
|
|
53
|
+
u.setTimeout(this, 60);
|
|
54
|
+
const input = fs.createReadStream('./test/fixtures/animaldb_resumed_blank.json');
|
|
55
|
+
const dbName = this.dbName;
|
|
56
|
+
return once(input, 'open')
|
|
57
|
+
.then(() => {
|
|
58
|
+
return u.testRestore(params, input, dbName);
|
|
59
|
+
}).then(() => {
|
|
60
|
+
return u.dbCompare('animaldb', dbName);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
describe('Resume tests', function() {
|
|
67
|
+
// Currently cannot abort API backups, when we do this test should be run for
|
|
68
|
+
// both API and CLI
|
|
69
|
+
it('should correctly backup and restore backup10m', async function() {
|
|
70
|
+
// Allow up to 90 s for this test
|
|
71
|
+
u.setTimeout(this, 90);
|
|
72
|
+
|
|
73
|
+
const actualBackup = `./${this.fileName}`;
|
|
74
|
+
const logFile = `./${this.fileName}` + '.log';
|
|
75
|
+
// Use abort parameter to terminate the backup
|
|
76
|
+
const p = u.p(params, { abort: true }, { opts: { log: logFile } });
|
|
77
|
+
const restoreDb = this.dbName;
|
|
78
|
+
// Set the database doc count as fewer than this should be written during
|
|
79
|
+
// resumed backup.
|
|
80
|
+
p.exclusiveMaxExpected = 5096;
|
|
81
|
+
|
|
82
|
+
return u.testBackupAbortResumeRestore(p, 'backup10m', actualBackup, restoreDb);
|
|
83
|
+
});
|
|
84
|
+
// Note --output is only valid for CLI usage, this test should only run for CLI
|
|
85
|
+
const params = { useApi: false };
|
|
86
|
+
it('should correctly backup and restore backup10m using --output', async function() {
|
|
87
|
+
// Allow up to 90 s for this test
|
|
88
|
+
u.setTimeout(this, 90);
|
|
89
|
+
|
|
90
|
+
const actualBackup = `./${this.fileName}`;
|
|
91
|
+
const logFile = `./${this.fileName}` + '.log';
|
|
92
|
+
// Use abort parameter to terminate the backup
|
|
93
|
+
const p = u.p(params, { abort: true }, { opts: { output: actualBackup, 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
|
+
return await u.testBackupAbortResumeRestore(p, 'backup10m', actualBackup, restoreDb);
|
|
28
100
|
});
|
|
29
101
|
});
|
|
@@ -12,51 +12,119 @@
|
|
|
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
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
18
|
+
const assert = require('assert');
|
|
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() {
|
|
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
|
+
});
|
|
40
|
+
|
|
41
|
+
it('respects the COUCH_DATABASE env variable', function() {
|
|
42
|
+
process.env.COUCH_DATABASE = 'mydb';
|
|
43
|
+
const config = {};
|
|
44
|
+
applyEnvVars(config);
|
|
45
|
+
assert.strictEqual(typeof config.db, 'string');
|
|
46
|
+
assert.strictEqual(config.db, process.env.COUCH_DATABASE);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('respects the COUCH_BUFFER_SIZE env variable', function() {
|
|
50
|
+
process.env.COUCH_BUFFER_SIZE = '1000';
|
|
51
|
+
const config = {};
|
|
52
|
+
applyEnvVars(config);
|
|
53
|
+
assert.strictEqual(typeof config.bufferSize, 'number');
|
|
54
|
+
assert.strictEqual(config.bufferSize, 1000);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('respects the COUCH_PARALLELISM env variable', function() {
|
|
58
|
+
process.env.COUCH_PARALLELISM = '20';
|
|
59
|
+
const config = {};
|
|
60
|
+
applyEnvVars(config);
|
|
61
|
+
assert.strictEqual(typeof config.parallelism, 'number');
|
|
62
|
+
assert.strictEqual(config.parallelism, 20);
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it('respects the COUCH_REQUEST_TIMEOUT env variable', function() {
|
|
66
|
+
process.env.COUCH_REQUEST_TIMEOUT = '10000';
|
|
67
|
+
const config = {};
|
|
68
|
+
applyEnvVars(config);
|
|
69
|
+
assert.strictEqual(typeof config.requestTimeout, 'number');
|
|
70
|
+
assert.strictEqual(config.requestTimeout, 10000);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it('respects the CLOUDANT_IAM_API_KEY env variable', function() {
|
|
74
|
+
const key = 'ABC123-ZYX987_cba789-xyz321';
|
|
75
|
+
process.env.CLOUDANT_IAM_API_KEY = key;
|
|
76
|
+
const config = {};
|
|
77
|
+
applyEnvVars(config);
|
|
78
|
+
assert.strictEqual(typeof config.iamApiKey, 'string');
|
|
79
|
+
assert.strictEqual(config.iamApiKey, key);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it('respects the CLOUDANT_IAM_TOKEN_URL env variable', function() {
|
|
83
|
+
const u = 'https://testhost.example:1234/identity/token';
|
|
84
|
+
process.env.CLOUDANT_IAM_TOKEN_URL = u;
|
|
85
|
+
const config = {};
|
|
86
|
+
applyEnvVars(config);
|
|
87
|
+
assert.strictEqual(typeof config.iamTokenUrl, 'string');
|
|
88
|
+
assert.strictEqual(config.iamTokenUrl, u);
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
it('respects the COUCH_LOG env variable', function() {
|
|
92
|
+
process.env.COUCH_LOG = 'my.log';
|
|
93
|
+
const config = {};
|
|
94
|
+
applyEnvVars(config);
|
|
95
|
+
assert.strictEqual(typeof config.log, 'string');
|
|
96
|
+
assert.strictEqual(config.log, process.env.COUCH_LOG);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it('respects the COUCH_RESUME env variable', function() {
|
|
100
|
+
process.env.COUCH_RESUME = 'true';
|
|
101
|
+
const config = {};
|
|
102
|
+
applyEnvVars(config);
|
|
103
|
+
assert.strictEqual(typeof config.resume, 'boolean');
|
|
104
|
+
assert.strictEqual(config.resume, true);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
it('respects the COUCH_OUTPUT env variable', function() {
|
|
108
|
+
process.env.COUCH_OUTPUT = 'myfile.txt';
|
|
109
|
+
const config = {};
|
|
110
|
+
applyEnvVars(config);
|
|
111
|
+
assert.strictEqual(typeof config.output, 'string');
|
|
112
|
+
assert.strictEqual(config.output, process.env.COUCH_OUTPUT);
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
it('respects the COUCH_MODE env variable', function() {
|
|
116
|
+
process.env.COUCH_MODE = 'shallow';
|
|
117
|
+
const config = {};
|
|
118
|
+
applyEnvVars(config);
|
|
119
|
+
assert.strictEqual(typeof config.mode, 'string');
|
|
120
|
+
assert.strictEqual(config.mode, 'shallow');
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it('respects the COUCH_QUIET env variable', function() {
|
|
124
|
+
process.env.COUCH_QUIET = 'true';
|
|
125
|
+
const config = {};
|
|
126
|
+
applyEnvVars(config);
|
|
127
|
+
assert.strictEqual(typeof config.quiet, 'boolean');
|
|
128
|
+
assert.strictEqual(config.quiet, true);
|
|
61
129
|
});
|
|
62
130
|
});
|