@cloudant/couchbackup 2.9.8 → 2.9.9-SNAPSHOT.96
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/changesets-10.pb +2 -0
- package/.scannerwork/scanner-report/changesets-11.pb +1 -0
- package/.scannerwork/scanner-report/changesets-12.pb +1 -0
- package/.scannerwork/scanner-report/changesets-13.pb +1 -0
- package/.scannerwork/scanner-report/changesets-14.pb +1 -0
- package/.scannerwork/scanner-report/changesets-15.pb +1 -0
- package/.scannerwork/scanner-report/changesets-16.pb +1 -0
- package/.scannerwork/scanner-report/changesets-17.pb +1 -0
- package/.scannerwork/scanner-report/changesets-18.pb +1 -0
- package/.scannerwork/scanner-report/changesets-2.pb +1 -0
- package/.scannerwork/scanner-report/changesets-3.pb +1 -0
- package/.scannerwork/scanner-report/changesets-38.pb +1 -0
- package/.scannerwork/scanner-report/changesets-39.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-8.pb +1 -0
- package/.scannerwork/scanner-report/changesets-9.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-11.pb +1 -0
- package/.scannerwork/scanner-report/component-12.pb +1 -0
- package/.scannerwork/scanner-report/component-13.pb +1 -0
- package/.scannerwork/scanner-report/component-14.pb +1 -0
- package/.scannerwork/scanner-report/component-15.pb +1 -0
- package/.scannerwork/scanner-report/component-16.pb +1 -0
- package/.scannerwork/scanner-report/component-17.pb +1 -0
- package/.scannerwork/scanner-report/component-18.pb +1 -0
- package/.scannerwork/scanner-report/component-2.pb +1 -0
- package/.scannerwork/scanner-report/component-23.pb +1 -1
- package/.scannerwork/scanner-report/component-24.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-3.pb +1 -0
- package/.scannerwork/scanner-report/component-30.pb +1 -1
- package/.scannerwork/scanner-report/component-31.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-5.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 -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-69.pb +1 -1
- package/.scannerwork/scanner-report/component-7.pb +1 -1
- package/.scannerwork/scanner-report/component-70.pb +1 -0
- package/.scannerwork/scanner-report/component-8.pb +1 -0
- package/.scannerwork/scanner-report/component-9.pb +1 -0
- package/.scannerwork/scanner-report/coverages-11.pb +0 -0
- package/.scannerwork/scanner-report/coverages-13.pb +0 -0
- package/.scannerwork/scanner-report/coverages-16.pb +0 -0
- package/.scannerwork/scanner-report/coverages-18.pb +0 -0
- package/.scannerwork/scanner-report/coverages-2.pb +0 -0
- package/.scannerwork/scanner-report/coverages-23.pb +0 -0
- package/.scannerwork/scanner-report/coverages-24.pb +0 -0
- package/.scannerwork/scanner-report/coverages-30.pb +0 -0
- package/.scannerwork/scanner-report/coverages-31.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-38.pb +0 -0
- package/.scannerwork/scanner-report/coverages-5.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-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-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/duplications-23.pb +2 -0
- package/.scannerwork/scanner-report/duplications-24.pb +2 -0
- package/.scannerwork/scanner-report/duplications-32.pb +0 -2
- package/.scannerwork/scanner-report/duplications-33.pb +2 -0
- package/.scannerwork/scanner-report/duplications-36.pb +0 -2
- package/.scannerwork/scanner-report/duplications-5.pb +0 -3
- package/.scannerwork/scanner-report/duplications-52.pb +3 -0
- package/.scannerwork/scanner-report/duplications-53.pb +3 -0
- package/.scannerwork/scanner-report/duplications-57.pb +2 -0
- package/.scannerwork/scanner-report/duplications-6.pb +2 -0
- package/.scannerwork/scanner-report/duplications-60.pb +3 -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-8.pb +0 -0
- package/.scannerwork/scanner-report/duplications-9.pb +2 -0
- package/.scannerwork/scanner-report/measures-11.pb +0 -0
- package/.scannerwork/scanner-report/measures-13.pb +0 -0
- package/.scannerwork/scanner-report/measures-16.pb +0 -0
- package/.scannerwork/scanner-report/measures-18.pb +0 -0
- package/.scannerwork/scanner-report/measures-2.pb +0 -0
- package/.scannerwork/scanner-report/measures-23.pb +0 -0
- package/.scannerwork/scanner-report/measures-24.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-3.pb +0 -0
- package/.scannerwork/scanner-report/measures-30.pb +0 -0
- package/.scannerwork/scanner-report/measures-31.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-5.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-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-64.pb +0 -0
- package/.scannerwork/scanner-report/measures-65.pb +0 -0
- package/.scannerwork/scanner-report/measures-69.pb +0 -0
- package/.scannerwork/scanner-report/measures-7.pb +0 -0
- package/.scannerwork/scanner-report/measures-70.pb +0 -0
- package/.scannerwork/scanner-report/metadata.pb +0 -0
- package/.scannerwork/scanner-report/source-11.txt +111 -0
- package/.scannerwork/scanner-report/source-13.txt +164 -0
- package/.scannerwork/scanner-report/source-16.txt +80 -0
- package/.scannerwork/scanner-report/source-18.txt +46 -0
- package/.scannerwork/scanner-report/source-2.txt +114 -0
- package/.scannerwork/scanner-report/source-23.txt +162 -64
- package/.scannerwork/scanner-report/source-24.txt +133 -583
- package/.scannerwork/scanner-report/source-28.txt +509 -142
- package/.scannerwork/scanner-report/source-29.txt +509 -366
- package/.scannerwork/scanner-report/source-3.txt +418 -0
- package/.scannerwork/scanner-report/source-30.txt +39 -19
- package/.scannerwork/scanner-report/source-31.txt +57 -80
- package/.scannerwork/scanner-report/source-32.txt +16 -127
- package/.scannerwork/scanner-report/source-33.txt +189 -120
- package/.scannerwork/scanner-report/source-34.txt +596 -39
- package/.scannerwork/scanner-report/source-35.txt +17 -129
- 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 +92 -167
- package/.scannerwork/scanner-report/source-39.txt +366 -0
- package/.scannerwork/scanner-report/source-5.txt +89 -229
- package/.scannerwork/scanner-report/source-51.txt +135 -59
- package/.scannerwork/scanner-report/source-52.txt +228 -95
- package/.scannerwork/scanner-report/source-53.txt +104 -31
- package/.scannerwork/scanner-report/source-54.txt +130 -147
- package/.scannerwork/scanner-report/source-55.txt +100 -509
- package/.scannerwork/scanner-report/source-57.txt +120 -52
- package/.scannerwork/scanner-report/source-58.txt +31 -40
- package/.scannerwork/scanner-report/source-59.txt +36 -509
- package/.scannerwork/scanner-report/source-6.txt +71 -47
- package/.scannerwork/scanner-report/source-61.txt +293 -509
- package/.scannerwork/scanner-report/source-62.txt +142 -0
- package/.scannerwork/scanner-report/source-64.txt +68 -0
- package/.scannerwork/scanner-report/source-65.txt +509 -190
- package/.scannerwork/scanner-report/source-69.txt +509 -418
- package/.scannerwork/scanner-report/source-7.txt +38 -31
- package/.scannerwork/scanner-report/source-70.txt +167 -0
- package/.scannerwork/scanner-report/symbols-11.pb +59 -0
- package/.scannerwork/scanner-report/symbols-13.pb +126 -0
- package/.scannerwork/scanner-report/symbols-16.pb +46 -0
- package/.scannerwork/scanner-report/symbols-18.pb +20 -0
- package/.scannerwork/scanner-report/symbols-2.pb +28 -0
- package/.scannerwork/scanner-report/symbols-23.pb +180 -60
- package/.scannerwork/scanner-report/symbols-24.pb +143 -1244
- package/.scannerwork/scanner-report/symbols-30.pb +19 -14
- package/.scannerwork/scanner-report/symbols-31.pb +29 -68
- package/.scannerwork/scanner-report/symbols-32.pb +10 -102
- package/.scannerwork/scanner-report/symbols-33.pb +410 -104
- package/.scannerwork/scanner-report/symbols-34.pb +1251 -33
- package/.scannerwork/scanner-report/symbols-35.pb +17 -85
- package/.scannerwork/scanner-report/symbols-36.pb +35 -417
- package/.scannerwork/scanner-report/symbols-37.pb +11 -28
- package/.scannerwork/scanner-report/symbols-38.pb +60 -0
- package/.scannerwork/scanner-report/symbols-5.pb +41 -393
- package/.scannerwork/scanner-report/symbols-51.pb +110 -44
- package/.scannerwork/scanner-report/symbols-52.pb +393 -58
- package/.scannerwork/scanner-report/symbols-53.pb +76 -19
- package/.scannerwork/scanner-report/symbols-54.pb +80 -121
- package/.scannerwork/scanner-report/symbols-55.pb +69 -0
- package/.scannerwork/scanner-report/symbols-57.pb +102 -30
- package/.scannerwork/scanner-report/symbols-58.pb +27 -19
- package/.scannerwork/scanner-report/symbols-59.pb +14 -0
- package/.scannerwork/scanner-report/symbols-6.pb +43 -44
- package/.scannerwork/scanner-report/symbols-64.pb +45 -0
- package/.scannerwork/scanner-report/symbols-7.pb +15 -27
- package/.scannerwork/scanner-report/syntax-highlightings-11.pb +133 -0
- package/.scannerwork/scanner-report/syntax-highlightings-13.pb +213 -0
- package/.scannerwork/scanner-report/syntax-highlightings-16.pb +95 -0
- package/.scannerwork/scanner-report/syntax-highlightings-18.pb +64 -0
- package/.scannerwork/scanner-report/syntax-highlightings-2.pb +138 -0
- package/.scannerwork/scanner-report/syntax-highlightings-23.pb +186 -71
- package/.scannerwork/scanner-report/syntax-highlightings-24.pb +142 -815
- package/.scannerwork/scanner-report/syntax-highlightings-28.pb +3736 -123
- package/.scannerwork/scanner-report/syntax-highlightings-29.pb +3504 -385
- package/.scannerwork/scanner-report/syntax-highlightings-3.pb +648 -0
- package/.scannerwork/scanner-report/syntax-highlightings-30.pb +63 -35
- package/.scannerwork/scanner-report/syntax-highlightings-31.pb +73 -75
- package/.scannerwork/scanner-report/syntax-highlightings-32.pb +14 -191
- package/.scannerwork/scanner-report/syntax-highlightings-33.pb +270 -162
- package/.scannerwork/scanner-report/syntax-highlightings-34.pb +849 -57
- package/.scannerwork/scanner-report/syntax-highlightings-35.pb +27 -155
- 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 +630 -0
- package/.scannerwork/scanner-report/syntax-highlightings-5.pb +85 -298
- package/.scannerwork/scanner-report/syntax-highlightings-51.pb +190 -62
- package/.scannerwork/scanner-report/syntax-highlightings-52.pb +292 -96
- package/.scannerwork/scanner-report/syntax-highlightings-53.pb +127 -33
- package/.scannerwork/scanner-report/syntax-highlightings-54.pb +151 -173
- package/.scannerwork/scanner-report/syntax-highlightings-55.pb +94 -3735
- package/.scannerwork/scanner-report/syntax-highlightings-57.pb +200 -76
- package/.scannerwork/scanner-report/syntax-highlightings-58.pb +45 -59
- package/.scannerwork/scanner-report/syntax-highlightings-59.pb +43 -3736
- package/.scannerwork/scanner-report/syntax-highlightings-6.pb +56 -76
- package/.scannerwork/scanner-report/syntax-highlightings-61.pb +398 -3487
- package/.scannerwork/scanner-report/syntax-highlightings-62.pb +134 -0
- package/.scannerwork/scanner-report/syntax-highlightings-64.pb +110 -0
- package/.scannerwork/scanner-report/syntax-highlightings-65.pb +3725 -202
- package/.scannerwork/scanner-report/syntax-highlightings-69.pb +3544 -445
- package/.scannerwork/scanner-report/syntax-highlightings-7.pb +24 -38
- package/.scannerwork/scanner-report/syntax-highlightings-70.pb +949 -0
- package/package.json +1 -1
- package/test-14-results.xml +158 -158
- package/test-16-results.xml +139 -139
- package/test-18-results.xml +155 -155
- package/test-19-results.xml +151 -151
- 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-22.pb +0 -1
- package/.scannerwork/scanner-report/changesets-25.pb +0 -1
- package/.scannerwork/scanner-report/changesets-26.pb +0 -1
- package/.scannerwork/scanner-report/changesets-27.pb +0 -1
- package/.scannerwork/scanner-report/changesets-28.pb +0 -1
- package/.scannerwork/scanner-report/changesets-29.pb +0 -1
- package/.scannerwork/scanner-report/changesets-4.pb +0 -1
- package/.scannerwork/scanner-report/changesets-41.pb +0 -1
- package/.scannerwork/scanner-report/changesets-42.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-48.pb +0 -1
- package/.scannerwork/scanner-report/changesets-49.pb +0 -1
- package/.scannerwork/scanner-report/changesets-50.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/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-22.pb +0 -1
- package/.scannerwork/scanner-report/component-25.pb +0 -1
- package/.scannerwork/scanner-report/component-26.pb +0 -1
- package/.scannerwork/scanner-report/component-27.pb +0 -1
- package/.scannerwork/scanner-report/component-4.pb +0 -1
- package/.scannerwork/scanner-report/component-40.pb +0 -1
- package/.scannerwork/scanner-report/component-41.pb +0 -1
- package/.scannerwork/scanner-report/component-42.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-48.pb +0 -1
- package/.scannerwork/scanner-report/component-49.pb +0 -1
- package/.scannerwork/scanner-report/component-50.pb +0 -1
- package/.scannerwork/scanner-report/component-66.pb +0 -1
- package/.scannerwork/scanner-report/coverages-20.pb +0 -0
- package/.scannerwork/scanner-report/coverages-22.pb +0 -0
- package/.scannerwork/scanner-report/coverages-27.pb +0 -0
- package/.scannerwork/scanner-report/coverages-4.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-46.pb +0 -0
- package/.scannerwork/scanner-report/coverages-65.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-22.pb +0 -3
- package/.scannerwork/scanner-report/duplications-43.pb +0 -2
- package/.scannerwork/scanner-report/duplications-45.pb +0 -2
- package/.scannerwork/scanner-report/duplications-65.pb +0 -2
- package/.scannerwork/scanner-report/duplications-66.pb +0 -2
- package/.scannerwork/scanner-report/measures-20.pb +0 -0
- package/.scannerwork/scanner-report/measures-21.pb +0 -15
- package/.scannerwork/scanner-report/measures-22.pb +0 -0
- package/.scannerwork/scanner-report/measures-27.pb +0 -0
- package/.scannerwork/scanner-report/measures-4.pb +0 -0
- package/.scannerwork/scanner-report/measures-40.pb +0 -0
- package/.scannerwork/scanner-report/measures-42.pb +0 -15
- package/.scannerwork/scanner-report/measures-43.pb +0 -0
- package/.scannerwork/scanner-report/measures-46.pb +0 -0
- package/.scannerwork/scanner-report/measures-66.pb +0 -0
- package/.scannerwork/scanner-report/source-20.txt +0 -35
- package/.scannerwork/scanner-report/source-21.txt +0 -293
- package/.scannerwork/scanner-report/source-22.txt +0 -119
- package/.scannerwork/scanner-report/source-27.txt +0 -36
- package/.scannerwork/scanner-report/source-4.txt +0 -34
- package/.scannerwork/scanner-report/source-40.txt +0 -509
- package/.scannerwork/scanner-report/source-42.txt +0 -104
- package/.scannerwork/scanner-report/source-43.txt +0 -92
- package/.scannerwork/scanner-report/source-46.txt +0 -54
- package/.scannerwork/scanner-report/source-66.txt +0 -175
- package/.scannerwork/scanner-report/symbols-20.pb +0 -17
- package/.scannerwork/scanner-report/symbols-22.pb +0 -77
- package/.scannerwork/scanner-report/symbols-27.pb +0 -11
- package/.scannerwork/scanner-report/symbols-4.pb +0 -10
- package/.scannerwork/scanner-report/symbols-42.pb +0 -42
- package/.scannerwork/scanner-report/symbols-43.pb +0 -44
- package/.scannerwork/scanner-report/symbols-46.pb +0 -15
- package/.scannerwork/scanner-report/symbols-65.pb +0 -180
- package/.scannerwork/scanner-report/symbols-66.pb +0 -153
- 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-22.pb +0 -158
- package/.scannerwork/scanner-report/syntax-highlightings-27.pb +0 -59
- package/.scannerwork/scanner-report/syntax-highlightings-4.pb +0 -50
- package/.scannerwork/scanner-report/syntax-highlightings-40.pb +0 -3749
- package/.scannerwork/scanner-report/syntax-highlightings-42.pb +0 -116
- package/.scannerwork/scanner-report/syntax-highlightings-43.pb +0 -90
- package/.scannerwork/scanner-report/syntax-highlightings-46.pb +0 -54
- package/.scannerwork/scanner-report/syntax-highlightings-66.pb +0 -214
- /package/.scannerwork/scanner-report/{coverages-49.pb → coverages-10.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-44.pb → coverages-12.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-41.pb → coverages-14.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-47.pb → coverages-15.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-48.pb → coverages-17.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-69.pb → coverages-3.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-29.pb → coverages-39.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-25.pb → coverages-56.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-19.pb → coverages-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-21.pb → coverages-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-28.pb → coverages-62.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-26.pb → coverages-63.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-50.pb → coverages-8.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-45.pb → coverages-9.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-20.pb → duplications-10.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-26.pb → duplications-11.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-27.pb → duplications-12.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-28.pb → duplications-13.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-29.pb → duplications-14.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-4.pb → duplications-15.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-41.pb → duplications-16.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-42.pb → duplications-17.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-44.pb → duplications-18.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-46.pb → duplications-2.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-47.pb → duplications-3.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-48.pb → duplications-38.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-49.pb → duplications-39.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-50.pb → duplications-55.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-69.pb → duplications-59.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-21.pb → duplications-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-29.pb → issues-39.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-5.pb → issues-52.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-7.pb → issues-58.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-28.pb → issues-62.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-49.pb → measures-10.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-44.pb → measures-12.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-41.pb → measures-14.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-47.pb → measures-15.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-48.pb → measures-17.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-25.pb → measures-56.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-19.pb → measures-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-26.pb → measures-63.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-50.pb → measures-8.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-45.pb → measures-9.pb} +0 -0
- /package/.scannerwork/scanner-report/{source-49.txt → source-10.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-44.txt → source-12.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-41.txt → source-14.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-47.txt → source-15.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-48.txt → source-17.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-25.txt → source-56.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-19.txt → source-60.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-26.txt → source-63.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-50.txt → source-8.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-45.txt → source-9.txt} +0 -0
- /package/.scannerwork/scanner-report/{symbols-49.pb → symbols-10.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-44.pb → symbols-12.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-41.pb → symbols-14.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-47.pb → symbols-15.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-48.pb → symbols-17.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-69.pb → symbols-3.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-29.pb → symbols-39.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-25.pb → symbols-56.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-19.pb → symbols-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-21.pb → symbols-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-28.pb → symbols-62.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-26.pb → symbols-63.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-50.pb → symbols-8.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-45.pb → symbols-9.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-49.pb → syntax-highlightings-10.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-44.pb → syntax-highlightings-12.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-41.pb → syntax-highlightings-14.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-47.pb → syntax-highlightings-15.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-48.pb → syntax-highlightings-17.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-25.pb → syntax-highlightings-56.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-19.pb → syntax-highlightings-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-26.pb → syntax-highlightings-63.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-50.pb → syntax-highlightings-8.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-45.pb → syntax-highlightings-9.pb} +0 -0
|
@@ -1,509 +1,293 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
]
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
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
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
<testcase classname="test.#unit Fatal errors using API for restore" name="should terminate on _bulk_docs HTTPFatalError large stream" time="0.027">
|
|
295
|
-
</testcase>
|
|
296
|
-
<testcase classname="test.#unit Fatal errors using API for restore" name="should terminate on multiple _bulk_docs HTTPFatalError" time="0.008">
|
|
297
|
-
</testcase>
|
|
298
|
-
</testsuite>
|
|
299
|
-
<testsuite name="#unit Fatal errors using CLI for backup" tests="10" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:16" time="4.076">
|
|
300
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate when DB does not exist" time="0.356">
|
|
301
|
-
<system-out><![CDATA[Backup process close 10 null
|
|
302
|
-
]]></system-out>
|
|
303
|
-
</testcase>
|
|
304
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate on BulkGetError" time="0.389">
|
|
305
|
-
<system-out><![CDATA[Backup process close 50 null
|
|
306
|
-
]]></system-out>
|
|
307
|
-
</testcase>
|
|
308
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate on Unauthorized existence check" time="0.347">
|
|
309
|
-
<system-out><![CDATA[Backup process close 11 null
|
|
310
|
-
]]></system-out>
|
|
311
|
-
</testcase>
|
|
312
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate on Forbidden no _reader" time="0.371">
|
|
313
|
-
<system-out><![CDATA[Backup process close 12 null
|
|
314
|
-
]]></system-out>
|
|
315
|
-
</testcase>
|
|
316
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate on _bulk_get HTTPFatalError" time="0.741">
|
|
317
|
-
<system-out><![CDATA[Backup process close 40 null
|
|
318
|
-
]]></system-out>
|
|
319
|
-
</testcase>
|
|
320
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate on NoLogFileName" time="0.326">
|
|
321
|
-
<system-out><![CDATA[Backup process close 20 null
|
|
322
|
-
]]></system-out>
|
|
323
|
-
</testcase>
|
|
324
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate on LogDoesNotExist" time="0.345">
|
|
325
|
-
<system-out><![CDATA[Backup process close 21 null
|
|
326
|
-
]]></system-out>
|
|
327
|
-
</testcase>
|
|
328
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate on IncompleteChangesInLogFile" time="0.382">
|
|
329
|
-
<system-out><![CDATA[Backup process close 22 null
|
|
330
|
-
]]></system-out>
|
|
331
|
-
</testcase>
|
|
332
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate on _changes HTTPFatalError" time="0.418">
|
|
333
|
-
<system-out><![CDATA[Backup process close 40 null
|
|
334
|
-
]]></system-out>
|
|
335
|
-
</testcase>
|
|
336
|
-
<testcase classname="test.#unit Fatal errors using CLI for backup" name="should terminate on SpoolChangesError" time="0.392">
|
|
337
|
-
<system-out><![CDATA[Backup process close 30 null
|
|
338
|
-
]]></system-out>
|
|
339
|
-
</testcase>
|
|
340
|
-
</testsuite>
|
|
341
|
-
<testsuite name="#unit Fatal errors using CLI for restore" tests="9" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:20" time="3.65">
|
|
342
|
-
<testcase classname="test.#unit Fatal errors using CLI for restore" name="should terminate on Unauthorized db existence check" time="0.386">
|
|
343
|
-
</testcase>
|
|
344
|
-
<testcase classname="test.#unit Fatal errors using CLI for restore" name="should terminate on Forbidden no _writer" time="0.425">
|
|
345
|
-
</testcase>
|
|
346
|
-
<testcase classname="test.#unit Fatal errors using CLI for restore" name="should terminate on RestoreDatabaseNotFound" time="0.339">
|
|
347
|
-
</testcase>
|
|
348
|
-
<testcase classname="test.#unit Fatal errors using CLI for restore" name="should terminate on notEmptyDBErr when database is not empty" time="0.374">
|
|
349
|
-
</testcase>
|
|
350
|
-
<testcase classname="test.#unit Fatal errors using CLI for restore" name="should terminate on notEmptyDBErr when database is not new" time="0.391">
|
|
351
|
-
</testcase>
|
|
352
|
-
<testcase classname="test.#unit Fatal errors using CLI for restore" name="should terminate on _bulk_docs HTTPFatalError" time="0.367">
|
|
353
|
-
</testcase>
|
|
354
|
-
<testcase classname="test.#unit Fatal errors using CLI for restore" name="should terminate on _bulk_docs HTTPFatalError from system database" time="0.447">
|
|
355
|
-
</testcase>
|
|
356
|
-
<testcase classname="test.#unit Fatal errors using CLI for restore" name="should terminate on _bulk_docs HTTPFatalError large stream" time="0.45">
|
|
357
|
-
</testcase>
|
|
358
|
-
<testcase classname="test.#unit Fatal errors using CLI for restore" name="should terminate on multiple _bulk_docs HTTPFatalError" time="0.462">
|
|
359
|
-
</testcase>
|
|
360
|
-
</testsuite>
|
|
361
|
-
<testsuite name="#unit Fetching batches from a log file" tests="1" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:23" time="0.002">
|
|
362
|
-
<testcase classname="test.#unit Fetching batches from a log file" name="should fetch multiple batches correctly" time="0.001">
|
|
363
|
-
</testcase>
|
|
364
|
-
</testsuite>
|
|
365
|
-
<testsuite name="#unit Fetching summary from the log file" tests="1" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:23" time="0.001">
|
|
366
|
-
<testcase classname="test.#unit Fetching summary from the log file" name="should fetch a summary correctly" time="0.001">
|
|
367
|
-
</testcase>
|
|
368
|
-
</testsuite>
|
|
369
|
-
<testsuite name="#unit Default parameters Backup command-line" tests="23" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:23" time="0.043">
|
|
370
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_URL env variable if the --url backup command-line parameter is missing" time="0.012">
|
|
371
|
-
</testcase>
|
|
372
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_DATABASE env variable if the --db backup command-line parameter is missing" time="0.001">
|
|
373
|
-
</testcase>
|
|
374
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_BUFFER_SIZE env variable if the --buffer-size backup command-line parameter is missing" time="0.001">
|
|
375
|
-
</testcase>
|
|
376
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_PARALLELISM env variable if the --parallelism backup command-line parameter is missing" time="0.001">
|
|
377
|
-
</testcase>
|
|
378
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_REQUEST_TIMEOUT env variable if the --request-timeout backup command-line parameter is missing" time="0.001">
|
|
379
|
-
</testcase>
|
|
380
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the CLOUDANT_IAM_API_KEY env variable if the --iam-api-key backup command-line parameter is missing" time="0.001">
|
|
381
|
-
</testcase>
|
|
382
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_LOG env variable if the --log backup command-line parameter is missing" time="0.002">
|
|
383
|
-
</testcase>
|
|
384
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_RESUME env variable if the --resume backup command-line parameter is missing" time="0.001">
|
|
385
|
-
</testcase>
|
|
386
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_OUTPUT env variable if the --output backup command-line parameter is missing" time="0.001">
|
|
387
|
-
</testcase>
|
|
388
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_MODE env variable if the --mode backup command-line parameter is missing" time="0.001">
|
|
389
|
-
</testcase>
|
|
390
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the COUCH_QUIET env variable if the --quiet backup command-line parameter is missing" time="0.001">
|
|
391
|
-
</testcase>
|
|
392
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --url command-line parameter" time="0.001">
|
|
393
|
-
</testcase>
|
|
394
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --db command-line parameter" time="0.001">
|
|
395
|
-
</testcase>
|
|
396
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --buffer-size command-line parameter" time="0.001">
|
|
397
|
-
</testcase>
|
|
398
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --parallelism command-line parameter" time="0.001">
|
|
399
|
-
</testcase>
|
|
400
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --request-timeout command-line parameter" time="0.001">
|
|
401
|
-
</testcase>
|
|
402
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --iam-api-key command-line parameter" time="0.001">
|
|
403
|
-
</testcase>
|
|
404
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --log command-line parameter" time="0">
|
|
405
|
-
</testcase>
|
|
406
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --resume command-line parameter" time="0.001">
|
|
407
|
-
</testcase>
|
|
408
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --output command-line parameter" time="0.001">
|
|
409
|
-
</testcase>
|
|
410
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --mode full command-line parameter" time="0.001">
|
|
411
|
-
</testcase>
|
|
412
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --mode shallow command-line parameter" time="0.001">
|
|
413
|
-
</testcase>
|
|
414
|
-
<testcase classname="test.#unit Default parameters Backup command-line" name="respects the backup --quiet command-line parameter" time="0.001">
|
|
415
|
-
</testcase>
|
|
416
|
-
</testsuite>
|
|
417
|
-
<testsuite name="#unit Default parameters Restore command-line" tests="14" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:23" time="0.017">
|
|
418
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the COUCH_URL env variable if the --url restore command-line parameter is missing" time="0.001">
|
|
419
|
-
</testcase>
|
|
420
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the COUCH_DATABASE env variable if the --db restore command-line parameter is missing" time="0">
|
|
421
|
-
</testcase>
|
|
422
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the COUCH_BUFFER_SIZE env variable if the --buffer-size restore command-line parameter is missing" time="0.001">
|
|
423
|
-
</testcase>
|
|
424
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the COUCH_PARALLELISM env variable if the --parallelism restore command-line parameter is missing" time="0">
|
|
425
|
-
</testcase>
|
|
426
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the COUCH_REQUEST_TIMEOUT env variable if the --request-timeout restore command-line parameter is missing" time="0">
|
|
427
|
-
</testcase>
|
|
428
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the CLOUDANT_IAM_API_KEY env variable if the --iam-api-key restore command-line parameter is missing" time="0">
|
|
429
|
-
</testcase>
|
|
430
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the COUCH_QUIET env variable if the --quiet restorer command-line parameter is missing" time="0">
|
|
431
|
-
</testcase>
|
|
432
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the restore --url command-line parameter" time="0">
|
|
433
|
-
</testcase>
|
|
434
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the restore --db command-line parameter" time="0">
|
|
435
|
-
</testcase>
|
|
436
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the restore --buffer-size command-line parameter" time="0">
|
|
437
|
-
</testcase>
|
|
438
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the restore --parallelism command-line parameter" time="0">
|
|
439
|
-
</testcase>
|
|
440
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the restore --request-timeout command-line parameter" time="0">
|
|
441
|
-
</testcase>
|
|
442
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the restore --iam-api-key command-line parameter" time="0.001">
|
|
443
|
-
</testcase>
|
|
444
|
-
<testcase classname="test.#unit Default parameters Restore command-line" name="respects the restore --quiet command-line parameter" time="0.001">
|
|
445
|
-
</testcase>
|
|
446
|
-
</testsuite>
|
|
447
|
-
<testsuite name="#unit Check request headers" tests="1" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:24" time="0.006">
|
|
448
|
-
<testcase classname="test.#unit Check request headers" name="should have a couchbackup user-agent" time="0.005">
|
|
449
|
-
</testcase>
|
|
450
|
-
</testsuite>
|
|
451
|
-
<testsuite name="#unit Check request response error callback" tests="8" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:24" time="10.58">
|
|
452
|
-
<testcase classname="test.#unit Check request response error callback" name="should not callback with error for 200 response" time="0.004">
|
|
453
|
-
</testcase>
|
|
454
|
-
<testcase classname="test.#unit Check request response error callback" name="should callback with error after 3 500 responses" time="2.015">
|
|
455
|
-
</testcase>
|
|
456
|
-
<testcase classname="test.#unit Check request response error callback" name="should callback with error after 3 POST 503 responses" time="2.016">
|
|
457
|
-
</testcase>
|
|
458
|
-
<testcase classname="test.#unit Check request response error callback" name="should callback with error after 3 429 responses" time="2.016">
|
|
459
|
-
</testcase>
|
|
460
|
-
<testcase classname="test.#unit Check request response error callback" name="should callback with fatal error for 404 response" time="0.004">
|
|
461
|
-
</testcase>
|
|
462
|
-
<testcase classname="test.#unit Check request response error callback" name="should callback with same error for no status code error response" time="2.01">
|
|
463
|
-
</testcase>
|
|
464
|
-
<testcase classname="test.#unit Check request response error callback" name="should retry request if HTTP request gets timed out" time="0.506">
|
|
465
|
-
</testcase>
|
|
466
|
-
<testcase classname="test.#unit Check request response error callback" name="should callback with error code ESOCKETTIMEDOUT if 3 HTTP requests gets timed out" time="2.006">
|
|
467
|
-
</testcase>
|
|
468
|
-
</testsuite>
|
|
469
|
-
<testsuite name="#unit Check request response error callback #unit Check credentials" tests="1" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:34" time="0.008">
|
|
470
|
-
<testcase classname="test.#unit Check request response error callback #unit Check credentials" name="should properly decode username and password" time="0.008">
|
|
471
|
-
</testcase>
|
|
472
|
-
</testsuite>
|
|
473
|
-
<testsuite name="#unit Perform backup using shallow backup" tests="3" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:34" time="0.566">
|
|
474
|
-
<testcase classname="test.#unit Perform backup using shallow backup" name="should perform a shallow backup" time="0.017">
|
|
475
|
-
</testcase>
|
|
476
|
-
<testcase classname="test.#unit Perform backup using shallow backup" name="should perform a shallow backup with transient error" time="0.526">
|
|
477
|
-
</testcase>
|
|
478
|
-
<testcase classname="test.#unit Perform backup using shallow backup" name="should fail to perform a shallow backup on fatal error" time="0.014">
|
|
479
|
-
</testcase>
|
|
480
|
-
</testsuite>
|
|
481
|
-
<testsuite name="#unit Check spool changes" tests="4" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:35" time="15.265">
|
|
482
|
-
<testcase classname="test.#unit Check spool changes" name="should terminate on request error" time="2.014">
|
|
483
|
-
</testcase>
|
|
484
|
-
<testcase classname="test.#unit Check spool changes" name="should terminate on bad HTTP status code response" time="2.017">
|
|
485
|
-
</testcase>
|
|
486
|
-
<testcase classname="test.#unit Check spool changes" name="should keep collecting changes" time="2.144">
|
|
487
|
-
</testcase>
|
|
488
|
-
<testcase classname="test.#unit Check spool changes" name="should keep collecting sparse changes" time="9.087">
|
|
489
|
-
</testcase>
|
|
490
|
-
</testsuite>
|
|
491
|
-
<testsuite name="Longer spool changes checks" tests="1" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:13:50" time="51.418">
|
|
492
|
-
<testcase classname="test.Longer spool changes checks" name="#slow should keep collecting changes (25M)" time="51.157">
|
|
493
|
-
</testcase>
|
|
494
|
-
</testsuite>
|
|
495
|
-
<testsuite name="#unit Check database restore writer" tests="6" errors="0" failures="0" skipped="0" timestamp="2023-04-04T16:14:41" time="4.099">
|
|
496
|
-
<testcase classname="test.#unit Check database restore writer" name="should complete successfully" time="0.024">
|
|
497
|
-
</testcase>
|
|
498
|
-
<testcase classname="test.#unit Check database restore writer" name="should terminate on a fatal error" time="0.008">
|
|
499
|
-
</testcase>
|
|
500
|
-
<testcase classname="test.#unit Check database restore writer" name="should retry on transient errors" time="2.018">
|
|
501
|
-
</testcase>
|
|
502
|
-
<testcase classname="test.#unit Check database restore writer" name="should fail after 3 transient errors" time="2.016">
|
|
503
|
-
</testcase>
|
|
504
|
-
<testcase classname="test.#unit Check database restore writer" name="should restore shallow backups without rev info successfully" time="0.021">
|
|
505
|
-
</testcase>
|
|
506
|
-
<testcase classname="test.#unit Check database restore writer" name="should get a batch error for non-empty array response with new_edits false" time="0.008">
|
|
507
|
-
</testcase>
|
|
508
|
-
</testsuite>
|
|
509
|
-
</testsuites>
|
|
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 it before after beforeEach */
|
|
16
|
+
'use strict';
|
|
17
|
+
|
|
18
|
+
const assert = require('assert');
|
|
19
|
+
const fs = require('fs');
|
|
20
|
+
const u = require('./citestutils.js');
|
|
21
|
+
const mockServerPort = +process.env.COUCHBACKUP_MOCK_SERVER_PORT || 7777;
|
|
22
|
+
const url = `http://localhost:${mockServerPort}`;
|
|
23
|
+
const nock = require('nock');
|
|
24
|
+
const httpProxy = require('http-proxy');
|
|
25
|
+
const Readable = require('stream').Readable;
|
|
26
|
+
|
|
27
|
+
// Create an infinite stream to read.
|
|
28
|
+
// It just keeps sending a backup line, useful for testing cases of
|
|
29
|
+
// termination while a stream has content remaining (the animaldb backup
|
|
30
|
+
// is too small for that).
|
|
31
|
+
class InfiniteBackupStream extends Readable {
|
|
32
|
+
constructor(opt) {
|
|
33
|
+
super(opt);
|
|
34
|
+
this.contents = Buffer.from('[{"_id":"giraffe","_rev":"3-7665c3e66315ff40616cceef62886bd8","min_weight":830,"min_length":5,"max_weight":1600,"max_length":6,"wiki_page":"http://en.wikipedia.org/wiki/Giraffe","class":"mammal","diet":"herbivore","_revisions":{"start":3,"ids":["7665c3e66315ff40616cceef62886bd8","aaaf10d5a68cdf22d95a5482a0e95549","967a00dff5e02add41819138abb3284d"]}}]\n', 'utf8');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
_read() {
|
|
38
|
+
let proceed;
|
|
39
|
+
do {
|
|
40
|
+
proceed = this.push(this.contents);
|
|
41
|
+
} while (proceed);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function assertNock(done) {
|
|
46
|
+
try {
|
|
47
|
+
assert.ok(nock.isDone());
|
|
48
|
+
done();
|
|
49
|
+
} catch (err) {
|
|
50
|
+
console.error('pending mocks: %j', nock.pendingMocks());
|
|
51
|
+
done(err);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function backupHttpError(opts, errorName, errorCode, done) {
|
|
56
|
+
const p = u.p(opts, { expectedBackupError: { name: errorName, code: errorCode } });
|
|
57
|
+
|
|
58
|
+
// Create a file and attempt a backup to it
|
|
59
|
+
const output = fs.createWriteStream('/dev/null');
|
|
60
|
+
output.on('open', function() {
|
|
61
|
+
u.testBackup(p, 'fakenockdb', output, function(err) {
|
|
62
|
+
if (err) {
|
|
63
|
+
done(err);
|
|
64
|
+
} else {
|
|
65
|
+
assertNock(done);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function restoreHttpError(opts, errorName, errorCode, done) {
|
|
72
|
+
const q = u.p(opts, { expectedRestoreError: { name: errorName, code: errorCode } });
|
|
73
|
+
u.testRestoreFromFile(q, './test/fixtures/animaldb_expected.json', 'fakenockdb', function(err) {
|
|
74
|
+
if (err) {
|
|
75
|
+
done(err);
|
|
76
|
+
} else {
|
|
77
|
+
assertNock(done);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
[{ useApi: true }, { useApi: false }].forEach(function(params) {
|
|
83
|
+
describe(u.scenario('#unit Fatal errors', params), function() {
|
|
84
|
+
let processEnvCopy;
|
|
85
|
+
let proxy;
|
|
86
|
+
|
|
87
|
+
before('Set process data for test', function() {
|
|
88
|
+
// Copy env and argv so we can reset them after the tests
|
|
89
|
+
processEnvCopy = JSON.parse(JSON.stringify(process.env));
|
|
90
|
+
|
|
91
|
+
// Set up a proxy to point to our nock server because the nock override
|
|
92
|
+
// isn't visible to the spawned CLI process
|
|
93
|
+
if (!params.useApi) {
|
|
94
|
+
proxy = httpProxy.createProxyServer({ target: url }).listen(mockServerPort + 1000, 'localhost');
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// setup environment variables
|
|
98
|
+
process.env.COUCH_URL = (params.useApi) ? url : `http://localhost:${mockServerPort + 1000}`;
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
after('Reset process data', function(done) {
|
|
102
|
+
process.env = processEnvCopy;
|
|
103
|
+
if (!params.useApi) {
|
|
104
|
+
proxy.close(done);
|
|
105
|
+
} else {
|
|
106
|
+
done();
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
beforeEach('Reset nocks', function() {
|
|
111
|
+
nock.cleanAll();
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
describe('for backup', function() {
|
|
115
|
+
it('should terminate when DB does not exist', function(done) {
|
|
116
|
+
// Simulate existence check
|
|
117
|
+
nock(url).head('/fakenockdb').reply(404, { error: 'not_found', reason: 'missing' });
|
|
118
|
+
backupHttpError(params, 'DatabaseNotFound', 10, done);
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
it('should terminate on BulkGetError', function(done) {
|
|
122
|
+
// Simulate existence check
|
|
123
|
+
const n = nock(url).head('/fakenockdb').reply(200);
|
|
124
|
+
// Simulate _bulk_get not available
|
|
125
|
+
n.post('/fakenockdb/_bulk_get').reply(404, { error: 'not_found', reason: 'missing' });
|
|
126
|
+
backupHttpError(params, 'BulkGetError', 50, done);
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
it('should terminate on Unauthorized existence check', function(done) {
|
|
130
|
+
// Simulate a 401
|
|
131
|
+
nock(url).head('/fakenockdb').reply(401, { error: 'unauthorized', reason: '_reader access is required for this request' });
|
|
132
|
+
backupHttpError(params, 'Unauthorized', 11, done);
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
it('should terminate on Forbidden no _reader', function(done) {
|
|
136
|
+
// Simulate a 403
|
|
137
|
+
nock(url).head('/fakenockdb').reply(403, { error: 'forbidden', reason: '_reader access is required for this request' });
|
|
138
|
+
backupHttpError(params, 'Forbidden', 12, done);
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
it('should terminate on _bulk_get HTTPFatalError', function(done) {
|
|
142
|
+
// Provide a mock complete changes log to allow a resume to skip ahead
|
|
143
|
+
const p = u.p(params, { opts: { resume: true, log: './test/fixtures/test.log' } });
|
|
144
|
+
// Allow the existence and _bulk_get checks to pass
|
|
145
|
+
const n = nock(url).head('/fakenockdb').reply(200);
|
|
146
|
+
n.post('/fakenockdb/_bulk_get').reply(200, '{"results": []}');
|
|
147
|
+
// Simulate a fatal HTTP error when trying to fetch docs
|
|
148
|
+
// Note: 2 outstanding batches, so 2 responses, 1 mock is optional because we can't guarantee timing
|
|
149
|
+
n.post('/fakenockdb/_bulk_get').query(true).reply(400, { error: 'bad_request', reason: 'testing bad response' });
|
|
150
|
+
n.post('/fakenockdb/_bulk_get').query(true).optionally().reply(400, { error: 'bad_request', reason: 'testing bad response' });
|
|
151
|
+
backupHttpError(p, 'HTTPFatalError', 40, done);
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it('should terminate on NoLogFileName', function(done) {
|
|
155
|
+
// Don't supply a log file name with resume
|
|
156
|
+
const p = u.p(params, { opts: { resume: true } });
|
|
157
|
+
backupHttpError(p, 'NoLogFileName', 20, done);
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
it('should terminate on LogDoesNotExist', function(done) {
|
|
161
|
+
// Use a non-existent log file
|
|
162
|
+
const p = u.p(params, { opts: { resume: true, log: './test/fixtures/doesnotexist.log' } });
|
|
163
|
+
backupHttpError(p, 'LogDoesNotExist', 21, done);
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
it('should terminate on IncompleteChangesInLogFile', function(done) {
|
|
167
|
+
// Use an incomplete changes log file
|
|
168
|
+
const p = u.p(params, { opts: { resume: true, log: './test/fixtures/incomplete_changes.log' } });
|
|
169
|
+
// Allow the existence and _bulk_get checks to pass
|
|
170
|
+
const n = nock(url).head('/fakenockdb').reply(200);
|
|
171
|
+
n.post('/fakenockdb/_bulk_get').reply(200, '{"results": []}');
|
|
172
|
+
// Should fail when it reads the incomplete changes
|
|
173
|
+
backupHttpError(p, 'IncompleteChangesInLogFile', 22, done);
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
it('should terminate on _changes HTTPFatalError', function(done) {
|
|
177
|
+
// Allow the existence and _bulk_get checks to pass
|
|
178
|
+
const n = nock(url).head('/fakenockdb').reply(200);
|
|
179
|
+
n.post('/fakenockdb/_bulk_get').reply(200, '{"results": []}');
|
|
180
|
+
// Simulate a fatal HTTP error when trying to fetch docs (note 2 outstanding batches)
|
|
181
|
+
n.post('/fakenockdb/_changes').query(true).reply(400, { error: 'bad_request', reason: 'testing bad response' });
|
|
182
|
+
backupHttpError(params, 'HTTPFatalError', 40, done);
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
it('should terminate on SpoolChangesError', function(done) {
|
|
186
|
+
// Allow the existence and _bulk_get checks to pass
|
|
187
|
+
const n = nock(url).head('/fakenockdb').reply(200);
|
|
188
|
+
n.post('/fakenockdb/_bulk_get').reply(200, '{"results": []}');
|
|
189
|
+
// Simulate a changes without a last_seq
|
|
190
|
+
n.post('/fakenockdb/_changes').query(true).reply(200,
|
|
191
|
+
{
|
|
192
|
+
results: [{
|
|
193
|
+
seq: '2-g1AAAAEbeJzLYWBgYMlgTmFQSElKzi9KdUhJstTLTS3KLElMT9VLzskvTUnMK9HLSy3JAapkSmRIsv___39WBnMiUy5QgN3MzDIxOdEMWb85dv0gSxThigyN8diS5AAkk-pBFiUyoOkzxKMvjwVIMjQAKaDW_Zh6TQnqPQDRC7I3CwDPDV1k',
|
|
194
|
+
id: 'badger',
|
|
195
|
+
changes: [{ rev: '4-51aa94e4b0ef37271082033bba52b850' }]
|
|
196
|
+
}]
|
|
197
|
+
});
|
|
198
|
+
backupHttpError(params, 'SpoolChangesError', 30, done);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
describe('for restore', function() {
|
|
203
|
+
it('should terminate on Unauthorized db existence check', function(done) {
|
|
204
|
+
// Simulate a 401
|
|
205
|
+
nock(url).get('/fakenockdb').reply(401, { error: 'unauthorized', reason: '_reader access is required for this request' });
|
|
206
|
+
restoreHttpError(params, 'Unauthorized', 11, done);
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
it('should terminate on Forbidden no _writer', function(done) {
|
|
210
|
+
// Simulate the DB exists (i.e. you can read it)
|
|
211
|
+
const n = nock(url).get('/fakenockdb').reply(200, { doc_count: 0, doc_del_count: 0 });
|
|
212
|
+
// Simulate a 403 trying to write
|
|
213
|
+
n.post('/fakenockdb/_bulk_docs').reply(403, { error: 'forbidden', reason: '_writer access is required for this request' });
|
|
214
|
+
restoreHttpError(params, 'Forbidden', 12, done);
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
it('should terminate on RestoreDatabaseNotFound', function(done) {
|
|
218
|
+
// Simulate the DB does not exist
|
|
219
|
+
nock(url).get('/fakenockdb').reply(404, { error: 'not_found', reason: 'Database does not exist.' });
|
|
220
|
+
restoreHttpError(params, 'DatabaseNotFound', 10, done);
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
it('should terminate on notEmptyDBErr when database is not empty', function(done) {
|
|
224
|
+
// Simulate the DB that does exist and not empty
|
|
225
|
+
nock(url).get('/fakenockdb').reply(200, { doc_count: 10, doc_del_count: 0 });
|
|
226
|
+
restoreHttpError(params, 'DatabaseNotEmpty', 13, done);
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
it('should terminate on notEmptyDBErr when database is not new', function(done) {
|
|
230
|
+
// Simulate the DB that does exist and not new
|
|
231
|
+
nock(url).get('/fakenockdb').reply(200, { doc_count: 0, doc_del_count: 10 });
|
|
232
|
+
restoreHttpError(params, 'DatabaseNotEmpty', 13, done);
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
it('should terminate on _bulk_docs HTTPFatalError', function(done) {
|
|
236
|
+
// Simulate the DB exists
|
|
237
|
+
const n = nock(url).get('/fakenockdb').reply(200, { doc_count: 0, doc_del_count: 0 });
|
|
238
|
+
// Use a parallelism of one and mock one response
|
|
239
|
+
const p = u.p(params, { opts: { parallelism: 1 } });
|
|
240
|
+
// Simulate a 400 trying to write
|
|
241
|
+
n.post('/fakenockdb/_bulk_docs').reply(400, { error: 'bad_request', reason: 'testing bad response' });
|
|
242
|
+
restoreHttpError(p, 'HTTPFatalError', 40, done);
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
it('should terminate on _bulk_docs HTTPFatalError from system database', function(done) {
|
|
246
|
+
// Simulate that target database exists and is _not_ empty.
|
|
247
|
+
// This should pass validator as we exclude system databases from the check.
|
|
248
|
+
const n = nock(url).get('/_replicator').reply(200, { doc_count: 1, doc_del_count: 0 });
|
|
249
|
+
// Simulate a 400 trying to write
|
|
250
|
+
n.post('/_replicator/_bulk_docs').reply(400, { error: 'bad_request', reason: 'testing bad response' });
|
|
251
|
+
// Use a parallelism of one and mock one response
|
|
252
|
+
const q = u.p(params, { opts: { parallelism: 1 }, expectedRestoreError: { name: 'HTTPFatalError', code: 40 } });
|
|
253
|
+
u.testRestore(q, new InfiniteBackupStream(), '_replicator', function(err) {
|
|
254
|
+
if (err) {
|
|
255
|
+
done(err);
|
|
256
|
+
} else {
|
|
257
|
+
assertNock(done);
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
it('should terminate on _bulk_docs HTTPFatalError large stream', function(done) {
|
|
263
|
+
// Simulate the DB exists
|
|
264
|
+
const n = nock(url).get('/fakenockdb').reply(200, { doc_count: 0, doc_del_count: 0 });
|
|
265
|
+
// Simulate a 400 trying to write
|
|
266
|
+
// Provide a body function to handle the stream, but allow any body
|
|
267
|
+
n.post('/fakenockdb/_bulk_docs', function(body) { return true; }).reply(400, { error: 'bad_request', reason: 'testing bad response' });
|
|
268
|
+
// Use only parallelism 1 so we don't have to mock up loads of responses
|
|
269
|
+
const q = u.p(params, { opts: { parallelism: 1 }, expectedRestoreError: { name: 'HTTPFatalError', code: 40 } });
|
|
270
|
+
u.testRestore(q, new InfiniteBackupStream(), 'fakenockdb', function(err) {
|
|
271
|
+
if (err) {
|
|
272
|
+
done(err);
|
|
273
|
+
} else {
|
|
274
|
+
assertNock(done);
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
it('should terminate on multiple _bulk_docs HTTPFatalError', function(done) {
|
|
280
|
+
// Simulate the DB exists
|
|
281
|
+
const n = nock(url).get('/fakenockdb').reply(200, { doc_count: 0, doc_del_count: 0 });
|
|
282
|
+
// Simulate a 400 trying to write docs, 5 times because of default parallelism
|
|
283
|
+
// Provide a body function to handle the stream, but allow any body
|
|
284
|
+
// Four of the mocks are optional because of parallelism 5 we can't guarantee that the exit will happen
|
|
285
|
+
// after all 5 requests, but we must get at least one of them
|
|
286
|
+
n.post('/fakenockdb/_bulk_docs', function(body) { return true; }).reply(400, { error: 'bad_request', reason: 'testing bad response' });
|
|
287
|
+
n.post('/fakenockdb/_bulk_docs', function(body) { return true; }).times(4).optionally().reply(400, { error: 'bad_request', reason: 'testing bad response' });
|
|
288
|
+
const q = u.p(params, { opts: { bufferSize: 1 }, expectedRestoreError: { name: 'HTTPFatalError', code: 40 } });
|
|
289
|
+
restoreHttpError(q, 'HTTPFatalError', 40, done);
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
});
|
|
293
|
+
});
|