[8.0] [Reporting] Fix TypeError in CSV export (#121697) (#122451)

* [Reporting] Fix TypeError in CSV export (#121697)

* [Reporting] Fix TypeError in CSV export

* functional test for sparse data csv export

* make the test functional

* silly

* fix async

* fix tests

* Update x-pack/test/functional/apps/discover/reporting.ts

Co-authored-by: Michael Dokolin <dokmic@gmail.com>

* fix

* revert empty array map in test

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Michael Dokolin <dokmic@gmail.com>
(cherry picked from commit 5070b9fd03)

* fix migration version in archives
This commit is contained in:
Tim Sullivan 2022-01-06 16:37:08 -07:00 committed by GitHub
parent d8df2927f5
commit eb4bfd012f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 681 additions and 36 deletions

View file

@ -65,7 +65,6 @@ function isPlainStringArray(
export class CsvGenerator {
private _columns?: string[];
private _formatters?: Record<string, FieldFormat>;
private csvContainsFormulas = false;
private maxSizeReached = false;
private csvRowCount = 0;
@ -120,10 +119,6 @@ export class CsvGenerator {
* Load field formats for each field in the list
*/
private getFormatters(table: Datatable) {
if (this._formatters) {
return this._formatters;
}
// initialize field formats
const formatters: Record<string, FieldFormat> = {};
table.columns.forEach((c) => {
@ -131,8 +126,7 @@ export class CsvGenerator {
formatters[c.id] = fieldFormat;
});
this._formatters = formatters;
return this._formatters;
return formatters;
}
private escapeValues(settings: CsvExportSettings) {

View file

@ -7899,3 +7899,518 @@ ywMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\"
}\\",\\"New York\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active\\",\\"Jun 20, 2019 @ 00:00:00.000\\",729671,\\"sold_product_729671_5140, sold_product_729671_12381, sold_product_729671_16267, sold_product_729671_20230\\",\\"sold_product_729671_5140, sold_product_729671_12381, sold_product_729671_16267, sold_product_729671_20230\\",\\"60, 16.984, 24.984, 24.984\\",\\"60, 16.984, 24.984, 24.984\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active, Pyramidustries\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active, Pyramidustries\\",\\"30, 7.648, 12.492, 12\\",\\"60, 16.984, 24.984, 24.984\\",\\"5,140, 12,381, 16,267, 20,230\\",\\"Ankle boots - onix, Sweatshirt - rose, Tights - black, Sandals - silver\\",\\"Ankle boots - onix, Sweatshirt - rose, Tights - black, Sandals - silver\\",\\"1, 1, 1, 1\\",\\"ZO0375303753, ZO0178301783, ZO0226002260, ZO0137601376\\",\\"0, 0, 0, 0\\",\\"60, 16.984, 24.984, 24.984\\",\\"60, 16.984, 24.984, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0375303753, ZO0178301783, ZO0226002260, ZO0137601376\\",\\"126.938\\",\\"126.938\\",4,4,order,elyssa
"
`;
exports[`discover Discover CSV Export Generate CSV: sparse data handles field formatting for a field that doesn't exist initially 1`] = `
"timestamp,name,\\"updated_at\\"
\\"Aug 13, 2006 @ 00:00:00.000\\",\\"test-510\\",\\"-\\"
\\"Aug 12, 2006 @ 00:00:00.000\\",\\"test-509\\",\\"-\\"
\\"Aug 11, 2006 @ 00:00:00.000\\",\\"test-508\\",\\"-\\"
\\"Aug 10, 2006 @ 00:00:00.000\\",\\"test-507\\",\\"-\\"
\\"Aug 9, 2006 @ 00:00:00.000\\",\\"test-506\\",\\"-\\"
\\"Aug 8, 2006 @ 00:00:00.000\\",\\"test-505\\",\\"-\\"
\\"Aug 7, 2006 @ 00:00:00.000\\",\\"test-504\\",\\"-\\"
\\"Aug 6, 2006 @ 00:00:00.000\\",\\"test-503\\",\\"-\\"
\\"Aug 5, 2006 @ 00:00:00.000\\",\\"test-502\\",\\"-\\"
\\"Aug 4, 2006 @ 00:00:00.000\\",\\"test-501\\",\\"-\\"
\\"Aug 3, 2006 @ 00:00:00.000\\",\\"test-500\\",\\"-\\"
\\"Aug 2, 2006 @ 00:00:00.000\\",\\"test-499\\",\\"-\\"
\\"Aug 1, 2006 @ 00:00:00.000\\",\\"test-498\\",\\"-\\"
\\"Jul 31, 2006 @ 00:00:00.000\\",\\"test-497\\",\\"-\\"
\\"Jul 30, 2006 @ 00:00:00.000\\",\\"test-496\\",\\"-\\"
\\"Jul 29, 2006 @ 00:00:00.000\\",\\"test-495\\",\\"-\\"
\\"Jul 28, 2006 @ 00:00:00.000\\",\\"test-494\\",\\"-\\"
\\"Jul 27, 2006 @ 00:00:00.000\\",\\"test-493\\",\\"-\\"
\\"Jul 26, 2006 @ 00:00:00.000\\",\\"test-492\\",\\"-\\"
\\"Jul 25, 2006 @ 00:00:00.000\\",\\"test-491\\",\\"-\\"
\\"Jul 24, 2006 @ 00:00:00.000\\",\\"test-490\\",\\"-\\"
\\"Jul 23, 2006 @ 00:00:00.000\\",\\"test-489\\",\\"-\\"
\\"Jul 22, 2006 @ 00:00:00.000\\",\\"test-488\\",\\"-\\"
\\"Jul 21, 2006 @ 00:00:00.000\\",\\"test-487\\",\\"-\\"
\\"Jul 20, 2006 @ 00:00:00.000\\",\\"test-486\\",\\"-\\"
\\"Jul 19, 2006 @ 00:00:00.000\\",\\"test-485\\",\\"-\\"
\\"Jul 18, 2006 @ 00:00:00.000\\",\\"test-484\\",\\"-\\"
\\"Jul 17, 2006 @ 00:00:00.000\\",\\"test-483\\",\\"-\\"
\\"Jul 16, 2006 @ 00:00:00.000\\",\\"test-482\\",\\"-\\"
\\"Jul 15, 2006 @ 00:00:00.000\\",\\"test-481\\",\\"-\\"
\\"Jul 14, 2006 @ 00:00:00.000\\",\\"test-480\\",\\"-\\"
\\"Jul 13, 2006 @ 00:00:00.000\\",\\"test-479\\",\\"-\\"
\\"Jul 12, 2006 @ 00:00:00.000\\",\\"test-478\\",\\"-\\"
\\"Jul 11, 2006 @ 00:00:00.000\\",\\"test-477\\",\\"-\\"
\\"Jul 10, 2006 @ 00:00:00.000\\",\\"test-476\\",\\"-\\"
\\"Jul 9, 2006 @ 00:00:00.000\\",\\"test-475\\",\\"-\\"
\\"Jul 8, 2006 @ 00:00:00.000\\",\\"test-474\\",\\"-\\"
\\"Jul 7, 2006 @ 00:00:00.000\\",\\"test-473\\",\\"-\\"
\\"Jul 6, 2006 @ 00:00:00.000\\",\\"test-472\\",\\"-\\"
\\"Jul 5, 2006 @ 00:00:00.000\\",\\"test-471\\",\\"-\\"
\\"Jul 4, 2006 @ 00:00:00.000\\",\\"test-470\\",\\"-\\"
\\"Jul 3, 2006 @ 00:00:00.000\\",\\"test-469\\",\\"-\\"
\\"Jul 2, 2006 @ 00:00:00.000\\",\\"test-468\\",\\"-\\"
\\"Jul 1, 2006 @ 00:00:00.000\\",\\"test-467\\",\\"-\\"
\\"Jun 30, 2006 @ 00:00:00.000\\",\\"test-466\\",\\"-\\"
\\"Jun 29, 2006 @ 00:00:00.000\\",\\"test-465\\",\\"-\\"
\\"Jun 28, 2006 @ 00:00:00.000\\",\\"test-464\\",\\"-\\"
\\"Jun 27, 2006 @ 00:00:00.000\\",\\"test-463\\",\\"-\\"
\\"Jun 26, 2006 @ 00:00:00.000\\",\\"test-462\\",\\"-\\"
\\"Jun 25, 2006 @ 00:00:00.000\\",\\"test-461\\",\\"-\\"
\\"Jun 24, 2006 @ 00:00:00.000\\",\\"test-460\\",\\"-\\"
\\"Jun 23, 2006 @ 00:00:00.000\\",\\"test-459\\",\\"-\\"
\\"Jun 22, 2006 @ 00:00:00.000\\",\\"test-458\\",\\"-\\"
\\"Jun 21, 2006 @ 00:00:00.000\\",\\"test-457\\",\\"-\\"
\\"Jun 20, 2006 @ 00:00:00.000\\",\\"test-456\\",\\"-\\"
\\"Jun 19, 2006 @ 00:00:00.000\\",\\"test-455\\",\\"-\\"
\\"Jun 18, 2006 @ 00:00:00.000\\",\\"test-454\\",\\"-\\"
\\"Jun 17, 2006 @ 00:00:00.000\\",\\"test-453\\",\\"-\\"
\\"Jun 16, 2006 @ 00:00:00.000\\",\\"test-452\\",\\"-\\"
\\"Jun 15, 2006 @ 00:00:00.000\\",\\"test-451\\",\\"-\\"
\\"Jun 14, 2006 @ 00:00:00.000\\",\\"test-450\\",\\"-\\"
\\"Jun 13, 2006 @ 00:00:00.000\\",\\"test-449\\",\\"-\\"
\\"Jun 12, 2006 @ 00:00:00.000\\",\\"test-448\\",\\"-\\"
\\"Jun 11, 2006 @ 00:00:00.000\\",\\"test-447\\",\\"-\\"
\\"Jun 10, 2006 @ 00:00:00.000\\",\\"test-446\\",\\"-\\"
\\"Jun 9, 2006 @ 00:00:00.000\\",\\"test-445\\",\\"-\\"
\\"Jun 8, 2006 @ 00:00:00.000\\",\\"test-444\\",\\"-\\"
\\"Jun 7, 2006 @ 00:00:00.000\\",\\"test-443\\",\\"-\\"
\\"Jun 6, 2006 @ 00:00:00.000\\",\\"test-442\\",\\"-\\"
\\"Jun 5, 2006 @ 00:00:00.000\\",\\"test-441\\",\\"-\\"
\\"Jun 4, 2006 @ 00:00:00.000\\",\\"test-440\\",\\"-\\"
\\"Jun 3, 2006 @ 00:00:00.000\\",\\"test-439\\",\\"-\\"
\\"Jun 2, 2006 @ 00:00:00.000\\",\\"test-438\\",\\"-\\"
\\"Jun 1, 2006 @ 00:00:00.000\\",\\"test-437\\",\\"-\\"
\\"May 31, 2006 @ 00:00:00.000\\",\\"test-436\\",\\"-\\"
\\"May 30, 2006 @ 00:00:00.000\\",\\"test-435\\",\\"-\\"
\\"May 29, 2006 @ 00:00:00.000\\",\\"test-434\\",\\"-\\"
\\"May 28, 2006 @ 00:00:00.000\\",\\"test-433\\",\\"-\\"
\\"May 27, 2006 @ 00:00:00.000\\",\\"test-432\\",\\"-\\"
\\"May 26, 2006 @ 00:00:00.000\\",\\"test-431\\",\\"-\\"
\\"May 25, 2006 @ 00:00:00.000\\",\\"test-430\\",\\"-\\"
\\"May 24, 2006 @ 00:00:00.000\\",\\"test-429\\",\\"-\\"
\\"May 23, 2006 @ 00:00:00.000\\",\\"test-428\\",\\"-\\"
\\"May 22, 2006 @ 00:00:00.000\\",\\"test-427\\",\\"-\\"
\\"May 21, 2006 @ 00:00:00.000\\",\\"test-426\\",\\"-\\"
\\"May 20, 2006 @ 00:00:00.000\\",\\"test-425\\",\\"-\\"
\\"May 19, 2006 @ 00:00:00.000\\",\\"test-424\\",\\"-\\"
\\"May 18, 2006 @ 00:00:00.000\\",\\"test-423\\",\\"-\\"
\\"May 17, 2006 @ 00:00:00.000\\",\\"test-422\\",\\"-\\"
\\"May 16, 2006 @ 00:00:00.000\\",\\"test-421\\",\\"-\\"
\\"May 15, 2006 @ 00:00:00.000\\",\\"test-420\\",\\"-\\"
\\"May 14, 2006 @ 00:00:00.000\\",\\"test-419\\",\\"-\\"
\\"May 13, 2006 @ 00:00:00.000\\",\\"test-418\\",\\"-\\"
\\"May 12, 2006 @ 00:00:00.000\\",\\"test-417\\",\\"-\\"
\\"May 11, 2006 @ 00:00:00.000\\",\\"test-416\\",\\"-\\"
\\"May 10, 2006 @ 00:00:00.000\\",\\"test-415\\",\\"-\\"
\\"May 9, 2006 @ 00:00:00.000\\",\\"test-414\\",\\"-\\"
\\"May 8, 2006 @ 00:00:00.000\\",\\"test-413\\",\\"-\\"
\\"May 7, 2006 @ 00:00:00.000\\",\\"test-412\\",\\"-\\"
\\"May 6, 2006 @ 00:00:00.000\\",\\"test-411\\",\\"-\\"
\\"May 5, 2006 @ 00:00:00.000\\",\\"test-410\\",\\"-\\"
\\"May 4, 2006 @ 00:00:00.000\\",\\"test-409\\",\\"-\\"
\\"May 3, 2006 @ 00:00:00.000\\",\\"test-408\\",\\"-\\"
\\"May 2, 2006 @ 00:00:00.000\\",\\"test-407\\",\\"-\\"
\\"May 1, 2006 @ 00:00:00.000\\",\\"test-406\\",\\"-\\"
\\"Apr 30, 2006 @ 00:00:00.000\\",\\"test-405\\",\\"-\\"
\\"Apr 29, 2006 @ 00:00:00.000\\",\\"test-404\\",\\"-\\"
\\"Apr 28, 2006 @ 00:00:00.000\\",\\"test-403\\",\\"-\\"
\\"Apr 27, 2006 @ 00:00:00.000\\",\\"test-402\\",\\"-\\"
\\"Apr 26, 2006 @ 00:00:00.000\\",\\"test-401\\",\\"-\\"
\\"Apr 25, 2006 @ 00:00:00.000\\",\\"test-400\\",\\"-\\"
\\"Apr 24, 2006 @ 00:00:00.000\\",\\"test-399\\",\\"-\\"
\\"Apr 23, 2006 @ 00:00:00.000\\",\\"test-398\\",\\"-\\"
\\"Apr 22, 2006 @ 00:00:00.000\\",\\"test-397\\",\\"-\\"
\\"Apr 21, 2006 @ 00:00:00.000\\",\\"test-396\\",\\"-\\"
\\"Apr 20, 2006 @ 00:00:00.000\\",\\"test-395\\",\\"-\\"
\\"Apr 19, 2006 @ 00:00:00.000\\",\\"test-394\\",\\"-\\"
\\"Apr 18, 2006 @ 00:00:00.000\\",\\"test-393\\",\\"-\\"
\\"Apr 17, 2006 @ 00:00:00.000\\",\\"test-392\\",\\"-\\"
\\"Apr 16, 2006 @ 00:00:00.000\\",\\"test-391\\",\\"-\\"
\\"Apr 15, 2006 @ 00:00:00.000\\",\\"test-390\\",\\"-\\"
\\"Apr 14, 2006 @ 00:00:00.000\\",\\"test-389\\",\\"-\\"
\\"Apr 13, 2006 @ 00:00:00.000\\",\\"test-388\\",\\"-\\"
\\"Apr 12, 2006 @ 00:00:00.000\\",\\"test-387\\",\\"-\\"
\\"Apr 11, 2006 @ 00:00:00.000\\",\\"test-386\\",\\"-\\"
\\"Apr 10, 2006 @ 00:00:00.000\\",\\"test-385\\",\\"-\\"
\\"Apr 9, 2006 @ 00:00:00.000\\",\\"test-384\\",\\"-\\"
\\"Apr 8, 2006 @ 00:00:00.000\\",\\"test-383\\",\\"-\\"
\\"Apr 7, 2006 @ 00:00:00.000\\",\\"test-382\\",\\"-\\"
\\"Apr 6, 2006 @ 00:00:00.000\\",\\"test-381\\",\\"-\\"
\\"Apr 5, 2006 @ 00:00:00.000\\",\\"test-380\\",\\"-\\"
\\"Apr 4, 2006 @ 00:00:00.000\\",\\"test-379\\",\\"-\\"
\\"Apr 3, 2006 @ 00:00:00.000\\",\\"test-378\\",\\"-\\"
\\"Apr 2, 2006 @ 00:00:00.000\\",\\"test-377\\",\\"-\\"
\\"Apr 1, 2006 @ 00:00:00.000\\",\\"test-376\\",\\"-\\"
\\"Mar 31, 2006 @ 00:00:00.000\\",\\"test-375\\",\\"-\\"
\\"Mar 30, 2006 @ 00:00:00.000\\",\\"test-374\\",\\"-\\"
\\"Mar 29, 2006 @ 00:00:00.000\\",\\"test-373\\",\\"-\\"
\\"Mar 28, 2006 @ 00:00:00.000\\",\\"test-372\\",\\"-\\"
\\"Mar 27, 2006 @ 00:00:00.000\\",\\"test-371\\",\\"-\\"
\\"Mar 26, 2006 @ 00:00:00.000\\",\\"test-370\\",\\"-\\"
\\"Mar 25, 2006 @ 00:00:00.000\\",\\"test-369\\",\\"-\\"
\\"Mar 24, 2006 @ 00:00:00.000\\",\\"test-368\\",\\"-\\"
\\"Mar 23, 2006 @ 00:00:00.000\\",\\"test-367\\",\\"-\\"
\\"Mar 22, 2006 @ 00:00:00.000\\",\\"test-366\\",\\"-\\"
\\"Mar 21, 2006 @ 00:00:00.000\\",\\"test-365\\",\\"-\\"
\\"Mar 20, 2006 @ 00:00:00.000\\",\\"test-364\\",\\"-\\"
\\"Mar 19, 2006 @ 00:00:00.000\\",\\"test-363\\",\\"-\\"
\\"Mar 18, 2006 @ 00:00:00.000\\",\\"test-362\\",\\"-\\"
\\"Mar 17, 2006 @ 00:00:00.000\\",\\"test-361\\",\\"-\\"
\\"Mar 16, 2006 @ 00:00:00.000\\",\\"test-360\\",\\"-\\"
\\"Mar 15, 2006 @ 00:00:00.000\\",\\"test-359\\",\\"-\\"
\\"Mar 14, 2006 @ 00:00:00.000\\",\\"test-358\\",\\"-\\"
\\"Mar 13, 2006 @ 00:00:00.000\\",\\"test-357\\",\\"-\\"
\\"Mar 12, 2006 @ 00:00:00.000\\",\\"test-356\\",\\"-\\"
\\"Mar 11, 2006 @ 00:00:00.000\\",\\"test-355\\",\\"-\\"
\\"Mar 10, 2006 @ 00:00:00.000\\",\\"test-354\\",\\"-\\"
\\"Mar 9, 2006 @ 00:00:00.000\\",\\"test-353\\",\\"-\\"
\\"Mar 8, 2006 @ 00:00:00.000\\",\\"test-352\\",\\"-\\"
\\"Mar 7, 2006 @ 00:00:00.000\\",\\"test-351\\",\\"-\\"
\\"Mar 6, 2006 @ 00:00:00.000\\",\\"test-350\\",\\"-\\"
\\"Mar 5, 2006 @ 00:00:00.000\\",\\"test-349\\",\\"-\\"
\\"Mar 4, 2006 @ 00:00:00.000\\",\\"test-348\\",\\"-\\"
\\"Mar 3, 2006 @ 00:00:00.000\\",\\"test-347\\",\\"-\\"
\\"Mar 2, 2006 @ 00:00:00.000\\",\\"test-346\\",\\"-\\"
\\"Mar 1, 2006 @ 00:00:00.000\\",\\"test-345\\",\\"-\\"
\\"Feb 28, 2006 @ 00:00:00.000\\",\\"test-344\\",\\"-\\"
\\"Feb 27, 2006 @ 00:00:00.000\\",\\"test-343\\",\\"-\\"
\\"Feb 26, 2006 @ 00:00:00.000\\",\\"test-342\\",\\"-\\"
\\"Feb 25, 2006 @ 00:00:00.000\\",\\"test-341\\",\\"-\\"
\\"Feb 24, 2006 @ 00:00:00.000\\",\\"test-340\\",\\"-\\"
\\"Feb 23, 2006 @ 00:00:00.000\\",\\"test-339\\",\\"-\\"
\\"Feb 22, 2006 @ 00:00:00.000\\",\\"test-338\\",\\"-\\"
\\"Feb 21, 2006 @ 00:00:00.000\\",\\"test-337\\",\\"-\\"
\\"Feb 20, 2006 @ 00:00:00.000\\",\\"test-336\\",\\"-\\"
\\"Feb 19, 2006 @ 00:00:00.000\\",\\"test-335\\",\\"-\\"
\\"Feb 18, 2006 @ 00:00:00.000\\",\\"test-334\\",\\"-\\"
\\"Feb 17, 2006 @ 00:00:00.000\\",\\"test-333\\",\\"-\\"
\\"Feb 16, 2006 @ 00:00:00.000\\",\\"test-332\\",\\"-\\"
\\"Feb 15, 2006 @ 00:00:00.000\\",\\"test-331\\",\\"-\\"
\\"Feb 14, 2006 @ 00:00:00.000\\",\\"test-330\\",\\"-\\"
\\"Feb 13, 2006 @ 00:00:00.000\\",\\"test-329\\",\\"-\\"
\\"Feb 12, 2006 @ 00:00:00.000\\",\\"test-328\\",\\"-\\"
\\"Feb 11, 2006 @ 00:00:00.000\\",\\"test-327\\",\\"-\\"
\\"Feb 10, 2006 @ 00:00:00.000\\",\\"test-326\\",\\"-\\"
\\"Feb 9, 2006 @ 00:00:00.000\\",\\"test-325\\",\\"-\\"
\\"Feb 8, 2006 @ 00:00:00.000\\",\\"test-324\\",\\"-\\"
\\"Feb 7, 2006 @ 00:00:00.000\\",\\"test-323\\",\\"-\\"
\\"Feb 6, 2006 @ 00:00:00.000\\",\\"test-322\\",\\"-\\"
\\"Feb 5, 2006 @ 00:00:00.000\\",\\"test-321\\",\\"-\\"
\\"Feb 4, 2006 @ 00:00:00.000\\",\\"test-320\\",\\"-\\"
\\"Feb 3, 2006 @ 00:00:00.000\\",\\"test-319\\",\\"-\\"
\\"Feb 2, 2006 @ 00:00:00.000\\",\\"test-318\\",\\"-\\"
\\"Feb 1, 2006 @ 00:00:00.000\\",\\"test-317\\",\\"-\\"
\\"Jan 31, 2006 @ 00:00:00.000\\",\\"test-316\\",\\"-\\"
\\"Jan 30, 2006 @ 00:00:00.000\\",\\"test-315\\",\\"-\\"
\\"Jan 29, 2006 @ 00:00:00.000\\",\\"test-314\\",\\"-\\"
\\"Jan 28, 2006 @ 00:00:00.000\\",\\"test-313\\",\\"-\\"
\\"Jan 27, 2006 @ 00:00:00.000\\",\\"test-312\\",\\"-\\"
\\"Jan 26, 2006 @ 00:00:00.000\\",\\"test-311\\",\\"-\\"
\\"Jan 25, 2006 @ 00:00:00.000\\",\\"test-310\\",\\"-\\"
\\"Jan 24, 2006 @ 00:00:00.000\\",\\"test-309\\",\\"-\\"
\\"Jan 23, 2006 @ 00:00:00.000\\",\\"test-308\\",\\"-\\"
\\"Jan 22, 2006 @ 00:00:00.000\\",\\"test-307\\",\\"-\\"
\\"Jan 21, 2006 @ 00:00:00.000\\",\\"test-306\\",\\"-\\"
\\"Jan 20, 2006 @ 00:00:00.000\\",\\"test-305\\",\\"-\\"
\\"Jan 19, 2006 @ 00:00:00.000\\",\\"test-304\\",\\"-\\"
\\"Jan 18, 2006 @ 00:00:00.000\\",\\"test-303\\",\\"-\\"
\\"Jan 17, 2006 @ 00:00:00.000\\",\\"test-302\\",\\"-\\"
\\"Jan 16, 2006 @ 00:00:00.000\\",\\"test-301\\",\\"-\\"
\\"Jan 15, 2006 @ 00:00:00.000\\",\\"test-300\\",\\"-\\"
\\"Jan 14, 2006 @ 00:00:00.000\\",\\"test-299\\",\\"-\\"
\\"Jan 13, 2006 @ 00:00:00.000\\",\\"test-298\\",\\"-\\"
\\"Jan 12, 2006 @ 00:00:00.000\\",\\"test-297\\",\\"-\\"
\\"Jan 11, 2006 @ 00:00:00.000\\",\\"test-296\\",\\"-\\"
\\"Jan 10, 2006 @ 00:00:00.000\\",\\"test-295\\",\\"-\\"
\\"Jan 9, 2006 @ 00:00:00.000\\",\\"test-294\\",\\"-\\"
\\"Jan 8, 2006 @ 00:00:00.000\\",\\"test-293\\",\\"-\\"
\\"Jan 7, 2006 @ 00:00:00.000\\",\\"test-292\\",\\"-\\"
\\"Jan 6, 2006 @ 00:00:00.000\\",\\"test-291\\",\\"-\\"
\\"Jan 5, 2006 @ 00:00:00.000\\",\\"test-290\\",\\"-\\"
\\"Jan 4, 2006 @ 00:00:00.000\\",\\"test-289\\",\\"-\\"
\\"Jan 3, 2006 @ 00:00:00.000\\",\\"test-288\\",\\"-\\"
\\"Jan 2, 2006 @ 00:00:00.000\\",\\"test-287\\",\\"-\\"
\\"Jan 1, 2006 @ 00:00:00.000\\",\\"test-286\\",\\"-\\"
\\"Dec 31, 2005 @ 00:00:00.000\\",\\"test-285\\",\\"-\\"
\\"Dec 30, 2005 @ 00:00:00.000\\",\\"test-284\\",\\"-\\"
\\"Dec 29, 2005 @ 00:00:00.000\\",\\"test-283\\",\\"-\\"
\\"Dec 28, 2005 @ 00:00:00.000\\",\\"test-282\\",\\"-\\"
\\"Dec 27, 2005 @ 00:00:00.000\\",\\"test-281\\",\\"-\\"
\\"Dec 26, 2005 @ 00:00:00.000\\",\\"test-280\\",\\"-\\"
\\"Dec 25, 2005 @ 00:00:00.000\\",\\"test-279\\",\\"-\\"
\\"Dec 24, 2005 @ 00:00:00.000\\",\\"test-278\\",\\"-\\"
\\"Dec 23, 2005 @ 00:00:00.000\\",\\"test-277\\",\\"-\\"
\\"Dec 22, 2005 @ 00:00:00.000\\",\\"test-276\\",\\"-\\"
\\"Dec 21, 2005 @ 00:00:00.000\\",\\"test-275\\",\\"-\\"
\\"Dec 20, 2005 @ 00:00:00.000\\",\\"test-274\\",\\"-\\"
\\"Dec 19, 2005 @ 00:00:00.000\\",\\"test-273\\",\\"-\\"
\\"Dec 18, 2005 @ 00:00:00.000\\",\\"test-272\\",\\"-\\"
\\"Dec 17, 2005 @ 00:00:00.000\\",\\"test-271\\",\\"-\\"
\\"Dec 16, 2005 @ 00:00:00.000\\",\\"test-270\\",\\"-\\"
\\"Dec 15, 2005 @ 00:00:00.000\\",\\"test-269\\",\\"-\\"
\\"Dec 14, 2005 @ 00:00:00.000\\",\\"test-268\\",\\"-\\"
\\"Dec 13, 2005 @ 00:00:00.000\\",\\"test-267\\",\\"-\\"
\\"Dec 12, 2005 @ 00:00:00.000\\",\\"test-266\\",\\"-\\"
\\"Dec 11, 2005 @ 00:00:00.000\\",\\"test-265\\",\\"-\\"
\\"Dec 10, 2005 @ 00:00:00.000\\",\\"test-264\\",\\"-\\"
\\"Dec 9, 2005 @ 00:00:00.000\\",\\"test-263\\",\\"-\\"
\\"Dec 8, 2005 @ 00:00:00.000\\",\\"test-262\\",\\"-\\"
\\"Dec 7, 2005 @ 00:00:00.000\\",\\"test-261\\",\\"-\\"
\\"Dec 6, 2005 @ 00:00:00.000\\",\\"test-260\\",\\"-\\"
\\"Dec 5, 2005 @ 00:00:00.000\\",\\"test-259\\",\\"-\\"
\\"Dec 4, 2005 @ 00:00:00.000\\",\\"test-258\\",\\"-\\"
\\"Dec 3, 2005 @ 00:00:00.000\\",\\"test-257\\",\\"-\\"
\\"Dec 2, 2005 @ 00:00:00.000\\",\\"test-256\\",\\"-\\"
\\"Dec 1, 2005 @ 00:00:00.000\\",\\"test-255\\",\\"-\\"
\\"Nov 30, 2005 @ 00:00:00.000\\",\\"test-254\\",\\"-\\"
\\"Nov 29, 2005 @ 00:00:00.000\\",\\"test-253\\",\\"-\\"
\\"Nov 28, 2005 @ 00:00:00.000\\",\\"test-252\\",\\"-\\"
\\"Nov 27, 2005 @ 00:00:00.000\\",\\"test-251\\",\\"-\\"
\\"Nov 26, 2005 @ 00:00:00.000\\",\\"test-250\\",\\"-\\"
\\"Nov 25, 2005 @ 00:00:00.000\\",\\"test-249\\",\\"-\\"
\\"Nov 24, 2005 @ 00:00:00.000\\",\\"test-248\\",\\"-\\"
\\"Nov 23, 2005 @ 00:00:00.000\\",\\"test-247\\",\\"-\\"
\\"Nov 22, 2005 @ 00:00:00.000\\",\\"test-246\\",\\"-\\"
\\"Nov 21, 2005 @ 00:00:00.000\\",\\"test-245\\",\\"-\\"
\\"Nov 20, 2005 @ 00:00:00.000\\",\\"test-244\\",\\"-\\"
\\"Nov 19, 2005 @ 00:00:00.000\\",\\"test-243\\",\\"-\\"
\\"Nov 18, 2005 @ 00:00:00.000\\",\\"test-242\\",\\"-\\"
\\"Nov 17, 2005 @ 00:00:00.000\\",\\"test-241\\",\\"-\\"
\\"Nov 16, 2005 @ 00:00:00.000\\",\\"test-240\\",\\"-\\"
\\"Nov 15, 2005 @ 00:00:00.000\\",\\"test-239\\",\\"-\\"
\\"Nov 14, 2005 @ 00:00:00.000\\",\\"test-238\\",\\"-\\"
\\"Nov 13, 2005 @ 00:00:00.000\\",\\"test-237\\",\\"-\\"
\\"Nov 12, 2005 @ 00:00:00.000\\",\\"test-236\\",\\"-\\"
\\"Nov 11, 2005 @ 00:00:00.000\\",\\"test-235\\",\\"-\\"
\\"Nov 10, 2005 @ 00:00:00.000\\",\\"test-234\\",\\"-\\"
\\"Nov 9, 2005 @ 00:00:00.000\\",\\"test-233\\",\\"-\\"
\\"Nov 8, 2005 @ 00:00:00.000\\",\\"test-232\\",\\"-\\"
\\"Nov 7, 2005 @ 00:00:00.000\\",\\"test-231\\",\\"-\\"
\\"Nov 6, 2005 @ 00:00:00.000\\",\\"test-230\\",\\"-\\"
\\"Nov 5, 2005 @ 00:00:00.000\\",\\"test-229\\",\\"-\\"
\\"Nov 4, 2005 @ 00:00:00.000\\",\\"test-228\\",\\"-\\"
\\"Nov 3, 2005 @ 00:00:00.000\\",\\"test-227\\",\\"-\\"
\\"Nov 2, 2005 @ 00:00:00.000\\",\\"test-226\\",\\"-\\"
\\"Nov 1, 2005 @ 00:00:00.000\\",\\"test-225\\",\\"-\\"
\\"Oct 31, 2005 @ 00:00:00.000\\",\\"test-224\\",\\"-\\"
\\"Oct 30, 2005 @ 00:00:00.000\\",\\"test-223\\",\\"-\\"
\\"Oct 29, 2005 @ 00:00:00.000\\",\\"test-222\\",\\"-\\"
\\"Oct 28, 2005 @ 00:00:00.000\\",\\"test-221\\",\\"-\\"
\\"Oct 27, 2005 @ 00:00:00.000\\",\\"test-220\\",\\"-\\"
\\"Oct 26, 2005 @ 00:00:00.000\\",\\"test-219\\",\\"-\\"
\\"Oct 25, 2005 @ 00:00:00.000\\",\\"test-218\\",\\"-\\"
\\"Oct 24, 2005 @ 00:00:00.000\\",\\"test-217\\",\\"-\\"
\\"Oct 23, 2005 @ 00:00:00.000\\",\\"test-216\\",\\"-\\"
\\"Oct 22, 2005 @ 00:00:00.000\\",\\"test-215\\",\\"-\\"
\\"Oct 21, 2005 @ 00:00:00.000\\",\\"test-214\\",\\"-\\"
\\"Oct 20, 2005 @ 00:00:00.000\\",\\"test-213\\",\\"-\\"
\\"Oct 19, 2005 @ 00:00:00.000\\",\\"test-212\\",\\"-\\"
\\"Oct 18, 2005 @ 00:00:00.000\\",\\"test-211\\",\\"-\\"
\\"Oct 17, 2005 @ 00:00:00.000\\",\\"test-210\\",\\"-\\"
\\"Oct 16, 2005 @ 00:00:00.000\\",\\"test-209\\",\\"-\\"
\\"Oct 15, 2005 @ 00:00:00.000\\",\\"test-208\\",\\"-\\"
\\"Oct 14, 2005 @ 00:00:00.000\\",\\"test-207\\",\\"-\\"
\\"Oct 13, 2005 @ 00:00:00.000\\",\\"test-206\\",\\"-\\"
\\"Oct 12, 2005 @ 00:00:00.000\\",\\"test-205\\",\\"-\\"
\\"Oct 11, 2005 @ 00:00:00.000\\",\\"test-204\\",\\"-\\"
\\"Oct 10, 2005 @ 00:00:00.000\\",\\"test-203\\",\\"-\\"
\\"Oct 9, 2005 @ 00:00:00.000\\",\\"test-202\\",\\"-\\"
\\"Oct 8, 2005 @ 00:00:00.000\\",\\"test-201\\",\\"-\\"
\\"Oct 7, 2005 @ 00:00:00.000\\",\\"test-200\\",\\"-\\"
\\"Oct 6, 2005 @ 00:00:00.000\\",\\"test-199\\",\\"-\\"
\\"Oct 5, 2005 @ 00:00:00.000\\",\\"test-198\\",\\"-\\"
\\"Oct 4, 2005 @ 00:00:00.000\\",\\"test-197\\",\\"-\\"
\\"Oct 3, 2005 @ 00:00:00.000\\",\\"test-196\\",\\"-\\"
\\"Oct 2, 2005 @ 00:00:00.000\\",\\"test-195\\",\\"-\\"
\\"Oct 1, 2005 @ 00:00:00.000\\",\\"test-194\\",\\"-\\"
\\"Sep 30, 2005 @ 00:00:00.000\\",\\"test-193\\",\\"-\\"
\\"Sep 29, 2005 @ 00:00:00.000\\",\\"test-192\\",\\"-\\"
\\"Sep 28, 2005 @ 00:00:00.000\\",\\"test-191\\",\\"-\\"
\\"Sep 27, 2005 @ 00:00:00.000\\",\\"test-190\\",\\"-\\"
\\"Sep 26, 2005 @ 00:00:00.000\\",\\"test-189\\",\\"-\\"
\\"Sep 25, 2005 @ 00:00:00.000\\",\\"test-188\\",\\"-\\"
\\"Sep 24, 2005 @ 00:00:00.000\\",\\"test-187\\",\\"-\\"
\\"Sep 23, 2005 @ 00:00:00.000\\",\\"test-186\\",\\"-\\"
\\"Sep 22, 2005 @ 00:00:00.000\\",\\"test-185\\",\\"-\\"
\\"Sep 21, 2005 @ 00:00:00.000\\",\\"test-184\\",\\"-\\"
\\"Sep 20, 2005 @ 00:00:00.000\\",\\"test-183\\",\\"-\\"
\\"Sep 19, 2005 @ 00:00:00.000\\",\\"test-182\\",\\"-\\"
\\"Sep 18, 2005 @ 00:00:00.000\\",\\"test-181\\",\\"-\\"
\\"Sep 17, 2005 @ 00:00:00.000\\",\\"test-180\\",\\"-\\"
\\"Sep 16, 2005 @ 00:00:00.000\\",\\"test-179\\",\\"-\\"
\\"Sep 15, 2005 @ 00:00:00.000\\",\\"test-178\\",\\"-\\"
\\"Sep 14, 2005 @ 00:00:00.000\\",\\"test-177\\",\\"-\\"
\\"Sep 13, 2005 @ 00:00:00.000\\",\\"test-176\\",\\"-\\"
\\"Sep 12, 2005 @ 00:00:00.000\\",\\"test-175\\",\\"-\\"
\\"Sep 11, 2005 @ 00:00:00.000\\",\\"test-174\\",\\"-\\"
\\"Sep 10, 2005 @ 00:00:00.000\\",\\"test-173\\",\\"-\\"
\\"Sep 9, 2005 @ 00:00:00.000\\",\\"test-172\\",\\"-\\"
\\"Sep 8, 2005 @ 00:00:00.000\\",\\"test-171\\",\\"-\\"
\\"Sep 7, 2005 @ 00:00:00.000\\",\\"test-170\\",\\"-\\"
\\"Sep 6, 2005 @ 00:00:00.000\\",\\"test-169\\",\\"-\\"
\\"Sep 5, 2005 @ 00:00:00.000\\",\\"test-168\\",\\"-\\"
\\"Sep 4, 2005 @ 00:00:00.000\\",\\"test-167\\",\\"-\\"
\\"Sep 3, 2005 @ 00:00:00.000\\",\\"test-166\\",\\"-\\"
\\"Sep 2, 2005 @ 00:00:00.000\\",\\"test-165\\",\\"-\\"
\\"Sep 1, 2005 @ 00:00:00.000\\",\\"test-164\\",\\"-\\"
\\"Aug 31, 2005 @ 00:00:00.000\\",\\"test-163\\",\\"-\\"
\\"Aug 30, 2005 @ 00:00:00.000\\",\\"test-162\\",\\"-\\"
\\"Aug 29, 2005 @ 00:00:00.000\\",\\"test-161\\",\\"-\\"
\\"Aug 28, 2005 @ 00:00:00.000\\",\\"test-160\\",\\"-\\"
\\"Aug 27, 2005 @ 00:00:00.000\\",\\"test-159\\",\\"-\\"
\\"Aug 26, 2005 @ 00:00:00.000\\",\\"test-158\\",\\"-\\"
\\"Aug 25, 2005 @ 00:00:00.000\\",\\"test-157\\",\\"-\\"
\\"Aug 24, 2005 @ 00:00:00.000\\",\\"test-156\\",\\"-\\"
\\"Aug 23, 2005 @ 00:00:00.000\\",\\"test-155\\",\\"-\\"
\\"Aug 22, 2005 @ 00:00:00.000\\",\\"test-154\\",\\"-\\"
\\"Aug 21, 2005 @ 00:00:00.000\\",\\"test-153\\",\\"-\\"
\\"Aug 20, 2005 @ 00:00:00.000\\",\\"test-152\\",\\"-\\"
\\"Aug 19, 2005 @ 00:00:00.000\\",\\"test-151\\",\\"-\\"
\\"Aug 18, 2005 @ 00:00:00.000\\",\\"test-150\\",\\"-\\"
\\"Aug 17, 2005 @ 00:00:00.000\\",\\"test-149\\",\\"-\\"
\\"Aug 16, 2005 @ 00:00:00.000\\",\\"test-148\\",\\"-\\"
\\"Aug 15, 2005 @ 00:00:00.000\\",\\"test-147\\",\\"-\\"
\\"Aug 14, 2005 @ 00:00:00.000\\",\\"test-146\\",\\"-\\"
\\"Aug 13, 2005 @ 00:00:00.000\\",\\"test-145\\",\\"-\\"
\\"Aug 12, 2005 @ 00:00:00.000\\",\\"test-144\\",\\"-\\"
\\"Aug 11, 2005 @ 00:00:00.000\\",\\"test-143\\",\\"-\\"
\\"Aug 10, 2005 @ 00:00:00.000\\",\\"test-142\\",\\"-\\"
\\"Aug 9, 2005 @ 00:00:00.000\\",\\"test-141\\",\\"-\\"
\\"Aug 8, 2005 @ 00:00:00.000\\",\\"test-140\\",\\"-\\"
\\"Aug 7, 2005 @ 00:00:00.000\\",\\"test-139\\",\\"-\\"
\\"Aug 6, 2005 @ 00:00:00.000\\",\\"test-138\\",\\"-\\"
\\"Aug 5, 2005 @ 00:00:00.000\\",\\"test-137\\",\\"-\\"
\\"Aug 4, 2005 @ 00:00:00.000\\",\\"test-136\\",\\"-\\"
\\"Aug 3, 2005 @ 00:00:00.000\\",\\"test-135\\",\\"-\\"
\\"Aug 2, 2005 @ 00:00:00.000\\",\\"test-134\\",\\"-\\"
\\"Aug 1, 2005 @ 00:00:00.000\\",\\"test-133\\",\\"-\\"
\\"Jul 31, 2005 @ 00:00:00.000\\",\\"test-132\\",\\"-\\"
\\"Jul 30, 2005 @ 00:00:00.000\\",\\"test-131\\",\\"-\\"
\\"Jul 29, 2005 @ 00:00:00.000\\",\\"test-130\\",\\"-\\"
\\"Jul 28, 2005 @ 00:00:00.000\\",\\"test-129\\",\\"-\\"
\\"Jul 27, 2005 @ 00:00:00.000\\",\\"test-128\\",\\"-\\"
\\"Jul 26, 2005 @ 00:00:00.000\\",\\"test-127\\",\\"-\\"
\\"Jul 25, 2005 @ 00:00:00.000\\",\\"test-126\\",\\"-\\"
\\"Jul 24, 2005 @ 00:00:00.000\\",\\"test-125\\",\\"-\\"
\\"Jul 23, 2005 @ 00:00:00.000\\",\\"test-124\\",\\"-\\"
\\"Jul 22, 2005 @ 00:00:00.000\\",\\"test-123\\",\\"-\\"
\\"Jul 21, 2005 @ 00:00:00.000\\",\\"test-122\\",\\"-\\"
\\"Jul 20, 2005 @ 00:00:00.000\\",\\"test-121\\",\\"-\\"
\\"Jul 19, 2005 @ 00:00:00.000\\",\\"test-120\\",\\"-\\"
\\"Jul 18, 2005 @ 00:00:00.000\\",\\"test-119\\",\\"-\\"
\\"Jul 17, 2005 @ 00:00:00.000\\",\\"test-118\\",\\"-\\"
\\"Jul 16, 2005 @ 00:00:00.000\\",\\"test-117\\",\\"-\\"
\\"Jul 15, 2005 @ 00:00:00.000\\",\\"test-116\\",\\"-\\"
\\"Jul 14, 2005 @ 00:00:00.000\\",\\"test-115\\",\\"-\\"
\\"Jul 13, 2005 @ 00:00:00.000\\",\\"test-114\\",\\"-\\"
\\"Jul 12, 2005 @ 00:00:00.000\\",\\"test-113\\",\\"-\\"
\\"Jul 11, 2005 @ 00:00:00.000\\",\\"test-112\\",\\"-\\"
\\"Jul 10, 2005 @ 00:00:00.000\\",\\"test-111\\",\\"-\\"
\\"Jul 9, 2005 @ 00:00:00.000\\",\\"test-110\\",\\"-\\"
\\"Jul 8, 2005 @ 00:00:00.000\\",\\"test-109\\",\\"-\\"
\\"Jul 7, 2005 @ 00:00:00.000\\",\\"test-108\\",\\"-\\"
\\"Jul 6, 2005 @ 00:00:00.000\\",\\"test-107\\",\\"-\\"
\\"Jul 5, 2005 @ 00:00:00.000\\",\\"test-106\\",\\"-\\"
\\"Jul 4, 2005 @ 00:00:00.000\\",\\"test-105\\",\\"-\\"
\\"Jul 3, 2005 @ 00:00:00.000\\",\\"test-104\\",\\"-\\"
\\"Jul 2, 2005 @ 00:00:00.000\\",\\"test-103\\",\\"-\\"
\\"Jul 1, 2005 @ 00:00:00.000\\",\\"test-102\\",\\"-\\"
\\"Jun 30, 2005 @ 00:00:00.000\\",\\"test-101\\",\\"-\\"
\\"Jun 29, 2005 @ 00:00:00.000\\",\\"test-100\\",\\"-\\"
\\"Jun 28, 2005 @ 00:00:00.000\\",\\"test-99\\",\\"-\\"
\\"Jun 27, 2005 @ 00:00:00.000\\",\\"test-98\\",\\"-\\"
\\"Jun 26, 2005 @ 00:00:00.000\\",\\"test-97\\",\\"-\\"
\\"Jun 25, 2005 @ 00:00:00.000\\",\\"test-96\\",\\"-\\"
\\"Jun 24, 2005 @ 00:00:00.000\\",\\"test-95\\",\\"-\\"
\\"Jun 23, 2005 @ 00:00:00.000\\",\\"test-94\\",\\"-\\"
\\"Jun 22, 2005 @ 00:00:00.000\\",\\"test-93\\",\\"-\\"
\\"Jun 21, 2005 @ 00:00:00.000\\",\\"test-92\\",\\"-\\"
\\"Jun 20, 2005 @ 00:00:00.000\\",\\"test-91\\",\\"-\\"
\\"Jun 19, 2005 @ 00:00:00.000\\",\\"test-90\\",\\"-\\"
\\"Jun 18, 2005 @ 00:00:00.000\\",\\"test-89\\",\\"-\\"
\\"Jun 17, 2005 @ 00:00:00.000\\",\\"test-88\\",\\"-\\"
\\"Jun 16, 2005 @ 00:00:00.000\\",\\"test-87\\",\\"-\\"
\\"Jun 15, 2005 @ 00:00:00.000\\",\\"test-86\\",\\"-\\"
\\"Jun 14, 2005 @ 00:00:00.000\\",\\"test-85\\",\\"-\\"
\\"Jun 13, 2005 @ 00:00:00.000\\",\\"test-84\\",\\"-\\"
\\"Jun 12, 2005 @ 00:00:00.000\\",\\"test-83\\",\\"-\\"
\\"Jun 11, 2005 @ 00:00:00.000\\",\\"test-82\\",\\"-\\"
\\"Jun 10, 2005 @ 00:00:00.000\\",\\"test-81\\",\\"-\\"
\\"Jun 9, 2005 @ 00:00:00.000\\",\\"test-80\\",\\"-\\"
\\"Jun 8, 2005 @ 00:00:00.000\\",\\"test-79\\",\\"-\\"
\\"Jun 7, 2005 @ 00:00:00.000\\",\\"test-78\\",\\"-\\"
\\"Jun 6, 2005 @ 00:00:00.000\\",\\"test-77\\",\\"-\\"
\\"Jun 5, 2005 @ 00:00:00.000\\",\\"test-76\\",\\"-\\"
\\"Jun 4, 2005 @ 00:00:00.000\\",\\"test-75\\",\\"-\\"
\\"Jun 3, 2005 @ 00:00:00.000\\",\\"test-74\\",\\"-\\"
\\"Jun 2, 2005 @ 00:00:00.000\\",\\"test-73\\",\\"-\\"
\\"Jun 1, 2005 @ 00:00:00.000\\",\\"test-72\\",\\"-\\"
\\"May 31, 2005 @ 00:00:00.000\\",\\"test-71\\",\\"-\\"
\\"May 30, 2005 @ 00:00:00.000\\",\\"test-70\\",\\"-\\"
\\"May 29, 2005 @ 00:00:00.000\\",\\"test-69\\",\\"-\\"
\\"May 28, 2005 @ 00:00:00.000\\",\\"test-68\\",\\"-\\"
\\"May 27, 2005 @ 00:00:00.000\\",\\"test-67\\",\\"-\\"
\\"May 26, 2005 @ 00:00:00.000\\",\\"test-66\\",\\"-\\"
\\"May 25, 2005 @ 00:00:00.000\\",\\"test-65\\",\\"-\\"
\\"May 24, 2005 @ 00:00:00.000\\",\\"test-64\\",\\"-\\"
\\"May 23, 2005 @ 00:00:00.000\\",\\"test-63\\",\\"-\\"
\\"May 22, 2005 @ 00:00:00.000\\",\\"test-62\\",\\"-\\"
\\"May 21, 2005 @ 00:00:00.000\\",\\"test-61\\",\\"-\\"
\\"May 20, 2005 @ 00:00:00.000\\",\\"test-60\\",\\"-\\"
\\"May 19, 2005 @ 00:00:00.000\\",\\"test-59\\",\\"-\\"
\\"May 18, 2005 @ 00:00:00.000\\",\\"test-58\\",\\"-\\"
\\"May 17, 2005 @ 00:00:00.000\\",\\"test-57\\",\\"-\\"
\\"May 16, 2005 @ 00:00:00.000\\",\\"test-56\\",\\"-\\"
\\"May 15, 2005 @ 00:00:00.000\\",\\"test-55\\",\\"-\\"
\\"May 14, 2005 @ 00:00:00.000\\",\\"test-54\\",\\"-\\"
\\"May 13, 2005 @ 00:00:00.000\\",\\"test-53\\",\\"-\\"
\\"May 12, 2005 @ 00:00:00.000\\",\\"test-52\\",\\"-\\"
\\"May 11, 2005 @ 00:00:00.000\\",\\"test-51\\",\\"-\\"
\\"May 10, 2005 @ 00:00:00.000\\",\\"test-50\\",\\"-\\"
\\"May 9, 2005 @ 00:00:00.000\\",\\"test-49\\",\\"-\\"
\\"May 8, 2005 @ 00:00:00.000\\",\\"test-48\\",\\"-\\"
\\"May 7, 2005 @ 00:00:00.000\\",\\"test-47\\",\\"-\\"
\\"May 6, 2005 @ 00:00:00.000\\",\\"test-46\\",\\"-\\"
\\"May 5, 2005 @ 00:00:00.000\\",\\"test-45\\",\\"-\\"
\\"May 4, 2005 @ 00:00:00.000\\",\\"test-44\\",\\"-\\"
\\"May 3, 2005 @ 00:00:00.000\\",\\"test-43\\",\\"-\\"
\\"May 2, 2005 @ 00:00:00.000\\",\\"test-42\\",\\"-\\"
\\"May 1, 2005 @ 00:00:00.000\\",\\"test-41\\",\\"-\\"
\\"Apr 30, 2005 @ 00:00:00.000\\",\\"test-40\\",\\"-\\"
\\"Apr 29, 2005 @ 00:00:00.000\\",\\"test-39\\",\\"-\\"
\\"Apr 28, 2005 @ 00:00:00.000\\",\\"test-38\\",\\"-\\"
\\"Apr 27, 2005 @ 00:00:00.000\\",\\"test-37\\",\\"-\\"
\\"Apr 26, 2005 @ 00:00:00.000\\",\\"test-36\\",\\"-\\"
\\"Apr 25, 2005 @ 00:00:00.000\\",\\"test-35\\",\\"-\\"
\\"Apr 24, 2005 @ 00:00:00.000\\",\\"test-34\\",\\"-\\"
\\"Apr 23, 2005 @ 00:00:00.000\\",\\"test-33\\",\\"-\\"
\\"Apr 22, 2005 @ 00:00:00.000\\",\\"test-32\\",\\"-\\"
\\"Apr 21, 2005 @ 00:00:00.000\\",\\"test-31\\",\\"-\\"
\\"Apr 20, 2005 @ 00:00:00.000\\",\\"test-30\\",\\"-\\"
\\"Apr 19, 2005 @ 00:00:00.000\\",\\"test-29\\",\\"-\\"
\\"Apr 18, 2005 @ 00:00:00.000\\",\\"test-28\\",\\"-\\"
\\"Apr 17, 2005 @ 00:00:00.000\\",\\"test-27\\",\\"-\\"
\\"Apr 16, 2005 @ 00:00:00.000\\",\\"test-26\\",\\"-\\"
\\"Apr 15, 2005 @ 00:00:00.000\\",\\"test-25\\",\\"-\\"
\\"Apr 14, 2005 @ 00:00:00.000\\",\\"test-24\\",\\"-\\"
\\"Apr 13, 2005 @ 00:00:00.000\\",\\"test-23\\",\\"-\\"
\\"Apr 12, 2005 @ 00:00:00.000\\",\\"test-22\\",\\"-\\"
\\"Apr 11, 2005 @ 00:00:00.000\\",\\"test-21\\",\\"-\\"
\\"Apr 10, 2005 @ 00:00:00.000\\",\\"test-20\\",\\"-\\"
\\"Apr 9, 2005 @ 00:00:00.000\\",\\"test-19\\",\\"-\\"
\\"Apr 8, 2005 @ 00:00:00.000\\",\\"test-18\\",\\"-\\"
\\"Apr 7, 2005 @ 00:00:00.000\\",\\"test-17\\",\\"-\\"
\\"Apr 6, 2005 @ 00:00:00.000\\",\\"test-16\\",\\"-\\"
\\"Apr 5, 2005 @ 00:00:00.000\\",\\"test-15\\",\\"-\\"
\\"Apr 4, 2005 @ 00:00:00.000\\",\\"test-14\\",\\"-\\"
\\"Apr 3, 2005 @ 00:00:00.000\\",\\"test-13\\",\\"-\\"
\\"Apr 2, 2005 @ 00:00:00.000\\",\\"test-12\\",\\"-\\"
\\"Apr 1, 2005 @ 00:00:00.000\\",\\"test-11\\",\\"-\\"
\\"Mar 31, 2005 @ 00:00:00.000\\",\\"test-10\\",\\"-\\"
\\"Mar 30, 2005 @ 00:00:00.000\\",\\"test-9\\",\\"-\\"
\\"Mar 29, 2005 @ 00:00:00.000\\",\\"test-8\\",\\"-\\"
\\"Mar 28, 2005 @ 00:00:00.000\\",\\"test-7\\",\\"-\\"
\\"Mar 27, 2005 @ 00:00:00.000\\",\\"test-6\\",\\"-\\"
\\"Mar 26, 2005 @ 00:00:00.000\\",\\"test-5\\",\\"-\\"
\\"Mar 25, 2005 @ 00:00:00.000\\",\\"test-4\\",\\"-\\"
\\"Mar 24, 2005 @ 00:00:00.000\\",\\"test-3\\",\\"-\\"
\\"Mar 23, 2005 @ 00:00:00.000\\",\\"test-2\\",\\"-\\"
\\"Mar 22, 2005 @ 00:00:00.000\\",\\"test-1\\",\\"Aug 14, 2006 @ 00:00:00.000\\"
"
`;

View file

@ -6,9 +6,11 @@
*/
import expect from '@kbn/expect';
import moment from 'moment';
import { FtrProviderContext } from '../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const reportingAPI = getService('reporting');
const log = getService('log');
const es = getService('es');
const esArchiver = getService('esArchiver');
@ -17,7 +19,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const retry = getService('retry');
const PageObjects = getPageObjects(['reporting', 'common', 'discover', 'timePicker']);
const filterBar = getService('filterBar');
const ecommerceSOPath = 'x-pack/test/functional/fixtures/kbn_archiver/reporting/ecommerce.json';
const setFieldsFromSource = async (setValue: boolean) => {
await kibanaServer.uiSettings.update({ 'discover:searchFieldsFromSource': setValue });
@ -37,26 +38,17 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
};
describe('Discover CSV Export', () => {
before('initialize tests', async () => {
log.debug('ReportingPage:initTests');
await esArchiver.load('x-pack/test/functional/es_archives/reporting/ecommerce');
await kibanaServer.importExport.load(ecommerceSOPath);
await browser.setWindowSize(1600, 850);
});
after('clean up archives', async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/reporting/ecommerce');
await kibanaServer.importExport.unload(ecommerceSOPath);
await es.deleteByQuery({
index: '.reporting-*',
refresh: true,
body: { query: { match_all: {} } },
});
await esArchiver.emptyKibanaIndex();
});
describe('Check Available', () => {
beforeEach(() => PageObjects.common.navigateToApp('discover'));
before(async () => {
await esArchiver.emptyKibanaIndex();
await reportingAPI.initEcommerce();
await PageObjects.common.navigateToApp('discover');
await PageObjects.discover.selectIndexPattern('ecommerce');
});
after(async () => {
await reportingAPI.teardownEcommerce();
});
it('is available if new', async () => {
await PageObjects.reporting.openCsvReportingPanel();
@ -71,8 +63,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
describe('Generate CSV: new search', () => {
before(async () => {
await reportingAPI.initEcommerce();
});
after(async () => {
await reportingAPI.teardownEcommerce();
});
beforeEach(async () => {
await kibanaServer.importExport.load(ecommerceSOPath);
await PageObjects.common.navigateToApp('discover');
await PageObjects.discover.selectIndexPattern('ecommerce');
});
@ -117,6 +116,87 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
});
describe('Generate CSV: sparse data', () => {
const TEST_INDEX_NAME = 'sparse_data';
const TEST_DOC_COUNT = 510;
const reset = async () => {
try {
await es.indices.delete({ index: TEST_INDEX_NAME });
} catch (err) {
// ignore 404 error
}
};
const createDocs = async () => {
interface TestDoc {
timestamp: string;
name: string;
updated_at?: string;
}
const docs = Array<TestDoc>(TEST_DOC_COUNT);
for (let i = 0; i <= docs.length - 1; i++) {
const name = `test-${i + 1}`;
const timestamp = moment
.utc('2006-08-14T00:00:00')
.subtract(TEST_DOC_COUNT - i, 'days')
.format();
if (i === 0) {
// only the oldest document has a value for updated_at
docs[i] = {
timestamp,
name,
updated_at: moment.utc('2006-08-14T00:00:00').format(),
};
} else {
// updated_at field does not exist in first 500 documents
docs[i] = { timestamp, name };
}
}
const res = await es.bulk({
index: TEST_INDEX_NAME,
body: docs.map((d) => `{"index": {}}\n${JSON.stringify(d)}\n`),
});
log.info(`Indexed ${res.items.length} test data docs.`);
};
before(async () => {
await reset();
await createDocs();
await reportingAPI.initLogs();
await PageObjects.common.navigateToApp('discover');
await PageObjects.discover.loadSavedSearch('Sparse Columns');
});
after(async () => {
await reportingAPI.teardownLogs();
await reset();
});
beforeEach(async () => {
const fromTime = 'Jan 10, 2005 @ 00:00:00.000';
const toTime = 'Dec 23, 2006 @ 00:00:00.000';
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await retry.try(async () => {
expect(await PageObjects.discover.getHitCount()).to.equal(TEST_DOC_COUNT.toString());
});
});
it(`handles field formatting for a field that doesn't exist initially`, async () => {
const res = await getReport();
expect(res.status).to.equal(200);
expect(res.get('content-type')).to.equal('text/csv; charset=utf-8');
const csvFile = res.text;
expectSnapshot(csvFile).toMatch();
});
});
describe('Generate CSV: archived search', () => {
const setupPage = async () => {
const fromTime = 'Jun 22, 2019 @ 00:00:00.000';
@ -125,19 +205,20 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
};
before(async () => {
await esArchiver.load('x-pack/test/functional/es_archives/reporting/ecommerce');
await kibanaServer.importExport.load(ecommerceSOPath);
await reportingAPI.initEcommerce();
await PageObjects.common.navigateToApp('discover');
await PageObjects.discover.selectIndexPattern('ecommerce');
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/reporting/ecommerce');
await kibanaServer.importExport.unload(ecommerceSOPath);
await reportingAPI.teardownEcommerce();
});
beforeEach(() => PageObjects.common.navigateToApp('discover'));
beforeEach(async () => {
await setupPage();
});
it('generates a report with data', async () => {
await setupPage();
await PageObjects.discover.loadSavedSearch('Ecommerce Data');
await retry.try(async () => {
expect(await PageObjects.discover.getHitCount()).to.equal('740');
@ -148,7 +229,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
it('generates a report with filtered data', async () => {
await setupPage();
await PageObjects.discover.loadSavedSearch('Ecommerce Data');
await retry.try(async () => {
expect(await PageObjects.discover.getHitCount()).to.equal('740');
@ -165,7 +245,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
it('generates a report with discover:searchFieldsFromSource = true', async () => {
await setupPage();
await PageObjects.discover.loadSavedSearch('Ecommerce Data');
await retry.try(async () => {

View file

@ -439,3 +439,60 @@
"updated_at": "2020-07-16T20:34:01.098Z",
"version": "WzIsMl0="
}
{
"attributes": {
"fieldAttrs": "{\"name\":{\"count\":1},\"updated_at\":{\"count\":1}}",
"fields": "[]",
"runtimeFieldMap": "{}",
"timeFieldName": "timestamp",
"title": "sparse_data",
"typeMeta": "{}"
},
"coreMigrationVersion": "8.0.0",
"id": "8e5af470-62de-11ec-a5fd-9f30aac1abbf",
"migrationVersion": {
"index-pattern": "8.0.0"
},
"references": [],
"type": "index-pattern",
"updated_at": "2021-12-22T04:22:06.170Z",
"version": "WzI0MTQsMV0="
}
{
"attributes": {
"columns": [
"name",
"updated_at"
],
"description": "",
"grid": {},
"hideChart": false,
"kibanaSavedObjectMeta": {
"searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}"
},
"sort": [
[
"timestamp",
"desc"
]
],
"title": "Sparse Columns"
},
"coreMigrationVersion": "8.0.0",
"id": "c4367dd0-62de-11ec-a5fd-9f30aac1abbf",
"migrationVersion": {
"search": "8.0.0"
},
"references": [
{
"id": "8e5af470-62de-11ec-a5fd-9f30aac1abbf",
"name": "kibanaSavedObjectMeta.searchSourceJSON.index",
"type": "index-pattern"
}
],
"type": "search",
"updated_at": "2021-12-22T04:22:25.584Z",
"version": "WzI0MjAsMV0="
}