@cloudant/couchbackup 2.9.9-SNAPSHOT.99 → 2.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.scannerwork/report-task.txt +2 -2
- package/.scannerwork/scanner-report/analysis-warnings.pb +2 -2
- package/.scannerwork/scanner-report/analysis.log +1 -1
- package/.scannerwork/scanner-report/changesets-36.pb +1 -0
- package/.scannerwork/scanner-report/changesets-45.pb +1 -0
- package/.scannerwork/scanner-report/changesets-47.pb +1 -0
- package/.scannerwork/scanner-report/changesets-49.pb +1 -0
- package/.scannerwork/scanner-report/changesets-64.pb +1 -0
- package/.scannerwork/scanner-report/changesets-66.pb +1 -0
- package/.scannerwork/scanner-report/changesets-68.pb +1 -0
- package/.scannerwork/scanner-report/component-1.pb +1 -1
- package/.scannerwork/scanner-report/component-19.pb +1 -1
- package/.scannerwork/scanner-report/component-2.pb +1 -1
- package/.scannerwork/scanner-report/component-20.pb +1 -1
- package/.scannerwork/scanner-report/component-21.pb +1 -1
- package/.scannerwork/scanner-report/component-22.pb +1 -1
- package/.scannerwork/scanner-report/component-23.pb +1 -1
- package/.scannerwork/scanner-report/component-24.pb +1 -1
- package/.scannerwork/scanner-report/component-25.pb +1 -1
- package/.scannerwork/scanner-report/component-26.pb +1 -1
- package/.scannerwork/scanner-report/component-27.pb +1 -1
- package/.scannerwork/scanner-report/component-28.pb +1 -1
- package/.scannerwork/scanner-report/component-29.pb +1 -1
- package/.scannerwork/scanner-report/component-3.pb +1 -1
- 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 -0
- 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 -1
- package/.scannerwork/scanner-report/component-4.pb +1 -1
- package/.scannerwork/scanner-report/component-40.pb +1 -1
- package/.scannerwork/scanner-report/component-45.pb +1 -0
- package/.scannerwork/scanner-report/component-47.pb +1 -1
- package/.scannerwork/scanner-report/component-49.pb +1 -0
- package/.scannerwork/scanner-report/component-50.pb +1 -1
- package/.scannerwork/scanner-report/component-52.pb +1 -1
- package/.scannerwork/scanner-report/component-56.pb +1 -1
- 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-60.pb +1 -1
- package/.scannerwork/scanner-report/component-61.pb +1 -1
- package/.scannerwork/scanner-report/component-62.pb +1 -1
- package/.scannerwork/scanner-report/component-63.pb +1 -1
- package/.scannerwork/scanner-report/component-64.pb +1 -1
- package/.scannerwork/scanner-report/component-65.pb +1 -1
- package/.scannerwork/scanner-report/component-66.pb +1 -0
- package/.scannerwork/scanner-report/component-67.pb +1 -1
- package/.scannerwork/scanner-report/component-68.pb +1 -0
- package/.scannerwork/scanner-report/component-69.pb +1 -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-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-39.pb +0 -0
- package/.scannerwork/scanner-report/coverages-45.pb +0 -0
- package/.scannerwork/scanner-report/coverages-47.pb +0 -0
- package/.scannerwork/scanner-report/coverages-49.pb +0 -0
- package/.scannerwork/scanner-report/coverages-52.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-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-67.pb +0 -0
- package/.scannerwork/scanner-report/duplications-20.pb +0 -2
- package/.scannerwork/scanner-report/duplications-22.pb +3 -0
- package/.scannerwork/scanner-report/duplications-28.pb +3 -0
- package/.scannerwork/scanner-report/duplications-29.pb +2 -0
- package/.scannerwork/scanner-report/duplications-3.pb +0 -2
- package/.scannerwork/scanner-report/duplications-30.pb +2 -0
- package/.scannerwork/scanner-report/duplications-31.pb +0 -2
- package/.scannerwork/scanner-report/duplications-33.pb +0 -3
- package/.scannerwork/scanner-report/duplications-34.pb +3 -0
- package/.scannerwork/scanner-report/duplications-37.pb +2 -0
- package/.scannerwork/scanner-report/duplications-47.pb +2 -0
- package/.scannerwork/scanner-report/duplications-49.pb +2 -0
- package/.scannerwork/scanner-report/duplications-56.pb +2 -0
- package/.scannerwork/scanner-report/duplications-63.pb +2 -0
- package/.scannerwork/scanner-report/duplications-65.pb +0 -2
- package/.scannerwork/scanner-report/duplications-66.pb +0 -0
- package/.scannerwork/scanner-report/duplications-67.pb +0 -2
- package/.scannerwork/scanner-report/duplications-68.pb +0 -0
- package/.scannerwork/scanner-report/issues-28.pb +4 -0
- package/.scannerwork/scanner-report/issues-33.pb +2 -3
- 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-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-4.pb +0 -0
- package/.scannerwork/scanner-report/measures-40.pb +0 -0
- package/.scannerwork/scanner-report/measures-45.pb +0 -0
- package/.scannerwork/scanner-report/measures-47.pb +0 -0
- package/.scannerwork/scanner-report/measures-49.pb +0 -0
- package/.scannerwork/scanner-report/measures-50.pb +0 -0
- package/.scannerwork/scanner-report/measures-52.pb +0 -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-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 +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-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/metadata.pb +0 -0
- package/.scannerwork/scanner-report/source-19.txt +84 -18
- package/.scannerwork/scanner-report/source-2.txt +39 -401
- package/.scannerwork/scanner-report/source-20.txt +15 -274
- package/.scannerwork/scanner-report/source-21.txt +348 -18
- package/.scannerwork/scanner-report/source-22.txt +91 -35
- package/.scannerwork/scanner-report/source-23.txt +43 -346
- package/.scannerwork/scanner-report/source-24.txt +73 -16
- package/.scannerwork/scanner-report/source-25.txt +125 -51
- package/.scannerwork/scanner-report/source-26.txt +136 -9
- package/.scannerwork/scanner-report/source-27.txt +598 -41
- package/.scannerwork/scanner-report/source-28.txt +187 -99
- package/.scannerwork/scanner-report/source-29.txt +203 -25
- package/.scannerwork/scanner-report/source-3.txt +52 -200
- package/.scannerwork/scanner-report/source-30.txt +254 -108
- package/.scannerwork/scanner-report/source-31.txt +17 -127
- package/.scannerwork/scanner-report/source-32.txt +6 -96
- package/.scannerwork/scanner-report/source-33.txt +27 -224
- package/.scannerwork/scanner-report/source-34.txt +114 -125
- package/.scannerwork/scanner-report/source-35.txt +37 -61
- package/.scannerwork/scanner-report/source-36.txt +36 -0
- package/.scannerwork/scanner-report/source-37.txt +120 -52
- package/.scannerwork/scanner-report/source-38.txt +48 -36
- package/.scannerwork/scanner-report/source-39.txt +125 -92
- package/.scannerwork/scanner-report/source-4.txt +509 -625
- package/.scannerwork/scanner-report/source-40.txt +393 -51
- package/.scannerwork/scanner-report/source-45.txt +418 -0
- package/.scannerwork/scanner-report/source-47.txt +175 -509
- package/.scannerwork/scanner-report/source-49.txt +190 -0
- package/.scannerwork/scanner-report/source-50.txt +167 -281
- package/.scannerwork/scanner-report/source-52.txt +94 -21
- package/.scannerwork/scanner-report/source-56.txt +73 -35
- package/.scannerwork/scanner-report/source-57.txt +111 -93
- package/.scannerwork/scanner-report/source-58.txt +88 -74
- package/.scannerwork/scanner-report/source-59.txt +94 -14
- package/.scannerwork/scanner-report/source-60.txt +147 -133
- package/.scannerwork/scanner-report/source-61.txt +83 -59
- package/.scannerwork/scanner-report/source-62.txt +33 -157
- package/.scannerwork/scanner-report/source-63.txt +56 -99
- package/.scannerwork/scanner-report/source-64.txt +41 -509
- package/.scannerwork/scanner-report/source-65.txt +65 -160
- package/.scannerwork/scanner-report/source-66.txt +31 -0
- package/.scannerwork/scanner-report/source-67.txt +144 -170
- package/.scannerwork/scanner-report/source-68.txt +281 -0
- package/{test-19-results.xml → .scannerwork/scanner-report/source-69.txt} +139 -139
- package/.scannerwork/scanner-report/symbols-19.pb +68 -9
- package/.scannerwork/scanner-report/symbols-2.pb +19 -610
- package/.scannerwork/scanner-report/symbols-20.pb +9 -485
- package/.scannerwork/scanner-report/symbols-21.pb +494 -11
- package/.scannerwork/scanner-report/symbols-22.pb +76 -42
- package/.scannerwork/scanner-report/symbols-23.pb +43 -494
- package/.scannerwork/scanner-report/symbols-24.pb +60 -17
- package/.scannerwork/scanner-report/symbols-25.pb +116 -36
- package/.scannerwork/scanner-report/symbols-26.pb +112 -9
- package/.scannerwork/scanner-report/symbols-27.pb +1253 -44
- package/.scannerwork/scanner-report/symbols-28.pb +385 -103
- package/.scannerwork/scanner-report/symbols-29.pb +417 -26
- package/.scannerwork/scanner-report/symbols-3.pb +29 -417
- package/.scannerwork/scanner-report/symbols-30.pb +486 -85
- package/.scannerwork/scanner-report/symbols-31.pb +17 -102
- package/.scannerwork/scanner-report/symbols-32.pb +9 -77
- package/.scannerwork/scanner-report/symbols-33.pb +26 -393
- package/.scannerwork/scanner-report/symbols-34.pb +97 -116
- package/.scannerwork/scanner-report/symbols-35.pb +36 -60
- package/.scannerwork/scanner-report/symbols-36.pb +11 -0
- package/.scannerwork/scanner-report/symbols-37.pb +102 -30
- package/.scannerwork/scanner-report/symbols-38.pb +44 -18
- package/.scannerwork/scanner-report/symbols-39.pb +85 -28
- package/.scannerwork/scanner-report/symbols-45.pb +610 -0
- package/.scannerwork/scanner-report/symbols-47.pb +153 -0
- package/.scannerwork/scanner-report/symbols-49.pb +180 -0
- package/.scannerwork/scanner-report/symbols-52.pb +28 -18
- package/.scannerwork/scanner-report/symbols-56.pb +42 -13
- package/.scannerwork/scanner-report/symbols-57.pb +33 -59
- package/.scannerwork/scanner-report/symbols-58.pb +30 -42
- package/.scannerwork/scanner-report/symbols-59.pb +58 -13
- package/.scannerwork/scanner-report/symbols-60.pb +129 -111
- package/.scannerwork/scanner-report/symbols-61.pb +41 -45
- package/.scannerwork/scanner-report/symbols-62.pb +14 -143
- package/.scannerwork/scanner-report/symbols-63.pb +42 -30
- package/.scannerwork/scanner-report/symbols-64.pb +18 -0
- package/.scannerwork/scanner-report/symbols-65.pb +45 -152
- package/.scannerwork/scanner-report/symbols-66.pb +14 -0
- package/.scannerwork/scanner-report/symbols-67.pb +126 -180
- package/.scannerwork/scanner-report/syntax-highlightings-19.pb +70 -15
- package/.scannerwork/scanner-report/syntax-highlightings-2.pb +58 -624
- package/.scannerwork/scanner-report/syntax-highlightings-20.pb +14 -623
- package/.scannerwork/scanner-report/syntax-highlightings-21.pb +596 -25
- package/.scannerwork/scanner-report/syntax-highlightings-22.pb +119 -43
- package/.scannerwork/scanner-report/syntax-highlightings-23.pb +46 -594
- package/.scannerwork/scanner-report/syntax-highlightings-24.pb +74 -27
- package/.scannerwork/scanner-report/syntax-highlightings-25.pb +98 -59
- package/.scannerwork/scanner-report/syntax-highlightings-26.pb +189 -14
- package/.scannerwork/scanner-report/syntax-highlightings-27.pb +843 -66
- package/.scannerwork/scanner-report/syntax-highlightings-28.pb +269 -163
- package/.scannerwork/scanner-report/syntax-highlightings-29.pb +291 -28
- package/.scannerwork/scanner-report/syntax-highlightings-3.pb +76 -304
- package/.scannerwork/scanner-report/syntax-highlightings-30.pb +610 -142
- package/.scannerwork/scanner-report/syntax-highlightings-31.pb +27 -191
- package/.scannerwork/scanner-report/syntax-highlightings-32.pb +13 -123
- package/.scannerwork/scanner-report/syntax-highlightings-33.pb +29 -290
- package/.scannerwork/scanner-report/syntax-highlightings-34.pb +147 -99
- package/.scannerwork/scanner-report/syntax-highlightings-35.pb +55 -70
- package/.scannerwork/scanner-report/syntax-highlightings-36.pb +59 -0
- package/.scannerwork/scanner-report/syntax-highlightings-37.pb +200 -76
- package/.scannerwork/scanner-report/syntax-highlightings-38.pb +85 -57
- package/.scannerwork/scanner-report/syntax-highlightings-39.pb +156 -103
- package/.scannerwork/scanner-report/syntax-highlightings-4.pb +3396 -536
- package/.scannerwork/scanner-report/syntax-highlightings-40.pb +3526 -727
- package/.scannerwork/scanner-report/syntax-highlightings-45.pb +648 -0
- package/.scannerwork/scanner-report/syntax-highlightings-47.pb +199 -3733
- package/.scannerwork/scanner-report/syntax-highlightings-49.pb +225 -0
- package/.scannerwork/scanner-report/syntax-highlightings-50.pb +863 -199
- package/.scannerwork/scanner-report/syntax-highlightings-52.pb +108 -20
- package/.scannerwork/scanner-report/syntax-highlightings-56.pb +57 -21
- package/.scannerwork/scanner-report/syntax-highlightings-57.pb +85 -89
- package/.scannerwork/scanner-report/syntax-highlightings-58.pb +77 -80
- package/.scannerwork/scanner-report/syntax-highlightings-59.pb +103 -15
- package/.scannerwork/scanner-report/syntax-highlightings-60.pb +166 -136
- package/.scannerwork/scanner-report/syntax-highlightings-61.pb +81 -60
- package/.scannerwork/scanner-report/syntax-highlightings-62.pb +17 -206
- package/.scannerwork/scanner-report/syntax-highlightings-63.pb +44 -79
- package/.scannerwork/scanner-report/syntax-highlightings-64.pb +39 -3736
- package/.scannerwork/scanner-report/syntax-highlightings-65.pb +64 -183
- package/.scannerwork/scanner-report/syntax-highlightings-66.pb +45 -0
- package/.scannerwork/scanner-report/syntax-highlightings-67.pb +154 -166
- package/.scannerwork/scanner-report/syntax-highlightings-68.pb +285 -0
- package/.scannerwork/scanner-report/{syntax-highlightings-43.pb → syntax-highlightings-69.pb} +98 -99
- package/CHANGES.md +4 -0
- package/README.md +1 -1
- package/package.json +4 -4
- package/test-16-results.xml +152 -152
- package/test-18-results.xml +156 -156
- package/{.scannerwork/scanner-report/source-43.txt → test-20-results.xml} +144 -144
- package/test-iam-18-results.xml +50 -50
- package/.scannerwork/scanner-report/changesets-4.pb +0 -1
- package/.scannerwork/scanner-report/changesets-5.pb +0 -1
- package/.scannerwork/scanner-report/changesets-50.pb +0 -1
- package/.scannerwork/scanner-report/changesets-51.pb +0 -1
- package/.scannerwork/scanner-report/changesets-53.pb +0 -1
- package/.scannerwork/scanner-report/changesets-54.pb +0 -1
- package/.scannerwork/scanner-report/changesets-6.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-5.pb +0 -1
- package/.scannerwork/scanner-report/component-51.pb +0 -1
- package/.scannerwork/scanner-report/component-53.pb +0 -1
- package/.scannerwork/scanner-report/component-54.pb +0 -1
- package/.scannerwork/scanner-report/component-6.pb +0 -1
- package/.scannerwork/scanner-report/coverages-4.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-53.pb +0 -0
- package/.scannerwork/scanner-report/coverages-54.pb +0 -0
- package/.scannerwork/scanner-report/coverages-6.pb +0 -0
- package/.scannerwork/scanner-report/duplications-32.pb +0 -3
- package/.scannerwork/scanner-report/duplications-5.pb +0 -3
- package/.scannerwork/scanner-report/duplications-51.pb +0 -2
- package/.scannerwork/scanner-report/duplications-54.pb +0 -2
- package/.scannerwork/scanner-report/issues-29.pb +0 -3
- package/.scannerwork/scanner-report/measures-43.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-53.pb +0 -0
- package/.scannerwork/scanner-report/measures-54.pb +0 -0
- package/.scannerwork/scanner-report/measures-6.pb +0 -0
- package/.scannerwork/scanner-report/source-42.txt +0 -509
- package/.scannerwork/scanner-report/source-5.txt +0 -131
- package/.scannerwork/scanner-report/source-51.txt +0 -92
- package/.scannerwork/scanner-report/source-53.txt +0 -129
- package/.scannerwork/scanner-report/source-54.txt +0 -75
- package/.scannerwork/scanner-report/source-6.txt +0 -100
- package/.scannerwork/scanner-report/symbols-4.pb +0 -1254
- package/.scannerwork/scanner-report/symbols-5.pb +0 -97
- package/.scannerwork/scanner-report/symbols-51.pb +0 -44
- package/.scannerwork/scanner-report/symbols-53.pb +0 -33
- package/.scannerwork/scanner-report/symbols-54.pb +0 -42
- package/.scannerwork/scanner-report/symbols-6.pb +0 -69
- package/.scannerwork/scanner-report/syntax-highlightings-42.pb +0 -3748
- package/.scannerwork/scanner-report/syntax-highlightings-5.pb +0 -182
- package/.scannerwork/scanner-report/syntax-highlightings-51.pb +0 -90
- package/.scannerwork/scanner-report/syntax-highlightings-53.pb +0 -129
- package/.scannerwork/scanner-report/syntax-highlightings-54.pb +0 -78
- package/.scannerwork/scanner-report/syntax-highlightings-6.pb +0 -105
- package/test-14-results.xml +0 -509
- /package/.scannerwork/scanner-report/{coverages-50.pb → coverages-68.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-4.pb → duplications-26.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-50.pb → duplications-36.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-53.pb → duplications-45.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-6.pb → duplications-64.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-23.pb → issues-21.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-34.pb → issues-25.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-42.pb → measures-69.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-50.pb → symbols-68.pb} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright © 2017
|
|
1
|
+
// Copyright © 2017 IBM Corp. All rights reserved.
|
|
2
2
|
//
|
|
3
3
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
// you may not use this file except in compliance with the License.
|
|
@@ -12,355 +12,52 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
-
/* global describe
|
|
15
|
+
/* global describe it */
|
|
16
16
|
'use strict';
|
|
17
17
|
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
describe('
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
process.env.COUCH_OUTPUT = 'myfile.txt';
|
|
39
|
-
process.env.COUCH_MODE = 'shallow';
|
|
40
|
-
process.env.CLOUDANT_IAM_API_KEY = 'ABC123-ZYX987_cba789-xyz321';
|
|
41
|
-
process.env.COUCH_QUIET = 'true';
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
after('Reset process data', function() {
|
|
45
|
-
process.env = processEnvCopy;
|
|
46
|
-
process.argv = processArgvCopy;
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
afterEach(function() {
|
|
50
|
-
delete require.cache[require.resolve('commander')];
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
describe('Backup command-line', function() {
|
|
54
|
-
it('respects the COUCH_URL env variable if the --url backup command-line parameter is missing', function(done) {
|
|
55
|
-
process.argv = ['node', 'test'];
|
|
56
|
-
const program = parser.parseBackupArgs();
|
|
57
|
-
assert.strictEqual(typeof program.url, 'string');
|
|
58
|
-
assert.strictEqual(program.url, process.env.COUCH_URL);
|
|
59
|
-
done();
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
it('respects the COUCH_DATABASE env variable if the --db backup command-line parameter is missing', function(done) {
|
|
63
|
-
process.argv = ['node', 'test'];
|
|
64
|
-
const program = parser.parseBackupArgs();
|
|
65
|
-
assert.strictEqual(typeof program.db, 'string');
|
|
66
|
-
assert.strictEqual(program.db, process.env.COUCH_DATABASE);
|
|
67
|
-
done();
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
it('respects the COUCH_BUFFER_SIZE env variable if the --buffer-size backup command-line parameter is missing', function(done) {
|
|
71
|
-
process.argv = ['node', 'test'];
|
|
72
|
-
const program = parser.parseBackupArgs();
|
|
73
|
-
assert.strictEqual(typeof program.bufferSize, 'number');
|
|
74
|
-
assert.strictEqual(program.bufferSize, parseInt(process.env.COUCH_BUFFER_SIZE, 10));
|
|
75
|
-
done();
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it('respects the COUCH_PARALLELISM env variable if the --parallelism backup command-line parameter is missing', function(done) {
|
|
79
|
-
process.argv = ['node', 'test'];
|
|
80
|
-
const program = parser.parseBackupArgs();
|
|
81
|
-
assert.strictEqual(typeof program.parallelism, 'number');
|
|
82
|
-
assert.strictEqual(program.parallelism, parseInt(process.env.COUCH_PARALLELISM, 10));
|
|
83
|
-
done();
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
it('respects the COUCH_REQUEST_TIMEOUT env variable if the --request-timeout backup command-line parameter is missing', function(done) {
|
|
87
|
-
process.argv = ['node', 'test'];
|
|
88
|
-
const program = parser.parseBackupArgs();
|
|
89
|
-
assert.strictEqual(typeof program.requestTimeout, 'number');
|
|
90
|
-
assert.strictEqual(program.requestTimeout, parseInt(process.env.COUCH_REQUEST_TIMEOUT, 10));
|
|
91
|
-
done();
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
it('respects the CLOUDANT_IAM_API_KEY env variable if the --iam-api-key backup command-line parameter is missing', function(done) {
|
|
95
|
-
process.argv = ['node', 'test'];
|
|
96
|
-
const program = parser.parseBackupArgs();
|
|
97
|
-
assert.strictEqual(typeof program.iamApiKey, 'string');
|
|
98
|
-
assert.strictEqual(program.iamApiKey, process.env.CLOUDANT_IAM_API_KEY);
|
|
99
|
-
done();
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
it('respects the COUCH_LOG env variable if the --log backup command-line parameter is missing', function(done) {
|
|
103
|
-
process.argv = ['node', 'test'];
|
|
104
|
-
const program = parser.parseBackupArgs();
|
|
105
|
-
assert.strictEqual(typeof program.log, 'string');
|
|
106
|
-
assert.strictEqual(program.log, process.env.COUCH_LOG);
|
|
107
|
-
done();
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
it('respects the COUCH_RESUME env variable if the --resume backup command-line parameter is missing', function(done) {
|
|
111
|
-
process.argv = ['node', 'test'];
|
|
112
|
-
const program = parser.parseBackupArgs();
|
|
113
|
-
assert.strictEqual(typeof program.resume, 'boolean');
|
|
114
|
-
assert.strictEqual(program.resume, true);
|
|
115
|
-
done();
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
it('respects the COUCH_OUTPUT env variable if the --output backup command-line parameter is missing', function(done) {
|
|
119
|
-
process.argv = ['node', 'test'];
|
|
120
|
-
const program = parser.parseBackupArgs();
|
|
121
|
-
assert.strictEqual(typeof program.output, 'string');
|
|
122
|
-
assert.strictEqual(program.output, process.env.COUCH_OUTPUT);
|
|
123
|
-
done();
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
it('respects the COUCH_MODE env variable if the --mode backup command-line parameter is missing', function(done) {
|
|
127
|
-
process.argv = ['node', 'test'];
|
|
128
|
-
const program = parser.parseBackupArgs();
|
|
129
|
-
assert.strictEqual(typeof program.mode, 'string');
|
|
130
|
-
assert.strictEqual(program.mode, process.env.COUCH_MODE);
|
|
131
|
-
done();
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
it('respects the COUCH_QUIET env variable if the --quiet backup command-line parameter is missing', function(done) {
|
|
135
|
-
process.argv = ['node', 'test'];
|
|
136
|
-
const program = parser.parseBackupArgs();
|
|
137
|
-
assert.strictEqual(typeof program.quiet, 'boolean');
|
|
138
|
-
assert.strictEqual(program.quiet, true);
|
|
139
|
-
done();
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
it('respects the backup --url command-line parameter', function(done) {
|
|
143
|
-
const url = 'http://user:pass@myurl2.com';
|
|
144
|
-
process.argv = ['node', 'test', '--url', url];
|
|
145
|
-
const program = parser.parseBackupArgs();
|
|
146
|
-
assert.strictEqual(typeof program.url, 'string');
|
|
147
|
-
assert.strictEqual(program.url, url);
|
|
148
|
-
done();
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
it('respects the backup --db command-line parameter', function(done) {
|
|
152
|
-
const db = 'mydb2';
|
|
153
|
-
process.argv = ['node', 'test', '--db', db];
|
|
154
|
-
const program = parser.parseBackupArgs();
|
|
155
|
-
assert.strictEqual(typeof program.db, 'string');
|
|
156
|
-
assert.strictEqual(program.db, db);
|
|
157
|
-
done();
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
it('respects the backup --buffer-size command-line parameter', function(done) {
|
|
161
|
-
const bufferSize = 500;
|
|
162
|
-
process.argv = ['node', 'test', '--buffer-size', bufferSize];
|
|
163
|
-
const program = parser.parseBackupArgs();
|
|
164
|
-
assert.strictEqual(typeof program.bufferSize, 'number');
|
|
165
|
-
assert.strictEqual(program.bufferSize, bufferSize);
|
|
166
|
-
done();
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
it('respects the backup --parallelism command-line parameter', function(done) {
|
|
170
|
-
const parallelism = 10;
|
|
171
|
-
process.argv = ['node', 'test', '--parallelism', parallelism];
|
|
172
|
-
const program = parser.parseBackupArgs();
|
|
173
|
-
assert.strictEqual(typeof program.parallelism, 'number');
|
|
174
|
-
assert.strictEqual(program.parallelism, parallelism);
|
|
175
|
-
done();
|
|
176
|
-
});
|
|
177
|
-
|
|
178
|
-
it('respects the backup --request-timeout command-line parameter', function(done) {
|
|
179
|
-
const requestTimeout = 10000;
|
|
180
|
-
process.argv = ['node', 'test', '--request-timeout', requestTimeout];
|
|
181
|
-
const program = parser.parseBackupArgs();
|
|
182
|
-
assert.strictEqual(typeof program.requestTimeout, 'number');
|
|
183
|
-
assert.strictEqual(program.requestTimeout, requestTimeout);
|
|
184
|
-
done();
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
it('respects the backup --iam-api-key command-line parameter', function(done) {
|
|
188
|
-
const key = '123abc-789zyx_CBA987-XYZ321';
|
|
189
|
-
process.argv = ['node', 'test', '--iam-api-key', key];
|
|
190
|
-
const program = parser.parseBackupArgs();
|
|
191
|
-
assert.strictEqual(typeof program.iamApiKey, 'string');
|
|
192
|
-
assert.strictEqual(program.iamApiKey, key);
|
|
193
|
-
done();
|
|
194
|
-
});
|
|
195
|
-
|
|
196
|
-
it('respects the backup --log command-line parameter', function(done) {
|
|
197
|
-
const filename = 'my2.log';
|
|
198
|
-
process.argv = ['node', 'test', '--log', filename];
|
|
199
|
-
const program = parser.parseBackupArgs();
|
|
200
|
-
assert.strictEqual(typeof program.log, 'string');
|
|
201
|
-
assert.strictEqual(program.log, filename);
|
|
202
|
-
done();
|
|
203
|
-
});
|
|
204
|
-
|
|
205
|
-
it('respects the backup --resume command-line parameter', function(done) {
|
|
206
|
-
process.argv = ['node', 'test', '--resume'];
|
|
207
|
-
const program = parser.parseBackupArgs();
|
|
208
|
-
assert.strictEqual(typeof program.resume, 'boolean');
|
|
209
|
-
assert.strictEqual(program.resume, true);
|
|
210
|
-
done();
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
it('respects the backup --output command-line parameter', function(done) {
|
|
214
|
-
const filename = 'myfile2.txt';
|
|
215
|
-
process.argv = ['node', 'test', '--output', filename];
|
|
216
|
-
const program = parser.parseBackupArgs();
|
|
217
|
-
assert.strictEqual(typeof program.output, 'string');
|
|
218
|
-
assert.strictEqual(program.output, filename);
|
|
219
|
-
done();
|
|
220
|
-
});
|
|
221
|
-
|
|
222
|
-
it('respects the backup --mode full command-line parameter', function(done) {
|
|
223
|
-
process.argv = ['node', 'test', '--mode', 'full'];
|
|
224
|
-
const program = parser.parseBackupArgs();
|
|
225
|
-
assert.strictEqual(typeof program.mode, 'string');
|
|
226
|
-
assert.strictEqual(program.mode, 'full');
|
|
227
|
-
done();
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
it('respects the backup --mode shallow command-line parameter', function(done) {
|
|
231
|
-
process.argv = ['node', 'test', '--mode', 'shallow'];
|
|
232
|
-
const program = parser.parseBackupArgs();
|
|
233
|
-
assert.strictEqual(typeof program.mode, 'string');
|
|
234
|
-
assert.strictEqual(program.mode, 'shallow');
|
|
235
|
-
done();
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
it('respects the backup --quiet command-line parameter', function(done) {
|
|
239
|
-
process.argv = ['node', 'test', '--quiet'];
|
|
240
|
-
const program = parser.parseBackupArgs();
|
|
241
|
-
assert.strictEqual(typeof program.quiet, 'boolean');
|
|
242
|
-
assert.strictEqual(program.quiet, true);
|
|
243
|
-
done();
|
|
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
|
+
}
|
|
244
38
|
});
|
|
245
39
|
});
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
assert.strictEqual(typeof program.bufferSize, 'number');
|
|
268
|
-
assert.strictEqual(program.bufferSize, parseInt(process.env.COUCH_BUFFER_SIZE, 10));
|
|
269
|
-
done();
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
it('respects the COUCH_PARALLELISM env variable if the --parallelism restore command-line parameter is missing', function(done) {
|
|
273
|
-
process.argv = ['node', 'test'];
|
|
274
|
-
const program = parser.parseRestoreArgs();
|
|
275
|
-
assert.strictEqual(typeof program.parallelism, 'number');
|
|
276
|
-
assert.strictEqual(program.parallelism, parseInt(process.env.COUCH_PARALLELISM, 10));
|
|
277
|
-
done();
|
|
278
|
-
});
|
|
279
|
-
|
|
280
|
-
it('respects the COUCH_REQUEST_TIMEOUT env variable if the --request-timeout restore command-line parameter is missing', function(done) {
|
|
281
|
-
process.argv = ['node', 'test'];
|
|
282
|
-
const program = parser.parseRestoreArgs();
|
|
283
|
-
assert.strictEqual(typeof program.requestTimeout, 'number');
|
|
284
|
-
assert.strictEqual(program.requestTimeout, parseInt(process.env.COUCH_REQUEST_TIMEOUT, 10));
|
|
285
|
-
done();
|
|
286
|
-
});
|
|
287
|
-
|
|
288
|
-
it('respects the CLOUDANT_IAM_API_KEY env variable if the --iam-api-key restore command-line parameter is missing', function(done) {
|
|
289
|
-
process.argv = ['node', 'test'];
|
|
290
|
-
const program = parser.parseRestoreArgs();
|
|
291
|
-
assert.strictEqual(typeof program.iamApiKey, 'string');
|
|
292
|
-
assert.strictEqual(program.iamApiKey, process.env.CLOUDANT_IAM_API_KEY);
|
|
293
|
-
done();
|
|
294
|
-
});
|
|
295
|
-
|
|
296
|
-
it('respects the COUCH_QUIET env variable if the --quiet restorer command-line parameter is missing', function(done) {
|
|
297
|
-
process.argv = ['node', 'test'];
|
|
298
|
-
const program = parser.parseBackupArgs();
|
|
299
|
-
assert.strictEqual(typeof program.quiet, 'boolean');
|
|
300
|
-
assert.strictEqual(program.quiet, true);
|
|
301
|
-
done();
|
|
302
|
-
});
|
|
303
|
-
|
|
304
|
-
it('respects the restore --url command-line parameter', function(done) {
|
|
305
|
-
const url = 'https://a:b@myurl3.com';
|
|
306
|
-
process.argv = ['node', 'test', '--url', url];
|
|
307
|
-
const program = parser.parseRestoreArgs();
|
|
308
|
-
assert.strictEqual(typeof program.url, 'string');
|
|
309
|
-
assert.strictEqual(program.url, url);
|
|
310
|
-
done();
|
|
311
|
-
});
|
|
312
|
-
|
|
313
|
-
it('respects the restore --db command-line parameter', function(done) {
|
|
314
|
-
const db = 'mydb3';
|
|
315
|
-
process.argv = ['node', 'test', '--db', db];
|
|
316
|
-
const program = parser.parseRestoreArgs();
|
|
317
|
-
assert.strictEqual(typeof program.db, 'string');
|
|
318
|
-
assert.strictEqual(program.db, db);
|
|
319
|
-
done();
|
|
320
|
-
});
|
|
321
|
-
|
|
322
|
-
it('respects the restore --buffer-size command-line parameter', function(done) {
|
|
323
|
-
const bufferSize = 250;
|
|
324
|
-
process.argv = ['node', 'test', '--buffer-size', bufferSize];
|
|
325
|
-
const program = parser.parseRestoreArgs();
|
|
326
|
-
assert.strictEqual(typeof program.bufferSize, 'number');
|
|
327
|
-
assert.strictEqual(program.bufferSize, bufferSize);
|
|
328
|
-
done();
|
|
329
|
-
});
|
|
330
|
-
|
|
331
|
-
it('respects the restore --parallelism command-line parameter', function(done) {
|
|
332
|
-
const parallelism = 5;
|
|
333
|
-
process.argv = ['node', 'test', '--parallelism', parallelism];
|
|
334
|
-
const program = parser.parseRestoreArgs();
|
|
335
|
-
assert.strictEqual(typeof program.parallelism, 'number');
|
|
336
|
-
assert.strictEqual(program.parallelism, parallelism);
|
|
337
|
-
done();
|
|
338
|
-
});
|
|
339
|
-
|
|
340
|
-
it('respects the restore --request-timeout command-line parameter', function(done) {
|
|
341
|
-
const requestTimeout = 10000;
|
|
342
|
-
process.argv = ['node', 'test', '--request-timeout', requestTimeout];
|
|
343
|
-
const program = parser.parseRestoreArgs();
|
|
344
|
-
assert.strictEqual(typeof program.requestTimeout, 'number');
|
|
345
|
-
assert.strictEqual(program.requestTimeout, requestTimeout);
|
|
346
|
-
done();
|
|
347
|
-
});
|
|
348
|
-
|
|
349
|
-
it('respects the restore --iam-api-key command-line parameter', function(done) {
|
|
350
|
-
const key = '123abc-789zyx_CBA987-XYZ321';
|
|
351
|
-
process.argv = ['node', 'test', '--iam-api-key', key];
|
|
352
|
-
const program = parser.parseRestoreArgs();
|
|
353
|
-
assert.strictEqual(typeof program.iamApiKey, 'string');
|
|
354
|
-
assert.strictEqual(program.iamApiKey, key);
|
|
355
|
-
done();
|
|
356
|
-
});
|
|
357
|
-
|
|
358
|
-
it('respects the restore --quiet command-line parameter', function(done) {
|
|
359
|
-
process.argv = ['node', 'test', '--quiet'];
|
|
360
|
-
const program = parser.parseRestoreArgs();
|
|
361
|
-
assert.strictEqual(typeof program.quiet, 'boolean');
|
|
362
|
-
assert.strictEqual(program.quiet, true);
|
|
363
|
-
done();
|
|
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
|
+
});
|
|
364
61
|
});
|
|
365
62
|
});
|
|
366
63
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright ©
|
|
1
|
+
// Copyright © 2018, 2021 IBM Corp. All rights reserved.
|
|
2
2
|
//
|
|
3
3
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
// you may not use this file except in compliance with the License.
|
|
@@ -15,21 +15,78 @@
|
|
|
15
15
|
/* global describe it */
|
|
16
16
|
'use strict';
|
|
17
17
|
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
+
});
|
|
33
90
|
});
|
|
34
91
|
});
|
|
35
92
|
});
|