@cloudant/couchbackup 2.9.8-SNAPSHOT.92 → 2.9.8-SNAPSHOT.94
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/.sonar_lock +0 -0
- package/.scannerwork/report-task.txt +7 -0
- package/.scannerwork/scanner-report/activerules.pb +1946 -0
- package/.scannerwork/scanner-report/analysis-warnings.pb +3 -0
- package/.scannerwork/scanner-report/analysis.log +54 -0
- package/.scannerwork/scanner-report/changesets-18.pb +1 -0
- package/.scannerwork/scanner-report/changesets-19.pb +1 -0
- package/.scannerwork/scanner-report/changesets-2.pb +1 -0
- package/.scannerwork/scanner-report/changesets-20.pb +1 -0
- package/.scannerwork/scanner-report/changesets-21.pb +1 -0
- package/.scannerwork/scanner-report/changesets-22.pb +1 -0
- package/.scannerwork/scanner-report/changesets-23.pb +1 -0
- package/.scannerwork/scanner-report/changesets-24.pb +1 -0
- package/.scannerwork/scanner-report/changesets-25.pb +1 -0
- package/.scannerwork/scanner-report/changesets-26.pb +1 -0
- package/.scannerwork/scanner-report/changesets-27.pb +1 -0
- package/.scannerwork/scanner-report/changesets-28.pb +1 -0
- package/.scannerwork/scanner-report/changesets-29.pb +1 -0
- package/.scannerwork/scanner-report/changesets-3.pb +1 -0
- package/.scannerwork/scanner-report/changesets-30.pb +1 -0
- package/.scannerwork/scanner-report/changesets-31.pb +1 -0
- package/.scannerwork/scanner-report/changesets-32.pb +1 -0
- package/.scannerwork/scanner-report/changesets-33.pb +1 -0
- package/.scannerwork/scanner-report/changesets-34.pb +1 -0
- package/.scannerwork/scanner-report/changesets-35.pb +1 -0
- package/.scannerwork/scanner-report/changesets-4.pb +1 -0
- package/.scannerwork/scanner-report/changesets-49.pb +1 -0
- package/.scannerwork/scanner-report/changesets-5.pb +1 -0
- package/.scannerwork/scanner-report/changesets-50.pb +1 -0
- package/.scannerwork/scanner-report/changesets-53.pb +1 -0
- package/.scannerwork/scanner-report/changesets-54.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-57.pb +1 -0
- package/.scannerwork/scanner-report/changesets-58.pb +1 -0
- package/.scannerwork/scanner-report/changesets-59.pb +1 -0
- package/.scannerwork/scanner-report/changesets-6.pb +0 -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-65.pb +1 -0
- package/.scannerwork/scanner-report/changesets-66.pb +1 -0
- package/.scannerwork/scanner-report/changesets-68.pb +1 -0
- package/.scannerwork/scanner-report/changesets-69.pb +1 -0
- package/.scannerwork/scanner-report/changesets-70.pb +1 -0
- package/.scannerwork/scanner-report/component-1.pb +1 -0
- package/.scannerwork/scanner-report/component-18.pb +1 -0
- package/.scannerwork/scanner-report/component-19.pb +1 -0
- package/.scannerwork/scanner-report/component-2.pb +1 -0
- package/.scannerwork/scanner-report/component-20.pb +1 -0
- package/.scannerwork/scanner-report/component-21.pb +1 -0
- package/.scannerwork/scanner-report/component-22.pb +1 -0
- package/.scannerwork/scanner-report/component-23.pb +1 -0
- package/.scannerwork/scanner-report/component-24.pb +1 -0
- package/.scannerwork/scanner-report/component-25.pb +1 -0
- package/.scannerwork/scanner-report/component-26.pb +1 -0
- package/.scannerwork/scanner-report/component-27.pb +1 -0
- package/.scannerwork/scanner-report/component-28.pb +1 -0
- package/.scannerwork/scanner-report/component-29.pb +1 -0
- package/.scannerwork/scanner-report/component-3.pb +1 -0
- package/.scannerwork/scanner-report/component-30.pb +1 -0
- package/.scannerwork/scanner-report/component-31.pb +1 -0
- package/.scannerwork/scanner-report/component-32.pb +1 -0
- package/.scannerwork/scanner-report/component-33.pb +1 -0
- package/.scannerwork/scanner-report/component-34.pb +1 -0
- package/.scannerwork/scanner-report/component-35.pb +1 -0
- package/.scannerwork/scanner-report/component-37.pb +1 -0
- package/.scannerwork/scanner-report/component-38.pb +1 -0
- package/.scannerwork/scanner-report/component-4.pb +1 -0
- package/.scannerwork/scanner-report/component-40.pb +1 -0
- package/.scannerwork/scanner-report/component-49.pb +1 -0
- package/.scannerwork/scanner-report/component-5.pb +1 -0
- package/.scannerwork/scanner-report/component-50.pb +1 -0
- package/.scannerwork/scanner-report/component-51.pb +1 -0
- package/.scannerwork/scanner-report/component-53.pb +1 -0
- package/.scannerwork/scanner-report/component-54.pb +1 -0
- package/.scannerwork/scanner-report/component-55.pb +1 -0
- package/.scannerwork/scanner-report/component-56.pb +1 -0
- package/.scannerwork/scanner-report/component-57.pb +1 -0
- package/.scannerwork/scanner-report/component-58.pb +1 -0
- package/.scannerwork/scanner-report/component-59.pb +1 -0
- package/.scannerwork/scanner-report/component-6.pb +1 -0
- package/.scannerwork/scanner-report/component-60.pb +1 -0
- package/.scannerwork/scanner-report/component-61.pb +1 -0
- 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 -0
- package/.scannerwork/scanner-report/component-66.pb +1 -0
- package/.scannerwork/scanner-report/component-67.pb +1 -0
- package/.scannerwork/scanner-report/component-68.pb +1 -0
- package/.scannerwork/scanner-report/component-69.pb +1 -0
- package/.scannerwork/scanner-report/component-70.pb +1 -0
- package/.scannerwork/scanner-report/context-props.pb +3 -0
- package/.scannerwork/scanner-report/coverages-18.pb +0 -0
- package/.scannerwork/scanner-report/coverages-19.pb +0 -0
- package/.scannerwork/scanner-report/coverages-2.pb +0 -0
- package/.scannerwork/scanner-report/coverages-20.pb +0 -0
- package/.scannerwork/scanner-report/coverages-21.pb +0 -0
- package/.scannerwork/scanner-report/coverages-22.pb +0 -0
- package/.scannerwork/scanner-report/coverages-23.pb +0 -0
- package/.scannerwork/scanner-report/coverages-24.pb +0 -0
- package/.scannerwork/scanner-report/coverages-25.pb +0 -0
- package/.scannerwork/scanner-report/coverages-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-3.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-4.pb +0 -0
- package/.scannerwork/scanner-report/coverages-49.pb +0 -0
- package/.scannerwork/scanner-report/coverages-5.pb +0 -0
- package/.scannerwork/scanner-report/coverages-50.pb +0 -0
- package/.scannerwork/scanner-report/coverages-53.pb +0 -0
- package/.scannerwork/scanner-report/coverages-54.pb +0 -0
- package/.scannerwork/scanner-report/coverages-55.pb +0 -0
- package/.scannerwork/scanner-report/coverages-56.pb +0 -0
- package/.scannerwork/scanner-report/coverages-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-60.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-64.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/coverages-68.pb +0 -0
- package/.scannerwork/scanner-report/coverages-69.pb +0 -0
- package/.scannerwork/scanner-report/coverages-70.pb +0 -0
- package/.scannerwork/scanner-report/duplications-18.pb +0 -0
- package/.scannerwork/scanner-report/duplications-19.pb +0 -0
- package/.scannerwork/scanner-report/duplications-2.pb +0 -0
- package/.scannerwork/scanner-report/duplications-20.pb +0 -0
- package/.scannerwork/scanner-report/duplications-21.pb +0 -0
- package/.scannerwork/scanner-report/duplications-22.pb +0 -0
- package/.scannerwork/scanner-report/duplications-23.pb +0 -0
- package/.scannerwork/scanner-report/duplications-24.pb +0 -0
- package/.scannerwork/scanner-report/duplications-25.pb +2 -0
- package/.scannerwork/scanner-report/duplications-26.pb +0 -0
- package/.scannerwork/scanner-report/duplications-27.pb +0 -0
- package/.scannerwork/scanner-report/duplications-28.pb +0 -0
- package/.scannerwork/scanner-report/duplications-29.pb +0 -0
- package/.scannerwork/scanner-report/duplications-3.pb +3 -0
- package/.scannerwork/scanner-report/duplications-30.pb +0 -0
- package/.scannerwork/scanner-report/duplications-31.pb +0 -0
- package/.scannerwork/scanner-report/duplications-32.pb +3 -0
- package/.scannerwork/scanner-report/duplications-34.pb +2 -0
- package/.scannerwork/scanner-report/duplications-35.pb +0 -0
- package/.scannerwork/scanner-report/duplications-4.pb +0 -0
- package/.scannerwork/scanner-report/duplications-49.pb +2 -0
- package/.scannerwork/scanner-report/duplications-5.pb +3 -0
- package/.scannerwork/scanner-report/duplications-50.pb +2 -0
- package/.scannerwork/scanner-report/duplications-53.pb +0 -0
- package/.scannerwork/scanner-report/duplications-54.pb +0 -0
- package/.scannerwork/scanner-report/duplications-55.pb +0 -0
- package/.scannerwork/scanner-report/duplications-56.pb +0 -0
- package/.scannerwork/scanner-report/duplications-57.pb +0 -0
- package/.scannerwork/scanner-report/duplications-58.pb +0 -0
- package/.scannerwork/scanner-report/duplications-59.pb +0 -0
- package/.scannerwork/scanner-report/duplications-6.pb +2 -0
- package/.scannerwork/scanner-report/duplications-60.pb +2 -0
- package/.scannerwork/scanner-report/duplications-61.pb +0 -0
- package/.scannerwork/scanner-report/duplications-62.pb +2 -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 -0
- package/.scannerwork/scanner-report/duplications-66.pb +0 -0
- package/.scannerwork/scanner-report/duplications-68.pb +0 -0
- package/.scannerwork/scanner-report/duplications-69.pb +0 -0
- package/.scannerwork/scanner-report/duplications-70.pb +0 -0
- package/.scannerwork/scanner-report/issues-21.pb +3 -0
- package/.scannerwork/scanner-report/issues-29.pb +3 -0
- package/.scannerwork/scanner-report/issues-3.pb +4 -0
- package/.scannerwork/scanner-report/issues-4.pb +6 -0
- package/.scannerwork/scanner-report/measures-18.pb +0 -0
- package/.scannerwork/scanner-report/measures-19.pb +0 -0
- package/.scannerwork/scanner-report/measures-2.pb +0 -0
- package/.scannerwork/scanner-report/measures-20.pb +0 -0
- package/.scannerwork/scanner-report/measures-21.pb +0 -0
- package/.scannerwork/scanner-report/measures-22.pb +0 -0
- package/.scannerwork/scanner-report/measures-23.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-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-37.pb +0 -0
- package/.scannerwork/scanner-report/measures-38.pb +0 -0
- package/.scannerwork/scanner-report/measures-4.pb +0 -0
- package/.scannerwork/scanner-report/measures-40.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-53.pb +0 -0
- package/.scannerwork/scanner-report/measures-54.pb +0 -0
- package/.scannerwork/scanner-report/measures-55.pb +16 -0
- package/.scannerwork/scanner-report/measures-56.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 +15 -0
- package/.scannerwork/scanner-report/measures-60.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 +15 -0
- package/.scannerwork/scanner-report/measures-64.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-67.pb +0 -0
- package/.scannerwork/scanner-report/measures-68.pb +0 -0
- package/.scannerwork/scanner-report/measures-69.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-18.txt +63 -0
- package/.scannerwork/scanner-report/source-19.txt +36 -0
- package/.scannerwork/scanner-report/source-2.txt +147 -0
- package/.scannerwork/scanner-report/source-20.txt +92 -0
- package/.scannerwork/scanner-report/source-21.txt +47 -0
- package/.scannerwork/scanner-report/source-22.txt +156 -0
- package/.scannerwork/scanner-report/source-23.txt +34 -0
- package/.scannerwork/scanner-report/source-24.txt +36 -0
- package/.scannerwork/scanner-report/source-25.txt +145 -0
- package/.scannerwork/scanner-report/source-26.txt +68 -0
- package/.scannerwork/scanner-report/source-27.txt +35 -0
- package/.scannerwork/scanner-report/source-28.txt +100 -0
- package/.scannerwork/scanner-report/source-29.txt +142 -0
- package/.scannerwork/scanner-report/source-3.txt +244 -0
- package/.scannerwork/scanner-report/source-30.txt +68 -0
- package/.scannerwork/scanner-report/source-31.txt +625 -0
- package/.scannerwork/scanner-report/source-32.txt +119 -0
- package/.scannerwork/scanner-report/source-33.txt +29 -0
- package/.scannerwork/scanner-report/source-34.txt +225 -0
- package/.scannerwork/scanner-report/source-35.txt +114 -0
- package/.scannerwork/scanner-report/source-37.txt +509 -0
- package/.scannerwork/scanner-report/source-38.txt +167 -0
- package/.scannerwork/scanner-report/source-4.txt +366 -0
- package/.scannerwork/scanner-report/source-40.txt +509 -0
- package/.scannerwork/scanner-report/source-49.txt +175 -0
- package/.scannerwork/scanner-report/source-5.txt +131 -0
- package/.scannerwork/scanner-report/source-50.txt +190 -0
- package/.scannerwork/scanner-report/source-51.txt +509 -0
- package/.scannerwork/scanner-report/source-53.txt +164 -0
- package/.scannerwork/scanner-report/source-54.txt +46 -0
- package/.scannerwork/scanner-report/source-55.txt +178 -0
- package/.scannerwork/scanner-report/source-56.txt +129 -0
- package/.scannerwork/scanner-report/source-57.txt +41 -0
- package/.scannerwork/scanner-report/source-58.txt +54 -0
- package/.scannerwork/scanner-report/source-59.txt +111 -0
- package/.scannerwork/scanner-report/source-6.txt +293 -0
- package/.scannerwork/scanner-report/source-60.txt +92 -0
- package/.scannerwork/scanner-report/source-61.txt +80 -0
- package/.scannerwork/scanner-report/source-62.txt +75 -0
- package/.scannerwork/scanner-report/source-63.txt +104 -0
- package/.scannerwork/scanner-report/source-64.txt +118 -0
- package/.scannerwork/scanner-report/source-65.txt +31 -0
- package/.scannerwork/scanner-report/source-66.txt +281 -0
- package/.scannerwork/scanner-report/source-67.txt +509 -0
- package/.scannerwork/scanner-report/source-68.txt +77 -0
- package/.scannerwork/scanner-report/source-69.txt +56 -0
- package/.scannerwork/scanner-report/source-70.txt +418 -0
- package/.scannerwork/scanner-report/symbols-18.pb +43 -0
- package/.scannerwork/scanner-report/symbols-19.pb +11 -0
- package/.scannerwork/scanner-report/symbols-2.pb +85 -0
- package/.scannerwork/scanner-report/symbols-20.pb +60 -0
- package/.scannerwork/scanner-report/symbols-21.pb +27 -0
- package/.scannerwork/scanner-report/symbols-22.pb +112 -0
- package/.scannerwork/scanner-report/symbols-23.pb +10 -0
- package/.scannerwork/scanner-report/symbols-24.pb +14 -0
- package/.scannerwork/scanner-report/symbols-25.pb +102 -0
- package/.scannerwork/scanner-report/symbols-26.pb +36 -0
- package/.scannerwork/scanner-report/symbols-27.pb +17 -0
- package/.scannerwork/scanner-report/symbols-28.pb +69 -0
- package/.scannerwork/scanner-report/symbols-29.pb +116 -0
- package/.scannerwork/scanner-report/symbols-3.pb +394 -0
- package/.scannerwork/scanner-report/symbols-30.pb +45 -0
- package/.scannerwork/scanner-report/symbols-31.pb +1254 -0
- package/.scannerwork/scanner-report/symbols-32.pb +77 -0
- package/.scannerwork/scanner-report/symbols-33.pb +9 -0
- package/.scannerwork/scanner-report/symbols-34.pb +418 -0
- package/.scannerwork/scanner-report/symbols-35.pb +28 -0
- package/.scannerwork/scanner-report/symbols-4.pb +494 -0
- package/.scannerwork/scanner-report/symbols-49.pb +153 -0
- package/.scannerwork/scanner-report/symbols-5.pb +97 -0
- package/.scannerwork/scanner-report/symbols-50.pb +180 -0
- package/.scannerwork/scanner-report/symbols-53.pb +126 -0
- package/.scannerwork/scanner-report/symbols-54.pb +20 -0
- package/.scannerwork/scanner-report/symbols-55.pb +144 -0
- package/.scannerwork/scanner-report/symbols-56.pb +33 -0
- package/.scannerwork/scanner-report/symbols-57.pb +18 -0
- package/.scannerwork/scanner-report/symbols-58.pb +15 -0
- package/.scannerwork/scanner-report/symbols-59.pb +59 -0
- package/.scannerwork/scanner-report/symbols-6.pb +486 -0
- package/.scannerwork/scanner-report/symbols-60.pb +44 -0
- package/.scannerwork/scanner-report/symbols-61.pb +46 -0
- package/.scannerwork/scanner-report/symbols-62.pb +42 -0
- package/.scannerwork/scanner-report/symbols-63.pb +42 -0
- package/.scannerwork/scanner-report/symbols-64.pb +30 -0
- package/.scannerwork/scanner-report/symbols-65.pb +14 -0
- package/.scannerwork/scanner-report/symbols-66.pb +354 -0
- package/.scannerwork/scanner-report/symbols-68.pb +30 -0
- package/.scannerwork/scanner-report/symbols-69.pb +19 -0
- package/.scannerwork/scanner-report/symbols-70.pb +610 -0
- package/.scannerwork/scanner-report/syntax-highlightings-18.pb +82 -0
- package/.scannerwork/scanner-report/syntax-highlightings-19.pb +59 -0
- package/.scannerwork/scanner-report/syntax-highlightings-2.pb +191 -0
- package/.scannerwork/scanner-report/syntax-highlightings-20.pb +110 -0
- package/.scannerwork/scanner-report/syntax-highlightings-21.pb +68 -0
- package/.scannerwork/scanner-report/syntax-highlightings-22.pb +223 -0
- package/.scannerwork/scanner-report/syntax-highlightings-23.pb +50 -0
- package/.scannerwork/scanner-report/syntax-highlightings-24.pb +54 -0
- package/.scannerwork/scanner-report/syntax-highlightings-25.pb +227 -0
- package/.scannerwork/scanner-report/syntax-highlightings-26.pb +95 -0
- package/.scannerwork/scanner-report/syntax-highlightings-27.pb +63 -0
- package/.scannerwork/scanner-report/syntax-highlightings-28.pb +105 -0
- package/.scannerwork/scanner-report/syntax-highlightings-29.pb +134 -0
- package/.scannerwork/scanner-report/syntax-highlightings-3.pb +329 -0
- package/.scannerwork/scanner-report/syntax-highlightings-30.pb +110 -0
- package/.scannerwork/scanner-report/syntax-highlightings-31.pb +887 -0
- package/.scannerwork/scanner-report/syntax-highlightings-32.pb +158 -0
- package/.scannerwork/scanner-report/syntax-highlightings-33.pb +48 -0
- package/.scannerwork/scanner-report/syntax-highlightings-34.pb +331 -0
- package/.scannerwork/scanner-report/syntax-highlightings-35.pb +138 -0
- package/.scannerwork/scanner-report/syntax-highlightings-37.pb +3748 -0
- package/.scannerwork/scanner-report/syntax-highlightings-38.pb +949 -0
- package/.scannerwork/scanner-report/syntax-highlightings-4.pb +630 -0
- package/.scannerwork/scanner-report/syntax-highlightings-40.pb +3747 -0
- package/.scannerwork/scanner-report/syntax-highlightings-49.pb +214 -0
- package/.scannerwork/scanner-report/syntax-highlightings-5.pb +182 -0
- package/.scannerwork/scanner-report/syntax-highlightings-50.pb +225 -0
- package/.scannerwork/scanner-report/syntax-highlightings-51.pb +3749 -0
- package/.scannerwork/scanner-report/syntax-highlightings-53.pb +213 -0
- package/.scannerwork/scanner-report/syntax-highlightings-54.pb +64 -0
- package/.scannerwork/scanner-report/syntax-highlightings-55.pb +243 -0
- package/.scannerwork/scanner-report/syntax-highlightings-56.pb +129 -0
- package/.scannerwork/scanner-report/syntax-highlightings-57.pb +50 -0
- package/.scannerwork/scanner-report/syntax-highlightings-58.pb +54 -0
- package/.scannerwork/scanner-report/syntax-highlightings-59.pb +133 -0
- package/.scannerwork/scanner-report/syntax-highlightings-6.pb +659 -0
- package/.scannerwork/scanner-report/syntax-highlightings-60.pb +90 -0
- package/.scannerwork/scanner-report/syntax-highlightings-61.pb +95 -0
- package/.scannerwork/scanner-report/syntax-highlightings-62.pb +78 -0
- package/.scannerwork/scanner-report/syntax-highlightings-63.pb +116 -0
- package/.scannerwork/scanner-report/syntax-highlightings-64.pb +113 -0
- package/.scannerwork/scanner-report/syntax-highlightings-65.pb +45 -0
- package/.scannerwork/scanner-report/syntax-highlightings-66.pb +285 -0
- package/.scannerwork/scanner-report/syntax-highlightings-67.pb +3747 -0
- package/.scannerwork/scanner-report/syntax-highlightings-68.pb +103 -0
- package/.scannerwork/scanner-report/syntax-highlightings-69.pb +82 -0
- package/.scannerwork/scanner-report/syntax-highlightings-70.pb +648 -0
- package/.secrets.baseline +6 -6
- package/package.json +2 -2
- package/test-14-results.xml +509 -0
- package/test-16-results.xml +509 -0
- package/test-18-results.xml +509 -0
- package/test-19-results.xml +509 -0
- package/test-iam-18-results.xml +167 -0
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
functions
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
statementsG
|
|
6
|
+
classes
|
|
7
|
+
nclocz
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
complexity
|
|
11
|
+
cognitive_complexity&�
|
|
12
|
+
executable_lines_data2�
|
|
13
|
+
�130=1;132=1;133=1;14=1;16=1;17=1;145=1;18=1;19=1;147=1;20=1;148=1;22=1;150=1;155=1;157=1;30=1;158=1;31=1;162=1;35=1;36=1;164=1;165=1;40=1;168=1;171=1;172=1;173=1;47=1;48=1;176=1;49=1;50=1;51=1;52=1;53=1;56=1;58=1;60=1;61=1;65=1;66=1;67=1;68=1;69=1;72=1;75=1;77=1;78=1;79=1;83=1;88=1;90=1;91=1;94=1;97=1;100=1;102=1;105=1;106=1;107=1;109=1;110=1;111=1;112=1;114=1;115=1;116=1;121=1;123=1�
|
|
14
|
+
|
|
15
|
+
ncloc_data2�
|
|
16
|
+
�14=1;16=1;17=1;18=1;19=1;20=1;22=1;23=1;28=1;29=1;30=1;31=1;32=1;34=1;35=1;36=1;37=1;39=1;40=1;41=1;42=1;47=1;48=1;49=1;50=1;51=1;52=1;53=1;54=1;56=1;57=1;58=1;60=1;61=1;65=1;66=1;67=1;68=1;69=1;70=1;72=1;73=1;75=1;77=1;78=1;79=1;80=1;81=1;82=1;83=1;84=1;88=1;89=1;90=1;91=1;94=1;95=1;96=1;97=1;98=1;100=1;101=1;102=1;105=1;106=1;107=1;109=1;110=1;111=1;112=1;113=1;114=1;115=1;116=1;117=1;118=1;119=1;120=1;121=1;122=1;123=1;124=1;125=1;127=1;128=1;130=1;132=1;133=1;135=1;137=1;138=1;139=1;140=1;141=1;142=1;143=1;144=1;145=1;147=1;148=1;149=1;150=1;151=1;152=1;153=1;154=1;155=1;157=1;158=1;162=1;163=1;164=1;165=1;166=1;168=1;171=1;172=1;173=1;174=1;176=1;177=1;178=1
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
functions'
|
|
3
|
+
|
|
4
|
+
statements�
|
|
5
|
+
classes
|
|
6
|
+
ncloc�
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
complexity0
|
|
10
|
+
cognitive_complexity�
|
|
11
|
+
executable_lines_data2�
|
|
12
|
+
�257=1;262=1;264=1;267=1;269=1;270=1;271=1;16=1;272=1;18=1;274=1;19=1;20=1;21=1;22=1;23=1;279=1;24=1;25=1;281=1;286=1;287=1;288=1;33=1;289=1;34=1;38=1;39=1;40=1;46=1;47=1;48=1;50=1;51=1;56=1;59=1;60=1;61=1;62=1;63=1;65=1;72=1;73=1;74=1;75=1;77=1;82=1;83=1;84=1;85=1;87=1;89=1;93=1;94=1;98=1;101=1;102=1;103=1;104=1;106=1;110=1;111=1;114=1;115=1;117=1;118=1;121=1;123=1;125=1;126=1;129=1;131=1;132=1;135=1;137=1;138=1;141=1;143=1;145=1;146=1;149=1;150=1;151=1;154=1;156=1;157=1;160=1;162=1;163=1;166=1;168=1;170=1;171=1;173=1;176=1;178=1;179=1;181=1;182=1;185=1;187=1;188=1;190=1;198=1;202=1;203=1;205=1;206=1;209=1;211=1;213=1;214=1;217=1;219=1;220=1;223=1;225=1;226=1;229=1;231=1;232=1;235=1;237=1;239=1;241=1;242=1;245=1;248=1;250=1;252=1;253=1;254=1;255=1�
|
|
13
|
+
|
|
14
|
+
ncloc_data2�
|
|
15
|
+
�16=1;18=1;19=1;20=1;21=1;22=1;23=1;24=1;25=1;31=1;32=1;33=1;34=1;35=1;37=1;38=1;39=1;40=1;41=1;42=1;43=1;45=1;46=1;47=1;48=1;49=1;50=1;51=1;52=1;53=1;55=1;56=1;59=1;60=1;61=1;62=1;63=1;64=1;65=1;66=1;67=1;68=1;69=1;71=1;72=1;73=1;74=1;75=1;76=1;77=1;78=1;79=1;80=1;82=1;83=1;84=1;85=1;87=1;89=1;93=1;94=1;95=1;98=1;99=1;101=1;102=1;103=1;104=1;105=1;106=1;107=1;108=1;110=1;111=1;112=1;114=1;115=1;117=1;118=1;119=1;121=1;123=1;125=1;126=1;127=1;129=1;131=1;132=1;133=1;135=1;137=1;138=1;139=1;141=1;143=1;145=1;146=1;149=1;150=1;151=1;152=1;154=1;156=1;157=1;158=1;160=1;162=1;163=1;164=1;166=1;168=1;170=1;171=1;173=1;174=1;176=1;178=1;179=1;181=1;182=1;183=1;185=1;187=1;188=1;190=1;191=1;192=1;193=1;194=1;195=1;196=1;197=1;198=1;199=1;200=1;202=1;203=1;205=1;206=1;207=1;209=1;211=1;213=1;214=1;215=1;217=1;219=1;220=1;221=1;223=1;225=1;226=1;227=1;229=1;231=1;232=1;233=1;235=1;237=1;239=1;241=1;242=1;243=1;245=1;248=1;250=1;252=1;253=1;254=1;255=1;256=1;257=1;258=1;259=1;260=1;262=1;264=1;267=1;269=1;270=1;271=1;272=1;273=1;274=1;275=1;276=1;277=1;279=1;281=1;286=1;287=1;288=1;289=1;290=1;291=1;292=1;293=1
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
functions
|
|
3
|
+
|
|
4
|
+
statements
|
|
5
|
+
classes
|
|
6
|
+
nclocH
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
complexity
|
|
10
|
+
cognitive_complexity
|
|
11
|
+
executable_lines_data2�
|
|
12
|
+
�64=1;65=1;68=1;74=1;75=1;77=1;14=1;17=1;84=1;85=1;87=1;88=1;90=1;93=1;34=1;98=1;35=1;99=1;100=1;101=1;42=1;44=1;45=1;47=1;48=1;50=1;52=1;61=1�
|
|
13
|
+
|
|
14
|
+
ncloc_data2�
|
|
15
|
+
�14=1;17=1;18=1;19=1;20=1;21=1;22=1;23=1;24=1;25=1;26=1;27=1;28=1;29=1;30=1;32=1;33=1;34=1;35=1;36=1;37=1;39=1;40=1;42=1;43=1;44=1;45=1;46=1;47=1;48=1;49=1;50=1;51=1;52=1;53=1;54=1;60=1;61=1;64=1;65=1;66=1;68=1;69=1;70=1;71=1;73=1;74=1;75=1;76=1;77=1;78=1;80=1;84=1;85=1;86=1;87=1;88=1;89=1;90=1;91=1;93=1;94=1;95=1;96=1;97=1;98=1;99=1;100=1;101=1;102=1;103=1;104=1
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Copyright © 2017 IBM Corp. All rights reserved.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
/* global describe it */
|
|
16
|
+
'use strict';
|
|
17
|
+
|
|
18
|
+
const fs = require('fs');
|
|
19
|
+
const u = require('./citestutils.js');
|
|
20
|
+
|
|
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) {
|
|
27
|
+
if (err) {
|
|
28
|
+
done(err);
|
|
29
|
+
}
|
|
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
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Copyright © 2017 IBM Corp. All rights reserved.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
/* global describe it */
|
|
16
|
+
'use strict';
|
|
17
|
+
|
|
18
|
+
delete require.cache[require.resolve('./citestutils.js')];
|
|
19
|
+
const u = require('./citestutils.js');
|
|
20
|
+
|
|
21
|
+
[{ useApi: true }, { useApi: false }].forEach(function(params) {
|
|
22
|
+
describe(u.scenario('End to end backup and restore', params), function() {
|
|
23
|
+
it('should backup and restore animaldb', function(done) {
|
|
24
|
+
// Allow up to 60 s for backup and restore of animaldb
|
|
25
|
+
u.setTimeout(this, 60);
|
|
26
|
+
u.testDirectBackupAndRestore(params, 'animaldb', this.dbName, done);
|
|
27
|
+
});
|
|
28
|
+
it('should backup and restore largedb1g #slow', function(done) {
|
|
29
|
+
// Allow up to 30 m for backup and restore of largedb1g
|
|
30
|
+
// This is a long time but when many builds run in parallel it can take a
|
|
31
|
+
// while to get this done.
|
|
32
|
+
u.setTimeout(this, 30 * 60);
|
|
33
|
+
u.testDirectBackupAndRestore(params, 'largedb1g', this.dbName, done);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
});
|
|
@@ -0,0 +1,147 @@
|
|
|
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 beforeEach */
|
|
16
|
+
'use strict';
|
|
17
|
+
|
|
18
|
+
const assert = require('assert');
|
|
19
|
+
const fs = require('fs');
|
|
20
|
+
const nock = require('nock');
|
|
21
|
+
const request = require('../includes/request.js');
|
|
22
|
+
const writer = require('../includes/writer.js');
|
|
23
|
+
const noopEmitter = new (require('events')).EventEmitter();
|
|
24
|
+
const liner = require('../includes/liner.js');
|
|
25
|
+
|
|
26
|
+
const longTestTimeout = 3000;
|
|
27
|
+
|
|
28
|
+
// The writer expects a line-by-line stream so this utility function does that
|
|
29
|
+
// processing for the tests (which normally happens in the internal restore
|
|
30
|
+
// function).
|
|
31
|
+
function testLinestream(fixture = './test/fixtures/animaldb_expected.json') {
|
|
32
|
+
return fs.createReadStream(fixture)
|
|
33
|
+
.pipe(liner());
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
describe('#unit Check database restore writer', function() {
|
|
37
|
+
const dbUrl = 'http://localhost:5984/animaldb';
|
|
38
|
+
const db = request.client(dbUrl, { parallelism: 1 });
|
|
39
|
+
|
|
40
|
+
beforeEach('Reset nocks', function() {
|
|
41
|
+
nock.cleanAll();
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('should complete successfully', function(done) {
|
|
45
|
+
nock(dbUrl)
|
|
46
|
+
.post('/_bulk_docs')
|
|
47
|
+
.reply(200, []); // success
|
|
48
|
+
|
|
49
|
+
testLinestream()
|
|
50
|
+
.pipe(writer(db, 500, 1, noopEmitter))
|
|
51
|
+
.on('error', function(err) {
|
|
52
|
+
done(err);
|
|
53
|
+
})
|
|
54
|
+
.on('finished', function(data) {
|
|
55
|
+
assert.strictEqual(data.total, 15);
|
|
56
|
+
assert.ok(nock.isDone());
|
|
57
|
+
done();
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it('should terminate on a fatal error', function(done) {
|
|
62
|
+
nock(dbUrl)
|
|
63
|
+
.post('/_bulk_docs')
|
|
64
|
+
.reply(401, { error: 'Unauthorized' }); // fatal error
|
|
65
|
+
|
|
66
|
+
testLinestream()
|
|
67
|
+
.pipe(writer(db, 500, 1, noopEmitter))
|
|
68
|
+
.on('error', function(err) {
|
|
69
|
+
assert.strictEqual(err.name, 'Unauthorized');
|
|
70
|
+
assert.strictEqual(err.message, 'Access is denied due to invalid credentials.');
|
|
71
|
+
assert.ok(nock.isDone());
|
|
72
|
+
done();
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
it('should retry on transient errors', function(done) {
|
|
77
|
+
nock(dbUrl)
|
|
78
|
+
.post('/_bulk_docs')
|
|
79
|
+
.reply(429, { error: 'Too Many Requests' }) // transient error
|
|
80
|
+
.post('/_bulk_docs')
|
|
81
|
+
.reply(500, { error: 'Internal Server Error' }) // transient error
|
|
82
|
+
.post('/_bulk_docs')
|
|
83
|
+
.reply(200, { ok: true }); // third time lucky success
|
|
84
|
+
|
|
85
|
+
testLinestream()
|
|
86
|
+
.pipe(writer(db, 500, 1, noopEmitter))
|
|
87
|
+
.on('error', function(err) {
|
|
88
|
+
done(err);
|
|
89
|
+
})
|
|
90
|
+
.on('finished', function(data) {
|
|
91
|
+
assert.strictEqual(data.total, 15);
|
|
92
|
+
assert.ok(nock.isDone());
|
|
93
|
+
done();
|
|
94
|
+
});
|
|
95
|
+
}).timeout(longTestTimeout);
|
|
96
|
+
|
|
97
|
+
it('should fail after 3 transient errors', function(done) {
|
|
98
|
+
nock(dbUrl)
|
|
99
|
+
.post('/_bulk_docs')
|
|
100
|
+
.reply(429, { error: 'Too Many Requests' }) // transient error
|
|
101
|
+
.post('/_bulk_docs')
|
|
102
|
+
.reply(500, { error: 'Internal Server Error' }) // transient error
|
|
103
|
+
.post('/_bulk_docs')
|
|
104
|
+
.reply(503, { error: 'Service Unavailable' }); // Final transient error
|
|
105
|
+
|
|
106
|
+
testLinestream()
|
|
107
|
+
.pipe(writer(db, 500, 1, noopEmitter))
|
|
108
|
+
.on('error', function(err) {
|
|
109
|
+
assert.strictEqual(err.name, 'HTTPFatalError');
|
|
110
|
+
assert.strictEqual(err.message, `503 : post ${dbUrl}/_bulk_docs - Error: Service Unavailable`);
|
|
111
|
+
assert.ok(nock.isDone());
|
|
112
|
+
done();
|
|
113
|
+
});
|
|
114
|
+
}).timeout(longTestTimeout);
|
|
115
|
+
|
|
116
|
+
it('should restore shallow backups without rev info successfully', function(done) {
|
|
117
|
+
nock(dbUrl)
|
|
118
|
+
.post('/_bulk_docs')
|
|
119
|
+
.reply(200, [{ ok: true, id: 'foo', rev: '1-abc' }]); // success
|
|
120
|
+
|
|
121
|
+
testLinestream('./test/fixtures/animaldb_old_shallow.json')
|
|
122
|
+
.pipe(writer(db, 500, 1, noopEmitter))
|
|
123
|
+
.on('error', function(err) {
|
|
124
|
+
done(err);
|
|
125
|
+
})
|
|
126
|
+
.on('finished', function(data) {
|
|
127
|
+
assert.strictEqual(data.total, 11);
|
|
128
|
+
assert.ok(nock.isDone());
|
|
129
|
+
done();
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it('should get a batch error for non-empty array response with new_edits false', function(done) {
|
|
134
|
+
nock(dbUrl)
|
|
135
|
+
.post('/_bulk_docs')
|
|
136
|
+
.reply(200, [{ id: 'foo', error: 'foo', reason: 'bar' }]);
|
|
137
|
+
|
|
138
|
+
testLinestream()
|
|
139
|
+
.pipe(writer(db, 500, 1, noopEmitter))
|
|
140
|
+
.on('error', function(err) {
|
|
141
|
+
assert.strictEqual(err.name, 'Error');
|
|
142
|
+
assert.strictEqual(err.message, 'Error writing batch with new_edits:false and 1 items');
|
|
143
|
+
assert.ok(nock.isDone());
|
|
144
|
+
done();
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
});
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// Copyright © 2018, 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 */
|
|
16
|
+
'use strict';
|
|
17
|
+
|
|
18
|
+
const fs = require('fs');
|
|
19
|
+
const readline = require('readline');
|
|
20
|
+
const u = require('./citestutils.js');
|
|
21
|
+
const uuid = require('uuid').v4;
|
|
22
|
+
|
|
23
|
+
const params = { useApi: true };
|
|
24
|
+
|
|
25
|
+
describe(u.scenario('Concurrent database backups', params), function() {
|
|
26
|
+
it('should run concurrent API database backups correctly #slower', function(done) {
|
|
27
|
+
// Allow up to 900 s to backup and compare (it should be much faster)!
|
|
28
|
+
u.setTimeout(this, 900);
|
|
29
|
+
|
|
30
|
+
let doneCount = 0;
|
|
31
|
+
let doneErr;
|
|
32
|
+
const finished = function(err) {
|
|
33
|
+
doneCount++;
|
|
34
|
+
if (doneCount === 2) {
|
|
35
|
+
done(doneErr || err);
|
|
36
|
+
}
|
|
37
|
+
doneErr = err;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const checkForEmptyBatches = function(fileName, cb) {
|
|
41
|
+
let foundEmptyBatch = false;
|
|
42
|
+
|
|
43
|
+
const rd = readline.createInterface({
|
|
44
|
+
input: fs.createReadStream(fileName),
|
|
45
|
+
output: fs.createWriteStream('/dev/null'),
|
|
46
|
+
terminal: false
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
rd.on('line', function(line) {
|
|
50
|
+
if (JSON.parse(line).length === 0) {
|
|
51
|
+
// Note: Empty batch arrays indicate that the running backup is
|
|
52
|
+
// incorrectly sharing a log file with another ongoing backup job.
|
|
53
|
+
foundEmptyBatch = true;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
rd.on('close', function() {
|
|
58
|
+
if (foundEmptyBatch) {
|
|
59
|
+
cb(new Error(`Log file '${fileName}' contains empty batches`));
|
|
60
|
+
} else {
|
|
61
|
+
cb();
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// [1] Run 'largedb2g' database backup
|
|
67
|
+
const actualBackup1 = `./${uuid()}`;
|
|
68
|
+
const output1 = fs.createWriteStream(actualBackup1);
|
|
69
|
+
output1.on('open', function() {
|
|
70
|
+
u.testBackup(params, 'largedb2g', output1, function(err) {
|
|
71
|
+
if (err) {
|
|
72
|
+
finished(err);
|
|
73
|
+
} else {
|
|
74
|
+
checkForEmptyBatches(actualBackup1, finished);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
// [2] Run 'largedb1g' database backup
|
|
80
|
+
const actualBackup2 = `./${uuid()}`;
|
|
81
|
+
const output2 = fs.createWriteStream(actualBackup2);
|
|
82
|
+
output2.on('open', function() {
|
|
83
|
+
u.testBackup(params, 'largedb1g', output2, function(err) {
|
|
84
|
+
if (err) {
|
|
85
|
+
finished(err);
|
|
86
|
+
} else {
|
|
87
|
+
checkForEmptyBatches(actualBackup2, finished);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Copyright © 2017, 2018 IBM Corp. All rights reserved.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
/* global describe it */
|
|
16
|
+
'use strict';
|
|
17
|
+
|
|
18
|
+
const assert = require('assert');
|
|
19
|
+
const fs = require('fs');
|
|
20
|
+
const u = require('./citestutils.js');
|
|
21
|
+
|
|
22
|
+
describe('Write error tests', function() {
|
|
23
|
+
it('calls callback with error set when stream is not writeable', function(done) {
|
|
24
|
+
u.setTimeout(this, 10);
|
|
25
|
+
const dirname = fs.mkdtempSync('test_backup_');
|
|
26
|
+
// make temp dir read only
|
|
27
|
+
fs.chmodSync(dirname, 0o444);
|
|
28
|
+
const filename = dirname + '/test.backup';
|
|
29
|
+
const backupStream = fs.createWriteStream(filename, { flags: 'w' });
|
|
30
|
+
const params = { useApi: true };
|
|
31
|
+
// try to do backup and check err was set in callback
|
|
32
|
+
u.testBackup(params, 'animaldb', backupStream, function(resultErr) {
|
|
33
|
+
let err = null;
|
|
34
|
+
try {
|
|
35
|
+
// cleanup temp dir
|
|
36
|
+
fs.rmdirSync(dirname);
|
|
37
|
+
// error should have been set
|
|
38
|
+
assert.ok(resultErr);
|
|
39
|
+
assert.strictEqual(resultErr.code, 'EACCES');
|
|
40
|
+
} catch (thrownErr) {
|
|
41
|
+
err = thrownErr;
|
|
42
|
+
} finally {
|
|
43
|
+
done(err);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|