@cloudant/couchbackup 2.9.8 → 2.9.9-SNAPSHOT.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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-10.pb +2 -0
- package/.scannerwork/scanner-report/changesets-38.pb +1 -0
- package/.scannerwork/scanner-report/changesets-39.pb +1 -0
- package/.scannerwork/scanner-report/changesets-40.pb +1 -0
- package/.scannerwork/scanner-report/changesets-55.pb +1 -0
- package/.scannerwork/scanner-report/changesets-56.pb +1 -0
- package/.scannerwork/scanner-report/changesets-59.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-62.pb +1 -0
- package/.scannerwork/scanner-report/changesets-63.pb +1 -0
- package/.scannerwork/scanner-report/changesets-64.pb +1 -0
- package/.scannerwork/scanner-report/changesets-67.pb +1 -0
- package/.scannerwork/scanner-report/component-1.pb +2 -1
- package/.scannerwork/scanner-report/component-10.pb +2 -0
- package/.scannerwork/scanner-report/component-2.pb +1 -0
- package/.scannerwork/scanner-report/component-24.pb +1 -1
- package/.scannerwork/scanner-report/component-25.pb +1 -1
- package/.scannerwork/scanner-report/component-26.pb +1 -1
- package/.scannerwork/scanner-report/component-27.pb +1 -1
- package/.scannerwork/scanner-report/component-28.pb +1 -1
- package/.scannerwork/scanner-report/component-29.pb +1 -1
- package/.scannerwork/scanner-report/component-30.pb +1 -1
- package/.scannerwork/scanner-report/component-32.pb +1 -1
- package/.scannerwork/scanner-report/component-33.pb +1 -1
- package/.scannerwork/scanner-report/component-34.pb +1 -1
- package/.scannerwork/scanner-report/component-35.pb +1 -1
- package/.scannerwork/scanner-report/component-36.pb +1 -1
- package/.scannerwork/scanner-report/component-37.pb +1 -1
- package/.scannerwork/scanner-report/component-38.pb +1 -1
- package/.scannerwork/scanner-report/component-39.pb +1 -0
- 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-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-54.pb +1 -1
- package/.scannerwork/scanner-report/component-55.pb +1 -1
- package/.scannerwork/scanner-report/component-56.pb +1 -0
- package/.scannerwork/scanner-report/component-57.pb +1 -1
- package/.scannerwork/scanner-report/component-58.pb +1 -1
- package/.scannerwork/scanner-report/component-59.pb +1 -1
- package/.scannerwork/scanner-report/component-6.pb +1 -1
- package/.scannerwork/scanner-report/component-60.pb +1 -0
- package/.scannerwork/scanner-report/component-61.pb +1 -1
- package/.scannerwork/scanner-report/component-62.pb +1 -0
- package/.scannerwork/scanner-report/component-63.pb +1 -0
- package/.scannerwork/scanner-report/component-64.pb +1 -0
- package/.scannerwork/scanner-report/component-65.pb +1 -1
- package/.scannerwork/scanner-report/component-66.pb +1 -1
- package/.scannerwork/scanner-report/component-67.pb +1 -0
- package/.scannerwork/scanner-report/component-7.pb +1 -1
- package/.scannerwork/scanner-report/component-9.pb +1 -0
- package/.scannerwork/scanner-report/coverages-10.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-27.pb +0 -0
- package/.scannerwork/scanner-report/coverages-28.pb +0 -0
- package/.scannerwork/scanner-report/coverages-29.pb +0 -0
- package/.scannerwork/scanner-report/coverages-30.pb +0 -0
- package/.scannerwork/scanner-report/coverages-32.pb +0 -0
- package/.scannerwork/scanner-report/coverages-33.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-37.pb +0 -0
- package/.scannerwork/scanner-report/coverages-39.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-48.pb +0 -0
- package/.scannerwork/scanner-report/coverages-49.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-57.pb +0 -0
- package/.scannerwork/scanner-report/coverages-58.pb +0 -0
- package/.scannerwork/scanner-report/coverages-59.pb +0 -0
- package/.scannerwork/scanner-report/coverages-61.pb +0 -0
- package/.scannerwork/scanner-report/coverages-62.pb +0 -0
- package/.scannerwork/scanner-report/coverages-63.pb +0 -0
- package/.scannerwork/scanner-report/coverages-65.pb +0 -0
- package/.scannerwork/scanner-report/coverages-7.pb +0 -0
- package/.scannerwork/scanner-report/duplications-22.pb +2 -2
- package/.scannerwork/scanner-report/duplications-26.pb +2 -0
- package/.scannerwork/scanner-report/duplications-28.pb +3 -0
- package/.scannerwork/scanner-report/duplications-29.pb +2 -0
- package/.scannerwork/scanner-report/duplications-32.pb +0 -2
- package/.scannerwork/scanner-report/duplications-36.pb +0 -2
- package/.scannerwork/scanner-report/duplications-41.pb +3 -0
- package/.scannerwork/scanner-report/duplications-42.pb +2 -0
- package/.scannerwork/scanner-report/duplications-48.pb +2 -0
- package/.scannerwork/scanner-report/duplications-49.pb +2 -0
- package/.scannerwork/scanner-report/duplications-55.pb +2 -0
- package/.scannerwork/scanner-report/duplications-60.pb +2 -0
- package/.scannerwork/scanner-report/duplications-62.pb +0 -0
- package/.scannerwork/scanner-report/duplications-63.pb +0 -0
- package/.scannerwork/scanner-report/duplications-64.pb +0 -0
- package/.scannerwork/scanner-report/duplications-65.pb +0 -2
- package/.scannerwork/scanner-report/duplications-67.pb +0 -0
- package/.scannerwork/scanner-report/measures-10.pb +0 -0
- package/.scannerwork/scanner-report/measures-2.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-27.pb +0 -0
- package/.scannerwork/scanner-report/measures-28.pb +0 -0
- package/.scannerwork/scanner-report/measures-29.pb +0 -0
- package/.scannerwork/scanner-report/measures-30.pb +0 -0
- package/.scannerwork/scanner-report/measures-32.pb +0 -0
- package/.scannerwork/scanner-report/measures-33.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 +0 -0
- package/.scannerwork/scanner-report/measures-37.pb +0 -0
- package/.scannerwork/scanner-report/measures-38.pb +0 -0
- package/.scannerwork/scanner-report/measures-39.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-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-57.pb +0 -0
- package/.scannerwork/scanner-report/measures-58.pb +0 -0
- package/.scannerwork/scanner-report/measures-59.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-62.pb +0 -0
- package/.scannerwork/scanner-report/measures-63.pb +0 -0
- package/.scannerwork/scanner-report/measures-65.pb +0 -0
- package/.scannerwork/scanner-report/measures-66.pb +0 -0
- package/.scannerwork/scanner-report/measures-7.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-4.txt → source-10.txt} +8 -13
- package/.scannerwork/scanner-report/source-2.txt +167 -0
- package/.scannerwork/scanner-report/source-24.txt +17 -607
- package/.scannerwork/scanner-report/source-25.txt +14 -7
- package/.scannerwork/scanner-report/source-26.txt +264 -34
- package/.scannerwork/scanner-report/source-27.txt +125 -19
- package/.scannerwork/scanner-report/source-28.txt +114 -125
- package/.scannerwork/scanner-report/source-29.txt +121 -342
- package/.scannerwork/scanner-report/source-30.txt +38 -11
- package/.scannerwork/scanner-report/source-32.txt +16 -127
- package/.scannerwork/scanner-report/source-33.txt +111 -120
- package/.scannerwork/scanner-report/source-34.txt +348 -50
- package/.scannerwork/scanner-report/source-35.txt +27 -127
- package/.scannerwork/scanner-report/source-36.txt +43 -200
- package/.scannerwork/scanner-report/source-37.txt +15 -93
- package/.scannerwork/scanner-report/source-38.txt +68 -167
- package/.scannerwork/scanner-report/source-39.txt +156 -0
- package/.scannerwork/scanner-report/source-40.txt +625 -509
- package/.scannerwork/scanner-report/source-41.txt +230 -17
- package/.scannerwork/scanner-report/source-42.txt +199 -78
- package/.scannerwork/scanner-report/source-48.txt +149 -92
- package/.scannerwork/scanner-report/source-49.txt +168 -107
- package/.scannerwork/scanner-report/source-5.txt +509 -244
- package/.scannerwork/scanner-report/source-50.txt +53 -257
- package/.scannerwork/scanner-report/source-51.txt +37 -61
- package/.scannerwork/scanner-report/source-52.txt +32 -89
- package/.scannerwork/scanner-report/source-54.txt +246 -129
- package/.scannerwork/scanner-report/source-55.txt +75 -509
- package/.scannerwork/scanner-report/source-57.txt +96 -55
- package/.scannerwork/scanner-report/source-58.txt +61 -37
- package/.scannerwork/scanner-report/source-59.txt +104 -509
- package/.scannerwork/scanner-report/source-6.txt +509 -68
- package/.scannerwork/scanner-report/source-61.txt +164 -509
- package/.scannerwork/scanner-report/source-62.txt +129 -0
- package/.scannerwork/scanner-report/source-63.txt +111 -0
- package/.scannerwork/scanner-report/source-65.txt +14 -173
- package/.scannerwork/scanner-report/source-66.txt +509 -175
- package/.scannerwork/scanner-report/source-7.txt +96 -29
- package/.scannerwork/scanner-report/source-9.txt +509 -0
- package/.scannerwork/scanner-report/symbols-10.pb +9 -0
- package/.scannerwork/scanner-report/symbols-24.pb +16 -1253
- package/.scannerwork/scanner-report/symbols-25.pb +13 -8
- package/.scannerwork/scanner-report/symbols-26.pb +485 -42
- package/.scannerwork/scanner-report/symbols-27.pb +116 -11
- package/.scannerwork/scanner-report/symbols-28.pb +97 -116
- package/.scannerwork/scanner-report/symbols-29.pb +102 -494
- package/.scannerwork/scanner-report/symbols-30.pb +43 -14
- package/.scannerwork/scanner-report/symbols-32.pb +10 -102
- package/.scannerwork/scanner-report/symbols-33.pb +80 -107
- package/.scannerwork/scanner-report/symbols-34.pb +494 -36
- package/.scannerwork/scanner-report/symbols-35.pb +27 -85
- package/.scannerwork/scanner-report/symbols-36.pb +35 -417
- package/.scannerwork/scanner-report/symbols-37.pb +11 -28
- package/.scannerwork/scanner-report/symbols-39.pb +112 -0
- package/.scannerwork/scanner-report/symbols-40.pb +1254 -0
- package/.scannerwork/scanner-report/symbols-41.pb +393 -13
- package/.scannerwork/scanner-report/symbols-42.pb +417 -41
- package/.scannerwork/scanner-report/symbols-48.pb +153 -30
- package/.scannerwork/scanner-report/symbols-49.pb +180 -33
- package/.scannerwork/scanner-report/symbols-50.pb +30 -354
- package/.scannerwork/scanner-report/symbols-51.pb +18 -45
- package/.scannerwork/scanner-report/symbols-52.pb +14 -58
- package/.scannerwork/scanner-report/symbols-54.pb +353 -125
- package/.scannerwork/scanner-report/symbols-57.pb +30 -30
- package/.scannerwork/scanner-report/symbols-58.pb +45 -18
- package/.scannerwork/scanner-report/symbols-59.pb +42 -0
- package/.scannerwork/scanner-report/symbols-61.pb +126 -0
- package/.scannerwork/scanner-report/symbols-62.pb +33 -0
- package/.scannerwork/scanner-report/symbols-63.pb +59 -0
- package/.scannerwork/scanner-report/symbols-65.pb +14 -180
- package/.scannerwork/scanner-report/symbols-7.pb +27 -26
- package/.scannerwork/scanner-report/{syntax-highlightings-4.pb → syntax-highlightings-10.pb} +13 -15
- package/.scannerwork/scanner-report/syntax-highlightings-2.pb +949 -0
- package/.scannerwork/scanner-report/syntax-highlightings-24.pb +27 -851
- package/.scannerwork/scanner-report/syntax-highlightings-25.pb +18 -12
- package/.scannerwork/scanner-report/syntax-highlightings-26.pb +623 -46
- package/.scannerwork/scanner-report/syntax-highlightings-27.pb +100 -25
- package/.scannerwork/scanner-report/syntax-highlightings-28.pb +147 -99
- package/.scannerwork/scanner-report/syntax-highlightings-29.pb +189 -592
- package/.scannerwork/scanner-report/syntax-highlightings-30.pb +47 -19
- package/.scannerwork/scanner-report/syntax-highlightings-32.pb +14 -191
- package/.scannerwork/scanner-report/syntax-highlightings-33.pb +146 -178
- package/.scannerwork/scanner-report/syntax-highlightings-34.pb +593 -58
- package/.scannerwork/scanner-report/syntax-highlightings-35.pb +28 -151
- package/.scannerwork/scanner-report/syntax-highlightings-36.pb +58 -294
- package/.scannerwork/scanner-report/syntax-highlightings-37.pb +24 -103
- package/.scannerwork/scanner-report/syntax-highlightings-38.pb +99 -937
- package/.scannerwork/scanner-report/syntax-highlightings-39.pb +223 -0
- package/.scannerwork/scanner-report/syntax-highlightings-40.pb +536 -3398
- package/.scannerwork/scanner-report/syntax-highlightings-41.pb +299 -15
- package/.scannerwork/scanner-report/syntax-highlightings-42.pb +299 -84
- package/.scannerwork/scanner-report/syntax-highlightings-48.pb +184 -83
- package/.scannerwork/scanner-report/syntax-highlightings-49.pb +192 -96
- package/.scannerwork/scanner-report/syntax-highlightings-5.pb +3640 -222
- package/.scannerwork/scanner-report/syntax-highlightings-50.pb +73 -255
- package/.scannerwork/scanner-report/syntax-highlightings-51.pb +61 -74
- package/.scannerwork/scanner-report/syntax-highlightings-52.pb +20 -99
- package/.scannerwork/scanner-report/syntax-highlightings-54.pb +209 -137
- package/.scannerwork/scanner-report/syntax-highlightings-55.pb +67 -3735
- package/.scannerwork/scanner-report/syntax-highlightings-57.pb +94 -84
- package/.scannerwork/scanner-report/syntax-highlightings-58.pb +74 -61
- package/.scannerwork/scanner-report/syntax-highlightings-59.pb +105 -3736
- package/.scannerwork/scanner-report/syntax-highlightings-6.pb +3737 -99
- package/.scannerwork/scanner-report/syntax-highlightings-61.pb +192 -3727
- package/.scannerwork/scanner-report/syntax-highlightings-62.pb +129 -0
- package/.scannerwork/scanner-report/syntax-highlightings-63.pb +133 -0
- package/.scannerwork/scanner-report/syntax-highlightings-65.pb +15 -195
- package/.scannerwork/scanner-report/syntax-highlightings-66.pb +3732 -199
- package/.scannerwork/scanner-report/syntax-highlightings-7.pb +103 -33
- package/.scannerwork/scanner-report/syntax-highlightings-9.pb +3749 -0
- package/package.json +4 -4
- package/test-14-results.xml +152 -152
- package/test-16-results.xml +156 -156
- package/test-18-results.xml +153 -153
- package/test-19-results.xml +147 -147
- package/test-iam-18-results.xml +50 -50
- package/.scannerwork/scanner-report/changesets-19.pb +0 -1
- package/.scannerwork/scanner-report/changesets-20.pb +0 -1
- package/.scannerwork/scanner-report/changesets-21.pb +0 -1
- package/.scannerwork/scanner-report/changesets-4.pb +0 -1
- package/.scannerwork/scanner-report/changesets-43.pb +0 -1
- package/.scannerwork/scanner-report/changesets-44.pb +0 -1
- package/.scannerwork/scanner-report/changesets-45.pb +0 -1
- package/.scannerwork/scanner-report/changesets-46.pb +0 -1
- package/.scannerwork/scanner-report/changesets-47.pb +0 -1
- package/.scannerwork/scanner-report/changesets-5.pb +0 -1
- package/.scannerwork/scanner-report/changesets-6.pb +0 -1
- package/.scannerwork/scanner-report/changesets-66.pb +0 -1
- package/.scannerwork/scanner-report/changesets-69.pb +0 -1
- package/.scannerwork/scanner-report/component-19.pb +0 -1
- package/.scannerwork/scanner-report/component-20.pb +0 -1
- package/.scannerwork/scanner-report/component-21.pb +0 -1
- package/.scannerwork/scanner-report/component-4.pb +0 -1
- package/.scannerwork/scanner-report/component-43.pb +0 -1
- package/.scannerwork/scanner-report/component-44.pb +0 -1
- package/.scannerwork/scanner-report/component-45.pb +0 -1
- package/.scannerwork/scanner-report/component-46.pb +0 -1
- package/.scannerwork/scanner-report/component-47.pb +0 -1
- package/.scannerwork/scanner-report/component-69.pb +0 -1
- package/.scannerwork/scanner-report/coverages-19.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-4.pb +0 -0
- package/.scannerwork/scanner-report/coverages-46.pb +0 -0
- package/.scannerwork/scanner-report/coverages-5.pb +0 -0
- package/.scannerwork/scanner-report/coverages-66.pb +0 -0
- package/.scannerwork/scanner-report/duplications-19.pb +0 -3
- package/.scannerwork/scanner-report/duplications-21.pb +0 -2
- package/.scannerwork/scanner-report/duplications-43.pb +0 -2
- package/.scannerwork/scanner-report/duplications-45.pb +0 -2
- package/.scannerwork/scanner-report/duplications-5.pb +0 -3
- package/.scannerwork/scanner-report/duplications-66.pb +0 -2
- package/.scannerwork/scanner-report/measures-19.pb +0 -0
- package/.scannerwork/scanner-report/measures-20.pb +0 -0
- package/.scannerwork/scanner-report/measures-21.pb +0 -15
- package/.scannerwork/scanner-report/measures-4.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/source-19.txt +0 -131
- package/.scannerwork/scanner-report/source-20.txt +0 -35
- package/.scannerwork/scanner-report/source-21.txt +0 -293
- package/.scannerwork/scanner-report/source-45.txt +0 -75
- package/.scannerwork/scanner-report/source-46.txt +0 -54
- package/.scannerwork/scanner-report/symbols-19.pb +0 -97
- package/.scannerwork/scanner-report/symbols-20.pb +0 -17
- package/.scannerwork/scanner-report/symbols-21.pb +0 -486
- package/.scannerwork/scanner-report/symbols-4.pb +0 -10
- package/.scannerwork/scanner-report/symbols-46.pb +0 -15
- package/.scannerwork/scanner-report/symbols-5.pb +0 -394
- package/.scannerwork/scanner-report/symbols-66.pb +0 -153
- package/.scannerwork/scanner-report/syntax-highlightings-19.pb +0 -182
- package/.scannerwork/scanner-report/syntax-highlightings-20.pb +0 -63
- package/.scannerwork/scanner-report/syntax-highlightings-21.pb +0 -659
- package/.scannerwork/scanner-report/syntax-highlightings-45.pb +0 -78
- package/.scannerwork/scanner-report/syntax-highlightings-46.pb +0 -54
- /package/.scannerwork/scanner-report/{coverages-6.pb → coverages-38.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-45.pb → coverages-55.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-47.pb → coverages-56.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-43.pb → coverages-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-44.pb → coverages-64.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-69.pb → coverages-67.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-20.pb → duplications-25.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-4.pb → duplications-38.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-44.pb → duplications-39.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-46.pb → duplications-40.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-47.pb → duplications-56.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-6.pb → duplications-59.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-69.pb → duplications-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-28.pb → issues-27.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-29.pb → issues-34.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-7.pb → issues-35.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-5.pb → issues-41.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-47.pb → measures-56.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-43.pb → measures-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-44.pb → measures-64.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-69.pb → measures-67.pb} +0 -0
- /package/.scannerwork/scanner-report/{source-47.txt → source-56.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-43.txt → source-60.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-44.txt → source-64.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-69.txt → source-67.txt} +0 -0
- /package/.scannerwork/scanner-report/{symbols-6.pb → symbols-38.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-45.pb → symbols-55.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-47.pb → symbols-56.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-43.pb → symbols-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-44.pb → symbols-64.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-69.pb → symbols-67.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-47.pb → syntax-highlightings-56.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-43.pb → syntax-highlightings-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-44.pb → syntax-highlightings-64.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-69.pb → syntax-highlightings-67.pb} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright © 2017,
|
|
1
|
+
// Copyright © 2017, 2022 IBM Corp. All rights reserved.
|
|
2
2
|
//
|
|
3
3
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
// you may not use this file except in compliance with the License.
|
|
@@ -12,355 +12,134 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
-
/* global describe
|
|
15
|
+
/* global describe it beforeEach */
|
|
16
16
|
'use strict';
|
|
17
17
|
|
|
18
18
|
const assert = require('assert');
|
|
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
|
-
process.env = processEnvCopy;
|
|
46
|
-
process.argv = processArgvCopy;
|
|
19
|
+
const backup = require('../includes/shallowbackup.js');
|
|
20
|
+
const request = require('../includes/request.js');
|
|
21
|
+
const fs = require('fs');
|
|
22
|
+
const nock = require('nock');
|
|
23
|
+
|
|
24
|
+
// Function to create a DB object and call the shallow backup function
|
|
25
|
+
// This is normally done by app.js
|
|
26
|
+
function shallowBackup(dbUrl, opts) {
|
|
27
|
+
const db = request.client(dbUrl, opts);
|
|
28
|
+
// Disable compression to make body assertions easier
|
|
29
|
+
db.service.setEnableGzipCompression(false);
|
|
30
|
+
return backup(db, opts);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Note all these tests include a body parameter of include_docs and a query
|
|
34
|
+
// string of include_docs because of a quirk of nano that when using the fetch
|
|
35
|
+
// method always adds the include_docs query string.
|
|
36
|
+
describe('#unit Perform backup using shallow backup', function() {
|
|
37
|
+
const dbUrl = 'http://localhost:5984/animaldb';
|
|
38
|
+
// Query string keys are stringified by Nano
|
|
39
|
+
const badgerKey = 'badger\0';
|
|
40
|
+
const kookaburraKey = 'kookaburra\0';
|
|
41
|
+
const snipeKey = 'snipe\0';
|
|
42
|
+
|
|
43
|
+
beforeEach('Reset nocks', function() {
|
|
44
|
+
nock.cleanAll();
|
|
47
45
|
});
|
|
48
46
|
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
it('should perform a shallow backup', function(done) {
|
|
48
|
+
const couch = nock(dbUrl)
|
|
49
|
+
// batch 1
|
|
50
|
+
.post('/_all_docs', { limit: 3, include_docs: true })
|
|
51
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_1.json', 'utf8')))
|
|
52
|
+
// batch 2
|
|
53
|
+
.post('/_all_docs', { limit: 3, start_key: badgerKey, include_docs: true })
|
|
54
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_2.json', 'utf8')))
|
|
55
|
+
// batch 3
|
|
56
|
+
.post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
|
|
57
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_3.json', 'utf8')))
|
|
58
|
+
// batch 4
|
|
59
|
+
.post('/_all_docs', { limit: 3, start_key: snipeKey, include_docs: true })
|
|
60
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_4.json', 'utf8')));
|
|
61
|
+
|
|
62
|
+
shallowBackup(dbUrl, { bufferSize: 3, parallelism: 1 })
|
|
63
|
+
.on('error', function(err) {
|
|
64
|
+
assert.fail(err);
|
|
65
|
+
})
|
|
66
|
+
.on('received', function(data) {
|
|
67
|
+
if (data.batch === 3) {
|
|
68
|
+
assert.strictEqual(data.length, 2); // smaller last batch
|
|
69
|
+
} else {
|
|
70
|
+
assert.strictEqual(data.length, 3);
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
.on('finished', function(data) {
|
|
74
|
+
assert.strictEqual(data.total, 11);
|
|
75
|
+
assert.ok(couch.isDone());
|
|
76
|
+
done();
|
|
77
|
+
});
|
|
51
78
|
});
|
|
52
79
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
});
|
|
80
|
+
it('should perform a shallow backup with transient error', function(done) {
|
|
81
|
+
const couch = nock(dbUrl)
|
|
82
|
+
// batch 1
|
|
83
|
+
.post('/_all_docs', { limit: 3, include_docs: true })
|
|
84
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_1.json', 'utf8')))
|
|
85
|
+
// batch 2
|
|
86
|
+
.post('/_all_docs', { limit: 3, start_key: badgerKey, include_docs: true })
|
|
87
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_2.json', 'utf8')))
|
|
88
|
+
// batch 3 - transient error
|
|
89
|
+
.post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
|
|
90
|
+
.reply(500, { error: 'Internal Server Error' })
|
|
91
|
+
// batch 3 - retry
|
|
92
|
+
.post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
|
|
93
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_3.json', 'utf8')))
|
|
94
|
+
// batch 4
|
|
95
|
+
.post('/_all_docs', { limit: 3, start_key: snipeKey, include_docs: true })
|
|
96
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_4.json', 'utf8')));
|
|
97
|
+
|
|
98
|
+
shallowBackup(dbUrl, { bufferSize: 3, parallelism: 1 })
|
|
99
|
+
.on('error', function(err) {
|
|
100
|
+
assert.strictEqual(err.name, 'HTTPError');
|
|
101
|
+
})
|
|
102
|
+
.on('received', function(data) {
|
|
103
|
+
if (data.batch === 3) {
|
|
104
|
+
assert.strictEqual(data.length, 2); // smaller last batch
|
|
105
|
+
} else {
|
|
106
|
+
assert.strictEqual(data.length, 3);
|
|
107
|
+
}
|
|
108
|
+
})
|
|
109
|
+
.on('finished', function(data) {
|
|
110
|
+
assert.strictEqual(data.total, 11);
|
|
111
|
+
assert.ok(couch.isDone());
|
|
112
|
+
done();
|
|
113
|
+
});
|
|
245
114
|
});
|
|
246
115
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
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
|
-
});
|
|
116
|
+
it('should fail to perform a shallow backup on fatal error', function(done) {
|
|
117
|
+
const couch = nock(dbUrl)
|
|
118
|
+
// batch 1
|
|
119
|
+
.post('/_all_docs', { limit: 3, include_docs: true })
|
|
120
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_1.json', 'utf8')))
|
|
121
|
+
// batch 2
|
|
122
|
+
.post('/_all_docs', { limit: 3, start_key: badgerKey, include_docs: true })
|
|
123
|
+
.reply(200, JSON.parse(fs.readFileSync('./test/fixtures/animaldb_all_docs_2.json', 'utf8')))
|
|
124
|
+
// batch 3 - fatal error
|
|
125
|
+
.post('/_all_docs', { limit: 3, start_key: kookaburraKey, include_docs: true })
|
|
126
|
+
.reply(401, { error: 'Unauthorized' });
|
|
127
|
+
|
|
128
|
+
let errCount = 0;
|
|
129
|
+
|
|
130
|
+
shallowBackup(dbUrl, { bufferSize: 3, parallelism: 1 })
|
|
131
|
+
.on('error', function(err) {
|
|
132
|
+
errCount++;
|
|
133
|
+
assert.strictEqual(err.name, 'Unauthorized');
|
|
134
|
+
})
|
|
135
|
+
.on('received', function(data) {
|
|
136
|
+
assert.strictEqual(data.length, 3);
|
|
137
|
+
})
|
|
138
|
+
.on('finished', function(data) {
|
|
139
|
+
assert.strictEqual(data.total, 6);
|
|
140
|
+
assert.ok(couch.isDone());
|
|
141
|
+
assert.strictEqual(errCount, 1);
|
|
142
|
+
done();
|
|
143
|
+
});
|
|
365
144
|
});
|
|
366
145
|
});
|
|
@@ -15,22 +15,49 @@
|
|
|
15
15
|
/* global describe it */
|
|
16
16
|
'use strict';
|
|
17
17
|
|
|
18
|
+
const fs = require('fs');
|
|
18
19
|
const u = require('./citestutils.js');
|
|
19
20
|
|
|
20
|
-
describe('
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
u.setTimeout(this, 60);
|
|
27
|
-
const encryptedBackup = `./${this.fileName}`;
|
|
28
|
-
u.testBackupAndRestoreViaFile(p, 'animaldb', encryptedBackup, this.dbName, function(err) {
|
|
21
|
+
describe('Event tests', function() {
|
|
22
|
+
it('should get a finished event when using stdout', function(done) {
|
|
23
|
+
u.setTimeout(this, 40);
|
|
24
|
+
// Use the API so we can get events
|
|
25
|
+
const params = { useApi: true };
|
|
26
|
+
const backup = u.testBackup(params, 'animaldb', process.stdout, function(err) {
|
|
29
27
|
if (err) {
|
|
30
28
|
done(err);
|
|
31
|
-
} else {
|
|
32
|
-
u.assertEncryptedFile(encryptedBackup, done);
|
|
33
29
|
}
|
|
34
30
|
});
|
|
31
|
+
backup.on('finished', function() {
|
|
32
|
+
try {
|
|
33
|
+
// Test will time out if the finished event is not emitted
|
|
34
|
+
done();
|
|
35
|
+
} catch (err) {
|
|
36
|
+
done(err);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
it('should get a finished event when using file output', function(done) {
|
|
41
|
+
u.setTimeout(this, 40);
|
|
42
|
+
// Use the API so we can get events
|
|
43
|
+
const params = { useApi: true };
|
|
44
|
+
const actualBackup = `./${this.fileName}`;
|
|
45
|
+
// Create a file and backup to it
|
|
46
|
+
const output = fs.createWriteStream(actualBackup);
|
|
47
|
+
output.on('open', function() {
|
|
48
|
+
const backup = u.testBackup(params, 'animaldb', output, function(err) {
|
|
49
|
+
if (err) {
|
|
50
|
+
done(err);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
backup.on('finished', function() {
|
|
54
|
+
try {
|
|
55
|
+
// Test will time out if the finished event is not emitted
|
|
56
|
+
done();
|
|
57
|
+
} catch (err) {
|
|
58
|
+
done(err);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
35
62
|
});
|
|
36
63
|
});
|