@cloudant/couchbackup 2.9.12-SNAPSHOT.135 → 2.9.12
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-warnings.pb +2 -2
- package/.scannerwork/scanner-report/analysis.log +1 -1
- package/.scannerwork/scanner-report/changesets-20.pb +1 -0
- package/.scannerwork/scanner-report/changesets-22.pb +1 -0
- package/.scannerwork/scanner-report/changesets-23.pb +1 -0
- package/.scannerwork/scanner-report/changesets-24.pb +1 -0
- package/.scannerwork/scanner-report/changesets-25.pb +1 -0
- package/.scannerwork/scanner-report/changesets-26.pb +1 -0
- package/.scannerwork/scanner-report/changesets-27.pb +1 -0
- package/.scannerwork/scanner-report/changesets-28.pb +1 -0
- package/.scannerwork/scanner-report/changesets-29.pb +1 -0
- package/.scannerwork/scanner-report/changesets-30.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-46.pb +1 -0
- package/.scannerwork/scanner-report/changesets-47.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-11.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-20.pb +1 -0
- package/.scannerwork/scanner-report/component-22.pb +1 -0
- package/.scannerwork/scanner-report/component-23.pb +1 -0
- package/.scannerwork/scanner-report/component-24.pb +1 -0
- package/.scannerwork/scanner-report/component-25.pb +1 -0
- package/.scannerwork/scanner-report/component-26.pb +1 -0
- package/.scannerwork/scanner-report/component-27.pb +1 -0
- package/.scannerwork/scanner-report/component-28.pb +1 -0
- package/.scannerwork/scanner-report/component-29.pb +1 -0
- package/.scannerwork/scanner-report/component-30.pb +1 -0
- package/.scannerwork/scanner-report/component-42.pb +1 -1
- package/.scannerwork/scanner-report/component-43.pb +1 -1
- package/.scannerwork/scanner-report/component-44.pb +1 -0
- package/.scannerwork/scanner-report/component-45.pb +1 -0
- package/.scannerwork/scanner-report/component-46.pb +1 -0
- package/.scannerwork/scanner-report/component-47.pb +1 -0
- 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 -1
- 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-53.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-56.pb +1 -1
- package/.scannerwork/scanner-report/component-58.pb +1 -1
- package/.scannerwork/scanner-report/component-6.pb +1 -1
- package/.scannerwork/scanner-report/component-61.pb +1 -1
- package/.scannerwork/scanner-report/component-64.pb +1 -1
- package/.scannerwork/scanner-report/component-68.pb +1 -0
- package/.scannerwork/scanner-report/component-7.pb +1 -1
- package/.scannerwork/scanner-report/component-8.pb +1 -1
- package/.scannerwork/scanner-report/component-9.pb +1 -1
- package/.scannerwork/scanner-report/coverages-10.pb +0 -0
- package/.scannerwork/scanner-report/coverages-11.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-20.pb +0 -0
- package/.scannerwork/scanner-report/coverages-22.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-26.pb +0 -0
- package/.scannerwork/scanner-report/coverages-28.pb +0 -0
- package/.scannerwork/scanner-report/coverages-30.pb +0 -0
- package/.scannerwork/scanner-report/coverages-42.pb +0 -0
- package/.scannerwork/scanner-report/coverages-43.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-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-53.pb +0 -0
- package/.scannerwork/scanner-report/coverages-54.pb +0 -0
- package/.scannerwork/scanner-report/coverages-55.pb +0 -0
- package/.scannerwork/scanner-report/coverages-56.pb +0 -0
- package/.scannerwork/scanner-report/coverages-58.pb +0 -0
- package/.scannerwork/scanner-report/coverages-6.pb +0 -0
- package/.scannerwork/scanner-report/coverages-64.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-10.pb +0 -2
- package/.scannerwork/scanner-report/duplications-11.pb +0 -3
- package/.scannerwork/scanner-report/duplications-15.pb +2 -0
- package/.scannerwork/scanner-report/duplications-16.pb +0 -3
- package/.scannerwork/scanner-report/duplications-24.pb +2 -0
- package/.scannerwork/scanner-report/duplications-26.pb +3 -0
- package/.scannerwork/scanner-report/duplications-30.pb +3 -0
- package/.scannerwork/scanner-report/duplications-42.pb +0 -2
- package/.scannerwork/scanner-report/duplications-43.pb +0 -2
- package/.scannerwork/scanner-report/duplications-5.pb +2 -2
- package/.scannerwork/scanner-report/duplications-52.pb +3 -0
- package/.scannerwork/scanner-report/duplications-55.pb +2 -0
- package/.scannerwork/scanner-report/duplications-6.pb +2 -0
- package/.scannerwork/scanner-report/duplications-8.pb +0 -3
- package/.scannerwork/scanner-report/duplications-9.pb +2 -0
- package/.scannerwork/scanner-report/measures-10.pb +0 -0
- package/.scannerwork/scanner-report/measures-11.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-20.pb +0 -0
- package/.scannerwork/scanner-report/measures-22.pb +0 -0
- package/.scannerwork/scanner-report/measures-24.pb +0 -0
- package/.scannerwork/scanner-report/measures-25.pb +0 -0
- package/.scannerwork/scanner-report/measures-26.pb +0 -0
- package/.scannerwork/scanner-report/measures-28.pb +0 -0
- package/.scannerwork/scanner-report/measures-30.pb +0 -0
- package/.scannerwork/scanner-report/measures-42.pb +0 -0
- package/.scannerwork/scanner-report/measures-43.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-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-53.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-56.pb +0 -0
- package/.scannerwork/scanner-report/measures-58.pb +0 -0
- package/.scannerwork/scanner-report/measures-6.pb +0 -0
- package/.scannerwork/scanner-report/measures-61.pb +0 -0
- package/.scannerwork/scanner-report/measures-64.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 +87 -201
- package/.scannerwork/scanner-report/source-11.txt +36 -113
- package/.scannerwork/scanner-report/source-12.txt +22 -49
- package/.scannerwork/scanner-report/source-13.txt +115 -78
- package/.scannerwork/scanner-report/source-14.txt +146 -45
- package/.scannerwork/scanner-report/source-15.txt +58 -30
- package/.scannerwork/scanner-report/source-16.txt +103 -229
- package/.scannerwork/scanner-report/source-17.txt +89 -21
- package/.scannerwork/scanner-report/source-18.txt +164 -20
- package/.scannerwork/scanner-report/source-19.txt +17 -128
- package/.scannerwork/scanner-report/source-2.txt +151 -151
- package/.scannerwork/scanner-report/source-20.txt +281 -0
- package/.scannerwork/scanner-report/source-22.txt +56 -0
- package/.scannerwork/scanner-report/source-24.txt +145 -0
- package/.scannerwork/scanner-report/source-25.txt +34 -0
- package/.scannerwork/scanner-report/source-26.txt +119 -0
- package/.scannerwork/scanner-report/source-28.txt +47 -0
- package/.scannerwork/scanner-report/source-30.txt +131 -0
- package/.scannerwork/scanner-report/source-42.txt +348 -157
- package/.scannerwork/scanner-report/source-43.txt +122 -165
- package/.scannerwork/scanner-report/source-45.txt +142 -0
- package/.scannerwork/scanner-report/source-46.txt +68 -0
- package/.scannerwork/scanner-report/source-48.txt +22 -115
- package/.scannerwork/scanner-report/source-49.txt +81 -35
- package/.scannerwork/scanner-report/source-5.txt +152 -122
- package/.scannerwork/scanner-report/source-50.txt +598 -19
- package/.scannerwork/scanner-report/source-51.txt +46 -58
- package/.scannerwork/scanner-report/source-52.txt +227 -147
- package/.scannerwork/scanner-report/source-53.txt +45 -160
- package/.scannerwork/scanner-report/source-54.txt +12 -75
- package/.scannerwork/scanner-report/source-55.txt +194 -250
- package/.scannerwork/scanner-report/source-56.txt +78 -104
- package/.scannerwork/scanner-report/source-58.txt +94 -21
- package/.scannerwork/scanner-report/source-6.txt +167 -45
- package/.scannerwork/scanner-report/source-61.txt +509 -104
- package/.scannerwork/scanner-report/source-64.txt +401 -39
- package/.scannerwork/scanner-report/{source-37.txt → source-68.txt} +50 -50
- package/.scannerwork/scanner-report/source-7.txt +32 -133
- package/.scannerwork/scanner-report/source-8.txt +57 -96
- package/.scannerwork/scanner-report/source-9.txt +75 -12
- package/.scannerwork/scanner-report/symbols-10.pb +58 -417
- package/.scannerwork/scanner-report/symbols-11.pb +15 -97
- package/.scannerwork/scanner-report/symbols-12.pb +17 -35
- package/.scannerwork/scanner-report/symbols-13.pb +33 -60
- package/.scannerwork/scanner-report/symbols-14.pb +125 -42
- package/.scannerwork/scanner-report/symbols-15.pb +41 -26
- package/.scannerwork/scanner-report/symbols-16.pb +30 -394
- package/.scannerwork/scanner-report/symbols-17.pb +42 -11
- package/.scannerwork/scanner-report/symbols-18.pb +143 -9
- package/.scannerwork/scanner-report/symbols-19.pb +14 -116
- package/.scannerwork/scanner-report/symbols-20.pb +354 -0
- package/.scannerwork/scanner-report/symbols-22.pb +19 -0
- package/.scannerwork/scanner-report/symbols-24.pb +102 -0
- package/.scannerwork/scanner-report/symbols-25.pb +10 -0
- package/.scannerwork/scanner-report/symbols-26.pb +77 -0
- package/.scannerwork/scanner-report/symbols-28.pb +27 -0
- package/.scannerwork/scanner-report/symbols-30.pb +97 -0
- package/.scannerwork/scanner-report/symbols-42.pb +486 -145
- package/.scannerwork/scanner-report/symbols-43.pb +85 -180
- package/.scannerwork/scanner-report/symbols-45.pb +116 -0
- package/.scannerwork/scanner-report/symbols-46.pb +45 -0
- package/.scannerwork/scanner-report/symbols-48.pb +11 -33
- package/.scannerwork/scanner-report/symbols-49.pb +68 -14
- package/.scannerwork/scanner-report/symbols-5.pb +152 -101
- package/.scannerwork/scanner-report/symbols-50.pb +1253 -19
- package/.scannerwork/scanner-report/symbols-51.pb +33 -43
- package/.scannerwork/scanner-report/symbols-52.pb +394 -126
- package/.scannerwork/scanner-report/symbols-53.pb +42 -143
- package/.scannerwork/scanner-report/symbols-54.pb +9 -44
- package/.scannerwork/scanner-report/symbols-55.pb +377 -313
- package/.scannerwork/scanner-report/symbols-56.pb +60 -30
- package/.scannerwork/scanner-report/symbols-58.pb +28 -18
- package/.scannerwork/scanner-report/symbols-6.pb +180 -45
- package/.scannerwork/scanner-report/symbols-64.pb +610 -19
- package/.scannerwork/scanner-report/symbols-7.pb +19 -84
- package/.scannerwork/scanner-report/symbols-8.pb +41 -72
- package/.scannerwork/scanner-report/symbols-9.pb +44 -9
- package/.scannerwork/scanner-report/syntax-highlightings-10.pb +96 -294
- package/.scannerwork/scanner-report/syntax-highlightings-11.pb +25 -153
- package/.scannerwork/scanner-report/syntax-highlightings-12.pb +21 -66
- package/.scannerwork/scanner-report/syntax-highlightings-13.pb +89 -70
- package/.scannerwork/scanner-report/syntax-highlightings-14.pb +178 -47
- package/.scannerwork/scanner-report/syntax-highlightings-15.pb +44 -34
- package/.scannerwork/scanner-report/syntax-highlightings-16.pb +83 -299
- package/.scannerwork/scanner-report/syntax-highlightings-17.pb +87 -30
- package/.scannerwork/scanner-report/syntax-highlightings-18.pb +209 -16
- package/.scannerwork/scanner-report/syntax-highlightings-19.pb +15 -104
- package/.scannerwork/scanner-report/syntax-highlightings-2.pb +109 -110
- package/.scannerwork/scanner-report/syntax-highlightings-20.pb +285 -0
- package/.scannerwork/scanner-report/syntax-highlightings-22.pb +82 -0
- package/.scannerwork/scanner-report/syntax-highlightings-24.pb +227 -0
- package/.scannerwork/scanner-report/syntax-highlightings-25.pb +50 -0
- package/.scannerwork/scanner-report/syntax-highlightings-26.pb +158 -0
- package/.scannerwork/scanner-report/syntax-highlightings-28.pb +68 -0
- package/.scannerwork/scanner-report/syntax-highlightings-30.pb +182 -0
- package/.scannerwork/scanner-report/syntax-highlightings-42.pb +572 -156
- package/.scannerwork/scanner-report/syntax-highlightings-43.pb +146 -180
- package/.scannerwork/scanner-report/syntax-highlightings-45.pb +134 -0
- package/.scannerwork/scanner-report/syntax-highlightings-46.pb +110 -0
- package/.scannerwork/scanner-report/syntax-highlightings-48.pb +26 -96
- package/.scannerwork/scanner-report/syntax-highlightings-49.pb +75 -24
- package/.scannerwork/scanner-report/syntax-highlightings-5.pb +183 -196
- package/.scannerwork/scanner-report/syntax-highlightings-50.pb +856 -33
- package/.scannerwork/scanner-report/syntax-highlightings-51.pb +60 -60
- package/.scannerwork/scanner-report/syntax-highlightings-52.pb +284 -168
- package/.scannerwork/scanner-report/syntax-highlightings-53.pb +46 -207
- package/.scannerwork/scanner-report/syntax-highlightings-54.pb +15 -57
- package/.scannerwork/scanner-report/syntax-highlightings-55.pb +219 -173
- package/.scannerwork/scanner-report/syntax-highlightings-56.pb +80 -83
- package/.scannerwork/scanner-report/syntax-highlightings-58.pb +108 -20
- package/.scannerwork/scanner-report/syntax-highlightings-6.pb +180 -65
- package/.scannerwork/scanner-report/syntax-highlightings-61.pb +3737 -105
- package/.scannerwork/scanner-report/syntax-highlightings-64.pb +624 -58
- package/.scannerwork/scanner-report/{syntax-highlightings-37.pb → syntax-highlightings-68.pb} +19 -19
- package/.scannerwork/scanner-report/syntax-highlightings-7.pb +35 -162
- package/.scannerwork/scanner-report/syntax-highlightings-8.pb +58 -121
- package/.scannerwork/scanner-report/syntax-highlightings-9.pb +57 -15
- package/.secrets.baseline +2 -2
- package/CHANGES.md +3 -0
- package/package.json +2 -2
- package/test-16-results.xml +148 -148
- package/test-18-results.xml +151 -151
- package/test-iam-18-results.xml +50 -50
- package/.scannerwork/scanner-report/changesets-3.pb +0 -1
- package/.scannerwork/scanner-report/changesets-31.pb +0 -1
- package/.scannerwork/scanner-report/changesets-32.pb +0 -1
- package/.scannerwork/scanner-report/changesets-33.pb +0 -1
- package/.scannerwork/scanner-report/changesets-34.pb +0 -1
- package/.scannerwork/scanner-report/changesets-35.pb +0 -1
- package/.scannerwork/scanner-report/changesets-38.pb +0 -1
- package/.scannerwork/scanner-report/changesets-4.pb +0 -1
- package/.scannerwork/scanner-report/changesets-57.pb +0 -1
- package/.scannerwork/scanner-report/changesets-59.pb +0 -1
- package/.scannerwork/scanner-report/changesets-60.pb +0 -1
- package/.scannerwork/scanner-report/changesets-61.pb +0 -1
- package/.scannerwork/scanner-report/changesets-65.pb +0 -1
- package/.scannerwork/scanner-report/changesets-66.pb +0 -1
- package/.scannerwork/scanner-report/component-3.pb +0 -1
- package/.scannerwork/scanner-report/component-31.pb +0 -1
- package/.scannerwork/scanner-report/component-32.pb +0 -1
- package/.scannerwork/scanner-report/component-33.pb +0 -1
- package/.scannerwork/scanner-report/component-34.pb +0 -1
- package/.scannerwork/scanner-report/component-35.pb +0 -1
- package/.scannerwork/scanner-report/component-37.pb +0 -1
- package/.scannerwork/scanner-report/component-38.pb +0 -1
- package/.scannerwork/scanner-report/component-4.pb +0 -1
- package/.scannerwork/scanner-report/component-57.pb +0 -1
- package/.scannerwork/scanner-report/component-59.pb +0 -1
- package/.scannerwork/scanner-report/component-60.pb +0 -1
- package/.scannerwork/scanner-report/component-65.pb +0 -1
- package/.scannerwork/scanner-report/component-66.pb +0 -1
- package/.scannerwork/scanner-report/component-67.pb +0 -1
- package/.scannerwork/scanner-report/coverages-33.pb +0 -0
- package/.scannerwork/scanner-report/coverages-35.pb +0 -0
- package/.scannerwork/scanner-report/coverages-38.pb +0 -0
- package/.scannerwork/scanner-report/coverages-4.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/coverages-60.pb +0 -0
- package/.scannerwork/scanner-report/coverages-61.pb +0 -0
- package/.scannerwork/scanner-report/coverages-66.pb +0 -0
- package/.scannerwork/scanner-report/duplications-54.pb +0 -2
- package/.scannerwork/scanner-report/duplications-57.pb +0 -2
- package/.scannerwork/scanner-report/duplications-65.pb +0 -0
- package/.scannerwork/scanner-report/duplications-66.pb +0 -0
- package/.scannerwork/scanner-report/measures-33.pb +0 -0
- package/.scannerwork/scanner-report/measures-35.pb +0 -0
- package/.scannerwork/scanner-report/measures-38.pb +0 -0
- package/.scannerwork/scanner-report/measures-4.pb +0 -0
- package/.scannerwork/scanner-report/measures-57.pb +0 -0
- package/.scannerwork/scanner-report/measures-59.pb +0 -0
- package/.scannerwork/scanner-report/measures-60.pb +0 -0
- package/.scannerwork/scanner-report/measures-66.pb +0 -0
- package/.scannerwork/scanner-report/measures-67.pb +0 -0
- package/.scannerwork/scanner-report/source-33.txt +0 -625
- package/.scannerwork/scanner-report/source-35.txt +0 -100
- package/.scannerwork/scanner-report/source-38.txt +0 -418
- package/.scannerwork/scanner-report/source-4.txt +0 -366
- package/.scannerwork/scanner-report/source-57.txt +0 -75
- package/.scannerwork/scanner-report/source-59.txt +0 -111
- package/.scannerwork/scanner-report/source-60.txt +0 -31
- package/.scannerwork/scanner-report/source-66.txt +0 -114
- package/.scannerwork/scanner-report/source-67.txt +0 -509
- package/.scannerwork/scanner-report/symbols-33.pb +0 -1254
- package/.scannerwork/scanner-report/symbols-35.pb +0 -69
- package/.scannerwork/scanner-report/symbols-38.pb +0 -610
- package/.scannerwork/scanner-report/symbols-4.pb +0 -494
- package/.scannerwork/scanner-report/symbols-57.pb +0 -42
- package/.scannerwork/scanner-report/symbols-59.pb +0 -59
- package/.scannerwork/scanner-report/symbols-60.pb +0 -14
- package/.scannerwork/scanner-report/symbols-61.pb +0 -42
- package/.scannerwork/scanner-report/symbols-66.pb +0 -28
- package/.scannerwork/scanner-report/syntax-highlightings-33.pb +0 -887
- package/.scannerwork/scanner-report/syntax-highlightings-35.pb +0 -105
- package/.scannerwork/scanner-report/syntax-highlightings-38.pb +0 -648
- package/.scannerwork/scanner-report/syntax-highlightings-4.pb +0 -630
- package/.scannerwork/scanner-report/syntax-highlightings-57.pb +0 -78
- package/.scannerwork/scanner-report/syntax-highlightings-59.pb +0 -133
- package/.scannerwork/scanner-report/syntax-highlightings-60.pb +0 -45
- package/.scannerwork/scanner-report/syntax-highlightings-66.pb +0 -138
- package/.scannerwork/scanner-report/syntax-highlightings-67.pb +0 -3747
- /package/.scannerwork/scanner-report/{coverages-65.pb → coverages-23.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-32.pb → coverages-27.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-3.pb → coverages-29.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-31.pb → coverages-44.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-34.pb → coverages-47.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-31.pb → duplications-20.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-32.pb → duplications-22.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-33.pb → duplications-23.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-34.pb → duplications-25.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-35.pb → duplications-27.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-38.pb → duplications-28.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-3.pb → duplications-29.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-4.pb → duplications-44.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-59.pb → duplications-45.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-60.pb → duplications-46.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-61.pb → duplications-47.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-15.pb → issues-28.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-4.pb → issues-42.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-19.pb → issues-45.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-16.pb → issues-52.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-65.pb → measures-23.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-32.pb → measures-27.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-3.pb → measures-29.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-31.pb → measures-44.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-34.pb → measures-47.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-37.pb → measures-68.pb} +0 -0
- /package/.scannerwork/scanner-report/{source-65.txt → source-23.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-32.txt → source-27.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-3.txt → source-29.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-31.txt → source-44.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-34.txt → source-47.txt} +0 -0
- /package/.scannerwork/scanner-report/{symbols-65.pb → symbols-23.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-32.pb → symbols-27.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-3.pb → symbols-29.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-31.pb → symbols-44.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-34.pb → symbols-47.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-65.pb → syntax-highlightings-23.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-32.pb → syntax-highlightings-27.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-3.pb → syntax-highlightings-29.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-31.pb → syntax-highlightings-44.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-34.pb → syntax-highlightings-47.pb} +0 -0
|
@@ -1,366 +0,0 @@
|
|
|
1
|
-
// Copyright © 2017, 2021 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 afterEach before after it */
|
|
16
|
-
'use strict';
|
|
17
|
-
|
|
18
|
-
const assert = require('assert');
|
|
19
|
-
const parser = require('../includes/parser.js');
|
|
20
|
-
|
|
21
|
-
describe('#unit Default parameters', function() {
|
|
22
|
-
let processEnvCopy;
|
|
23
|
-
let processArgvCopy;
|
|
24
|
-
|
|
25
|
-
before('Set process data for test', function() {
|
|
26
|
-
// Copy env and argv so we can reset them after the tests
|
|
27
|
-
processEnvCopy = JSON.parse(JSON.stringify(process.env));
|
|
28
|
-
processArgvCopy = JSON.parse(JSON.stringify(process.argv));
|
|
29
|
-
|
|
30
|
-
// setup environment variables
|
|
31
|
-
process.env.COUCH_URL = 'http://user:pass@myurl.com';
|
|
32
|
-
process.env.COUCH_DATABASE = 'mydb';
|
|
33
|
-
process.env.COUCH_BUFFER_SIZE = '1000';
|
|
34
|
-
process.env.COUCH_PARALLELISM = '20';
|
|
35
|
-
process.env.COUCH_REQUEST_TIMEOUT = '20000';
|
|
36
|
-
process.env.COUCH_LOG = 'my.log';
|
|
37
|
-
process.env.COUCH_RESUME = 'true';
|
|
38
|
-
process.env.COUCH_OUTPUT = 'myfile.txt';
|
|
39
|
-
process.env.COUCH_MODE = 'shallow';
|
|
40
|
-
process.env.CLOUDANT_IAM_API_KEY = 'ABC123-ZYX987_cba789-xyz321';
|
|
41
|
-
process.env.COUCH_QUIET = 'true';
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
after('Reset process data', function() {
|
|
45
|
-
process.env = processEnvCopy;
|
|
46
|
-
process.argv = processArgvCopy;
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
afterEach(function() {
|
|
50
|
-
delete require.cache[require.resolve('commander')];
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
describe('Backup command-line', function() {
|
|
54
|
-
it('respects the COUCH_URL env variable if the --url backup command-line parameter is missing', function(done) {
|
|
55
|
-
process.argv = ['node', 'test'];
|
|
56
|
-
const program = parser.parseBackupArgs();
|
|
57
|
-
assert.strictEqual(typeof program.url, 'string');
|
|
58
|
-
assert.strictEqual(program.url, process.env.COUCH_URL);
|
|
59
|
-
done();
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
it('respects the COUCH_DATABASE env variable if the --db backup command-line parameter is missing', function(done) {
|
|
63
|
-
process.argv = ['node', 'test'];
|
|
64
|
-
const program = parser.parseBackupArgs();
|
|
65
|
-
assert.strictEqual(typeof program.db, 'string');
|
|
66
|
-
assert.strictEqual(program.db, process.env.COUCH_DATABASE);
|
|
67
|
-
done();
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
it('respects the COUCH_BUFFER_SIZE env variable if the --buffer-size backup command-line parameter is missing', function(done) {
|
|
71
|
-
process.argv = ['node', 'test'];
|
|
72
|
-
const program = parser.parseBackupArgs();
|
|
73
|
-
assert.strictEqual(typeof program.bufferSize, 'number');
|
|
74
|
-
assert.strictEqual(program.bufferSize, parseInt(process.env.COUCH_BUFFER_SIZE, 10));
|
|
75
|
-
done();
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it('respects the COUCH_PARALLELISM env variable if the --parallelism backup command-line parameter is missing', function(done) {
|
|
79
|
-
process.argv = ['node', 'test'];
|
|
80
|
-
const program = parser.parseBackupArgs();
|
|
81
|
-
assert.strictEqual(typeof program.parallelism, 'number');
|
|
82
|
-
assert.strictEqual(program.parallelism, parseInt(process.env.COUCH_PARALLELISM, 10));
|
|
83
|
-
done();
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
it('respects the COUCH_REQUEST_TIMEOUT env variable if the --request-timeout backup command-line parameter is missing', function(done) {
|
|
87
|
-
process.argv = ['node', 'test'];
|
|
88
|
-
const program = parser.parseBackupArgs();
|
|
89
|
-
assert.strictEqual(typeof program.requestTimeout, 'number');
|
|
90
|
-
assert.strictEqual(program.requestTimeout, parseInt(process.env.COUCH_REQUEST_TIMEOUT, 10));
|
|
91
|
-
done();
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
it('respects the CLOUDANT_IAM_API_KEY env variable if the --iam-api-key backup command-line parameter is missing', function(done) {
|
|
95
|
-
process.argv = ['node', 'test'];
|
|
96
|
-
const program = parser.parseBackupArgs();
|
|
97
|
-
assert.strictEqual(typeof program.iamApiKey, 'string');
|
|
98
|
-
assert.strictEqual(program.iamApiKey, process.env.CLOUDANT_IAM_API_KEY);
|
|
99
|
-
done();
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
it('respects the COUCH_LOG env variable if the --log backup command-line parameter is missing', function(done) {
|
|
103
|
-
process.argv = ['node', 'test'];
|
|
104
|
-
const program = parser.parseBackupArgs();
|
|
105
|
-
assert.strictEqual(typeof program.log, 'string');
|
|
106
|
-
assert.strictEqual(program.log, process.env.COUCH_LOG);
|
|
107
|
-
done();
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
it('respects the COUCH_RESUME env variable if the --resume backup command-line parameter is missing', function(done) {
|
|
111
|
-
process.argv = ['node', 'test'];
|
|
112
|
-
const program = parser.parseBackupArgs();
|
|
113
|
-
assert.strictEqual(typeof program.resume, 'boolean');
|
|
114
|
-
assert.strictEqual(program.resume, true);
|
|
115
|
-
done();
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
it('respects the COUCH_OUTPUT env variable if the --output backup command-line parameter is missing', function(done) {
|
|
119
|
-
process.argv = ['node', 'test'];
|
|
120
|
-
const program = parser.parseBackupArgs();
|
|
121
|
-
assert.strictEqual(typeof program.output, 'string');
|
|
122
|
-
assert.strictEqual(program.output, process.env.COUCH_OUTPUT);
|
|
123
|
-
done();
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
it('respects the COUCH_MODE env variable if the --mode backup command-line parameter is missing', function(done) {
|
|
127
|
-
process.argv = ['node', 'test'];
|
|
128
|
-
const program = parser.parseBackupArgs();
|
|
129
|
-
assert.strictEqual(typeof program.mode, 'string');
|
|
130
|
-
assert.strictEqual(program.mode, process.env.COUCH_MODE);
|
|
131
|
-
done();
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
it('respects the COUCH_QUIET env variable if the --quiet backup command-line parameter is missing', function(done) {
|
|
135
|
-
process.argv = ['node', 'test'];
|
|
136
|
-
const program = parser.parseBackupArgs();
|
|
137
|
-
assert.strictEqual(typeof program.quiet, 'boolean');
|
|
138
|
-
assert.strictEqual(program.quiet, true);
|
|
139
|
-
done();
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
it('respects the backup --url command-line parameter', function(done) {
|
|
143
|
-
const url = 'http://user:pass@myurl2.com';
|
|
144
|
-
process.argv = ['node', 'test', '--url', url];
|
|
145
|
-
const program = parser.parseBackupArgs();
|
|
146
|
-
assert.strictEqual(typeof program.url, 'string');
|
|
147
|
-
assert.strictEqual(program.url, url);
|
|
148
|
-
done();
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
it('respects the backup --db command-line parameter', function(done) {
|
|
152
|
-
const db = 'mydb2';
|
|
153
|
-
process.argv = ['node', 'test', '--db', db];
|
|
154
|
-
const program = parser.parseBackupArgs();
|
|
155
|
-
assert.strictEqual(typeof program.db, 'string');
|
|
156
|
-
assert.strictEqual(program.db, db);
|
|
157
|
-
done();
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
it('respects the backup --buffer-size command-line parameter', function(done) {
|
|
161
|
-
const bufferSize = 500;
|
|
162
|
-
process.argv = ['node', 'test', '--buffer-size', bufferSize];
|
|
163
|
-
const program = parser.parseBackupArgs();
|
|
164
|
-
assert.strictEqual(typeof program.bufferSize, 'number');
|
|
165
|
-
assert.strictEqual(program.bufferSize, bufferSize);
|
|
166
|
-
done();
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
it('respects the backup --parallelism command-line parameter', function(done) {
|
|
170
|
-
const parallelism = 10;
|
|
171
|
-
process.argv = ['node', 'test', '--parallelism', parallelism];
|
|
172
|
-
const program = parser.parseBackupArgs();
|
|
173
|
-
assert.strictEqual(typeof program.parallelism, 'number');
|
|
174
|
-
assert.strictEqual(program.parallelism, parallelism);
|
|
175
|
-
done();
|
|
176
|
-
});
|
|
177
|
-
|
|
178
|
-
it('respects the backup --request-timeout command-line parameter', function(done) {
|
|
179
|
-
const requestTimeout = 10000;
|
|
180
|
-
process.argv = ['node', 'test', '--request-timeout', requestTimeout];
|
|
181
|
-
const program = parser.parseBackupArgs();
|
|
182
|
-
assert.strictEqual(typeof program.requestTimeout, 'number');
|
|
183
|
-
assert.strictEqual(program.requestTimeout, requestTimeout);
|
|
184
|
-
done();
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
it('respects the backup --iam-api-key command-line parameter', function(done) {
|
|
188
|
-
const key = '123abc-789zyx_CBA987-XYZ321';
|
|
189
|
-
process.argv = ['node', 'test', '--iam-api-key', key];
|
|
190
|
-
const program = parser.parseBackupArgs();
|
|
191
|
-
assert.strictEqual(typeof program.iamApiKey, 'string');
|
|
192
|
-
assert.strictEqual(program.iamApiKey, key);
|
|
193
|
-
done();
|
|
194
|
-
});
|
|
195
|
-
|
|
196
|
-
it('respects the backup --log command-line parameter', function(done) {
|
|
197
|
-
const filename = 'my2.log';
|
|
198
|
-
process.argv = ['node', 'test', '--log', filename];
|
|
199
|
-
const program = parser.parseBackupArgs();
|
|
200
|
-
assert.strictEqual(typeof program.log, 'string');
|
|
201
|
-
assert.strictEqual(program.log, filename);
|
|
202
|
-
done();
|
|
203
|
-
});
|
|
204
|
-
|
|
205
|
-
it('respects the backup --resume command-line parameter', function(done) {
|
|
206
|
-
process.argv = ['node', 'test', '--resume'];
|
|
207
|
-
const program = parser.parseBackupArgs();
|
|
208
|
-
assert.strictEqual(typeof program.resume, 'boolean');
|
|
209
|
-
assert.strictEqual(program.resume, true);
|
|
210
|
-
done();
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
it('respects the backup --output command-line parameter', function(done) {
|
|
214
|
-
const filename = 'myfile2.txt';
|
|
215
|
-
process.argv = ['node', 'test', '--output', filename];
|
|
216
|
-
const program = parser.parseBackupArgs();
|
|
217
|
-
assert.strictEqual(typeof program.output, 'string');
|
|
218
|
-
assert.strictEqual(program.output, filename);
|
|
219
|
-
done();
|
|
220
|
-
});
|
|
221
|
-
|
|
222
|
-
it('respects the backup --mode full command-line parameter', function(done) {
|
|
223
|
-
process.argv = ['node', 'test', '--mode', 'full'];
|
|
224
|
-
const program = parser.parseBackupArgs();
|
|
225
|
-
assert.strictEqual(typeof program.mode, 'string');
|
|
226
|
-
assert.strictEqual(program.mode, 'full');
|
|
227
|
-
done();
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
it('respects the backup --mode shallow command-line parameter', function(done) {
|
|
231
|
-
process.argv = ['node', 'test', '--mode', 'shallow'];
|
|
232
|
-
const program = parser.parseBackupArgs();
|
|
233
|
-
assert.strictEqual(typeof program.mode, 'string');
|
|
234
|
-
assert.strictEqual(program.mode, 'shallow');
|
|
235
|
-
done();
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
it('respects the backup --quiet command-line parameter', function(done) {
|
|
239
|
-
process.argv = ['node', 'test', '--quiet'];
|
|
240
|
-
const program = parser.parseBackupArgs();
|
|
241
|
-
assert.strictEqual(typeof program.quiet, 'boolean');
|
|
242
|
-
assert.strictEqual(program.quiet, true);
|
|
243
|
-
done();
|
|
244
|
-
});
|
|
245
|
-
});
|
|
246
|
-
|
|
247
|
-
describe('Restore command-line', function() {
|
|
248
|
-
it('respects the COUCH_URL env variable if the --url restore command-line parameter is missing', function(done) {
|
|
249
|
-
process.argv = ['node', 'test'];
|
|
250
|
-
const program = parser.parseRestoreArgs();
|
|
251
|
-
assert.strictEqual(typeof program.url, 'string');
|
|
252
|
-
assert.strictEqual(program.url, process.env.COUCH_URL);
|
|
253
|
-
done();
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
it('respects the COUCH_DATABASE env variable if the --db restore command-line parameter is missing', function(done) {
|
|
257
|
-
process.argv = ['node', 'test'];
|
|
258
|
-
const program = parser.parseRestoreArgs();
|
|
259
|
-
assert.strictEqual(typeof program.db, 'string');
|
|
260
|
-
assert.strictEqual(program.db, process.env.COUCH_DATABASE);
|
|
261
|
-
done();
|
|
262
|
-
});
|
|
263
|
-
|
|
264
|
-
it('respects the COUCH_BUFFER_SIZE env variable if the --buffer-size restore command-line parameter is missing', function(done) {
|
|
265
|
-
process.argv = ['node', 'test'];
|
|
266
|
-
const program = parser.parseRestoreArgs();
|
|
267
|
-
assert.strictEqual(typeof program.bufferSize, 'number');
|
|
268
|
-
assert.strictEqual(program.bufferSize, parseInt(process.env.COUCH_BUFFER_SIZE, 10));
|
|
269
|
-
done();
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
it('respects the COUCH_PARALLELISM env variable if the --parallelism restore command-line parameter is missing', function(done) {
|
|
273
|
-
process.argv = ['node', 'test'];
|
|
274
|
-
const program = parser.parseRestoreArgs();
|
|
275
|
-
assert.strictEqual(typeof program.parallelism, 'number');
|
|
276
|
-
assert.strictEqual(program.parallelism, parseInt(process.env.COUCH_PARALLELISM, 10));
|
|
277
|
-
done();
|
|
278
|
-
});
|
|
279
|
-
|
|
280
|
-
it('respects the COUCH_REQUEST_TIMEOUT env variable if the --request-timeout restore command-line parameter is missing', function(done) {
|
|
281
|
-
process.argv = ['node', 'test'];
|
|
282
|
-
const program = parser.parseRestoreArgs();
|
|
283
|
-
assert.strictEqual(typeof program.requestTimeout, 'number');
|
|
284
|
-
assert.strictEqual(program.requestTimeout, parseInt(process.env.COUCH_REQUEST_TIMEOUT, 10));
|
|
285
|
-
done();
|
|
286
|
-
});
|
|
287
|
-
|
|
288
|
-
it('respects the CLOUDANT_IAM_API_KEY env variable if the --iam-api-key restore command-line parameter is missing', function(done) {
|
|
289
|
-
process.argv = ['node', 'test'];
|
|
290
|
-
const program = parser.parseRestoreArgs();
|
|
291
|
-
assert.strictEqual(typeof program.iamApiKey, 'string');
|
|
292
|
-
assert.strictEqual(program.iamApiKey, process.env.CLOUDANT_IAM_API_KEY);
|
|
293
|
-
done();
|
|
294
|
-
});
|
|
295
|
-
|
|
296
|
-
it('respects the COUCH_QUIET env variable if the --quiet restorer command-line parameter is missing', function(done) {
|
|
297
|
-
process.argv = ['node', 'test'];
|
|
298
|
-
const program = parser.parseBackupArgs();
|
|
299
|
-
assert.strictEqual(typeof program.quiet, 'boolean');
|
|
300
|
-
assert.strictEqual(program.quiet, true);
|
|
301
|
-
done();
|
|
302
|
-
});
|
|
303
|
-
|
|
304
|
-
it('respects the restore --url command-line parameter', function(done) {
|
|
305
|
-
const url = 'https://a:b@myurl3.com';
|
|
306
|
-
process.argv = ['node', 'test', '--url', url];
|
|
307
|
-
const program = parser.parseRestoreArgs();
|
|
308
|
-
assert.strictEqual(typeof program.url, 'string');
|
|
309
|
-
assert.strictEqual(program.url, url);
|
|
310
|
-
done();
|
|
311
|
-
});
|
|
312
|
-
|
|
313
|
-
it('respects the restore --db command-line parameter', function(done) {
|
|
314
|
-
const db = 'mydb3';
|
|
315
|
-
process.argv = ['node', 'test', '--db', db];
|
|
316
|
-
const program = parser.parseRestoreArgs();
|
|
317
|
-
assert.strictEqual(typeof program.db, 'string');
|
|
318
|
-
assert.strictEqual(program.db, db);
|
|
319
|
-
done();
|
|
320
|
-
});
|
|
321
|
-
|
|
322
|
-
it('respects the restore --buffer-size command-line parameter', function(done) {
|
|
323
|
-
const bufferSize = 250;
|
|
324
|
-
process.argv = ['node', 'test', '--buffer-size', bufferSize];
|
|
325
|
-
const program = parser.parseRestoreArgs();
|
|
326
|
-
assert.strictEqual(typeof program.bufferSize, 'number');
|
|
327
|
-
assert.strictEqual(program.bufferSize, bufferSize);
|
|
328
|
-
done();
|
|
329
|
-
});
|
|
330
|
-
|
|
331
|
-
it('respects the restore --parallelism command-line parameter', function(done) {
|
|
332
|
-
const parallelism = 5;
|
|
333
|
-
process.argv = ['node', 'test', '--parallelism', parallelism];
|
|
334
|
-
const program = parser.parseRestoreArgs();
|
|
335
|
-
assert.strictEqual(typeof program.parallelism, 'number');
|
|
336
|
-
assert.strictEqual(program.parallelism, parallelism);
|
|
337
|
-
done();
|
|
338
|
-
});
|
|
339
|
-
|
|
340
|
-
it('respects the restore --request-timeout command-line parameter', function(done) {
|
|
341
|
-
const requestTimeout = 10000;
|
|
342
|
-
process.argv = ['node', 'test', '--request-timeout', requestTimeout];
|
|
343
|
-
const program = parser.parseRestoreArgs();
|
|
344
|
-
assert.strictEqual(typeof program.requestTimeout, 'number');
|
|
345
|
-
assert.strictEqual(program.requestTimeout, requestTimeout);
|
|
346
|
-
done();
|
|
347
|
-
});
|
|
348
|
-
|
|
349
|
-
it('respects the restore --iam-api-key command-line parameter', function(done) {
|
|
350
|
-
const key = '123abc-789zyx_CBA987-XYZ321';
|
|
351
|
-
process.argv = ['node', 'test', '--iam-api-key', key];
|
|
352
|
-
const program = parser.parseRestoreArgs();
|
|
353
|
-
assert.strictEqual(typeof program.iamApiKey, 'string');
|
|
354
|
-
assert.strictEqual(program.iamApiKey, key);
|
|
355
|
-
done();
|
|
356
|
-
});
|
|
357
|
-
|
|
358
|
-
it('respects the restore --quiet command-line parameter', function(done) {
|
|
359
|
-
process.argv = ['node', 'test', '--quiet'];
|
|
360
|
-
const program = parser.parseRestoreArgs();
|
|
361
|
-
assert.strictEqual(typeof program.quiet, 'boolean');
|
|
362
|
-
assert.strictEqual(program.quiet, true);
|
|
363
|
-
done();
|
|
364
|
-
});
|
|
365
|
-
});
|
|
366
|
-
});
|
|
@@ -1,75 +0,0 @@
|
|
|
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
|
-
'use strict';
|
|
15
|
-
|
|
16
|
-
const fs = require('fs');
|
|
17
|
-
const stream = require('stream');
|
|
18
|
-
const liner = require('./liner.js');
|
|
19
|
-
|
|
20
|
-
const onLine = function(onCommand, batches) {
|
|
21
|
-
const change = new stream.Transform({ objectMode: true });
|
|
22
|
-
change._transform = function(line, encoding, done) {
|
|
23
|
-
if (line && line[0] === ':') {
|
|
24
|
-
const obj = {
|
|
25
|
-
command: null,
|
|
26
|
-
batch: null,
|
|
27
|
-
docs: []
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
let matches;
|
|
31
|
-
|
|
32
|
-
// extract command
|
|
33
|
-
matches = line.match(/^:([a-z_]+) ?/);
|
|
34
|
-
if (matches) {
|
|
35
|
-
obj.command = matches[1];
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// extract batch
|
|
39
|
-
matches = line.match(/ batch([0-9]+)/);
|
|
40
|
-
if (matches) {
|
|
41
|
-
obj.batch = parseInt(matches[1]);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// if this is one we want
|
|
45
|
-
if (obj.command === 't' && batches.indexOf(obj.batch) > -1) {
|
|
46
|
-
const json = line.replace(/^.* batch[0-9]+ /, '').trim();
|
|
47
|
-
obj.docs = JSON.parse(json);
|
|
48
|
-
onCommand(obj);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
done();
|
|
52
|
-
};
|
|
53
|
-
return change;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
module.exports = function(log, batches, callback) {
|
|
57
|
-
// our sense of state
|
|
58
|
-
const retval = { };
|
|
59
|
-
|
|
60
|
-
// called with each line from the log file
|
|
61
|
-
const onCommand = function(obj) {
|
|
62
|
-
retval[obj.batch] = obj;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
// stream through the previous log file
|
|
66
|
-
fs.createReadStream(log)
|
|
67
|
-
.pipe(liner())
|
|
68
|
-
.pipe(onLine(onCommand, batches))
|
|
69
|
-
.on('error', function(err) {
|
|
70
|
-
callback(err);
|
|
71
|
-
})
|
|
72
|
-
.on('finish', function() {
|
|
73
|
-
callback(null, retval);
|
|
74
|
-
});
|
|
75
|
-
};
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
// Copyright © 2017, 2022 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
|
-
'use strict';
|
|
15
|
-
|
|
16
|
-
const fs = require('fs');
|
|
17
|
-
const liner = require('./liner.js');
|
|
18
|
-
const change = require('./change.js');
|
|
19
|
-
const error = require('./error.js');
|
|
20
|
-
const debug = require('debug')('couchbackup:spoolchanges');
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Write log file for all changes from a database, ready for downloading
|
|
24
|
-
* in batches.
|
|
25
|
-
*
|
|
26
|
-
* @param {string} dbUrl - URL of database
|
|
27
|
-
* @param {string} log - path to log file to use
|
|
28
|
-
* @param {number} bufferSize - the number of changes per batch/log line
|
|
29
|
-
* @param {function(err)} callback - a callback to run on completion
|
|
30
|
-
*/
|
|
31
|
-
module.exports = function(db, log, bufferSize, ee, callback) {
|
|
32
|
-
// list of document ids to process
|
|
33
|
-
const buffer = [];
|
|
34
|
-
let batch = 0;
|
|
35
|
-
let lastSeq = null;
|
|
36
|
-
const logStream = fs.createWriteStream(log);
|
|
37
|
-
let pending = 0;
|
|
38
|
-
// The number of changes to fetch per request
|
|
39
|
-
const limit = 100000;
|
|
40
|
-
|
|
41
|
-
// send documents ids to the queue in batches of bufferSize + the last batch
|
|
42
|
-
const processBuffer = function(lastOne) {
|
|
43
|
-
if (buffer.length >= bufferSize || (lastOne && buffer.length > 0)) {
|
|
44
|
-
debug('writing', buffer.length, 'changes to the backup file');
|
|
45
|
-
const b = { docs: buffer.splice(0, bufferSize), batch: batch };
|
|
46
|
-
logStream.write(':t batch' + batch + ' ' + JSON.stringify(b.docs) + '\n');
|
|
47
|
-
ee.emit('changes', batch);
|
|
48
|
-
batch++;
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
// called once per received change
|
|
53
|
-
const onChange = function(c) {
|
|
54
|
-
if (c) {
|
|
55
|
-
if (c.error) {
|
|
56
|
-
ee.emit('error', new error.BackupError('InvalidChange', `Received invalid change: ${c}`));
|
|
57
|
-
} else if (c.changes) {
|
|
58
|
-
const obj = { id: c.id };
|
|
59
|
-
buffer.push(obj);
|
|
60
|
-
processBuffer(false);
|
|
61
|
-
} else if (c.last_seq) {
|
|
62
|
-
lastSeq = c.last_seq;
|
|
63
|
-
pending = c.pending;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
function getChanges(since = 0) {
|
|
69
|
-
debug('making changes request since ' + since);
|
|
70
|
-
return db.service.postChangesAsStream({ db: db.db, since: since, limit: limit, seqInterval: limit })
|
|
71
|
-
.then(response => {
|
|
72
|
-
response.result.pipe(liner())
|
|
73
|
-
.on('error', function(err) {
|
|
74
|
-
logStream.end();
|
|
75
|
-
callback(err);
|
|
76
|
-
})
|
|
77
|
-
.pipe(change(onChange))
|
|
78
|
-
.on('error', function(err) {
|
|
79
|
-
logStream.end();
|
|
80
|
-
callback(err);
|
|
81
|
-
})
|
|
82
|
-
.on('finish', function() {
|
|
83
|
-
processBuffer(true);
|
|
84
|
-
if (!lastSeq) {
|
|
85
|
-
logStream.end();
|
|
86
|
-
debug('changes request terminated before last_seq was sent');
|
|
87
|
-
callback(new error.BackupError('SpoolChangesError', 'Changes request terminated before last_seq was sent'));
|
|
88
|
-
} else {
|
|
89
|
-
debug(`changes request completed with last_seq: ${lastSeq} and ${pending} changes pending.`);
|
|
90
|
-
if (pending > 0) {
|
|
91
|
-
// Return the next promise
|
|
92
|
-
return getChanges(lastSeq);
|
|
93
|
-
} else {
|
|
94
|
-
debug('finished streaming database changes');
|
|
95
|
-
logStream.end(':changes_complete ' + lastSeq + '\n', 'utf8', callback);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
})
|
|
100
|
-
.catch(err => {
|
|
101
|
-
logStream.end();
|
|
102
|
-
if (err.status && err.status >= 400) {
|
|
103
|
-
callback(error.convertResponseError(err));
|
|
104
|
-
} else if (err.name !== 'SpoolChangesError') {
|
|
105
|
-
callback(new error.BackupError('SpoolChangesError', `Failed changes request - ${err.message}`));
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
getChanges();
|
|
111
|
-
};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// Copyright © 2017, 2018 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
|
-
'use strict';
|
|
15
|
-
|
|
16
|
-
module.exports = function(db, options, readstream, ee, callback) {
|
|
17
|
-
const liner = require('../includes/liner.js')();
|
|
18
|
-
const writer = require('../includes/writer.js')(db, options.bufferSize, options.parallelism, ee);
|
|
19
|
-
|
|
20
|
-
// pipe the input to the output, via transformation functions
|
|
21
|
-
readstream
|
|
22
|
-
.pipe(liner) // transform the input stream into per-line
|
|
23
|
-
.on('error', function(err) {
|
|
24
|
-
// Forward the error to the writer event emitter where we already have
|
|
25
|
-
// listeners on for handling errors
|
|
26
|
-
writer.emit('error', err);
|
|
27
|
-
})
|
|
28
|
-
.pipe(writer); // transform the data
|
|
29
|
-
|
|
30
|
-
callback(null, writer);
|
|
31
|
-
};
|