Exemplo n.º 1
0
 def test_import_csv_onecolum(self):
     transformer = import_csv.UtilImportCSVTransform()
   # one colum testing
     self.assertEqual(
         {
             "csv_text": "test\n1\n2\n3\n4\n5",
             "line_items": [
                 {
                     "test": "1",
                     "": ""
                 },
                 {
                     "test": "2",
                     "": ""
                 },
                 {
                     "test": "3",
                     "": ""
                 },
                 {
                     "test": "4",
                     "": ""
                 },
                 {
                     "test": "5",
                     "": ""
                 }
             ],
             "header": "forced",
             "dialect": "one"
         },
         transformer.transform('https://cdn.zapier.com/storage/files/15df84b0ed71dcdee2588ceb5c371367_2.csv', True, 'one'))
Exemplo n.º 2
0
 def test_import_csv_crlf_header(self):
   # forced_header, commas, crlf
     transformer = import_csv.UtilImportCSVTransform()
     self.maxDiff = None
     self.assertEqual(
         {
             "csv_text": "Publisher Name,App Name,Bundle Name,App Store URL,Device\r\nBigStar,roku.bigstartv.bigstar,roku.bigstartv.bigstar,roku.bigstartv.bigstar,roku.bigstartv.bigstar\r\n,com.bigstartv.bigstar,com.bigstartv.bigstar,com.bigstartv.bigstar,com.bigstartv.bigstar\r\n,com.bigstar.movie,com.bigstar.movie,com.bigstar.movie,com.bigstar.movie\r\n",
             "line_items": [
                 {
                     "Publisher Name": "BigStar",
                     "App Name": "roku.bigstartv.bigstar",
                     "Bundle Name": "roku.bigstartv.bigstar",
                     "App Store URL": "roku.bigstartv.bigstar",
                     "Device": "roku.bigstartv.bigstar"
                 },
                 {
                     "Publisher Name": "",
                     "App Name": "com.bigstartv.bigstar",
                     "Bundle Name": "com.bigstartv.bigstar",
                     "App Store URL": "com.bigstartv.bigstar",
                     "Device": "com.bigstartv.bigstar"
                 },
                 {
                     "Publisher Name": "",
                     "App Name": "com.bigstar.movie",
                     "Bundle Name": "com.bigstar.movie",
                     "App Store URL": "com.bigstar.movie",
                     "Device": "com.bigstar.movie"
                 }
             ],
             "header": "forced",
             "dialect": "default"
         },
         transformer.transform('https://cdn.zapier.com/storage/files/055e7c81a171202ac73a068e884bbf6c.csv', True, 'default'))     
Exemplo n.º 3
0
 def test_import_csv_headers_semicolon(self):
   # forced_header, quoted text, commas, semicolon
     transformer = import_csv.UtilImportCSVTransform()
     self.maxDiff = None
     self.assertEqual(
         {
             "csv_text": "name;address;city\nKirk,G;10515;BI\nFred;\"10515 NE Morning, Lane\"; BI\nStella;home;\"Lot\'s of stuff here,,,,\"\n",
             "line_items": [
                 {
                     "name": "Kirk,G",
                     "address": "10515",
                     "city": "BI",
                 },
                 {
                     "name": "Fred",
                     "address": "10515 NE Morning, Lane",
                     "city": " BI",
                 },
                 {
                     "name": "Stella",
                     "address": "home",
                     "city": "Lot's of stuff here,,,,"
                 }
             ],
             "header": "forced",
             "dialect": "default"
         },
         transformer.transform('https://cdn.zapier.com/storage/files/ec27f0d1a5686c615eb0ad494e9f0885_2.csv', True, 'default'))     
Exemplo n.º 4
0
 def test_import_csv_noheaders_forced(self):
   # forced_header headers - values missing, but all delimited
     transformer = import_csv.UtilImportCSVTransform()
     self.assertEqual(
         {
             "csv_text": "1,2,3,4,5\n5,6,7,,8\n9,,11,,12\n,,14,15,16",
             "line_items": [
                 {
                     "1": "5",
                     "2": "6",
                     "3": "7",
                     "4": "",
                     "5": "8"
                 },
                 {
                     "1": "9",
                     "2": "",
                     "3": "11",
                     "4": "",
                     "5": "12"
                 },
                 {
                     "1": "",
                     "2": "",
                     "3": "14",
                     "4": "15",
                     "5": "16"
                 }
             ],
             "header": "forced",
             "dialect": "default"
         },
         transformer.transform('https://cdn.zapier.com/storage/files/3a6f0142ef7840096103c615ebaf4c7b.csv', True, 'default'))  
Exemplo n.º 5
0
 def test_import_csv_utf8(self):
     transformer = import_csv.UtilImportCSVTransform()
     self.assertEqual(
         {
             "csv_text":
             "\xc3\xb8o,\xc3\xa9e,\xc3\xbcu\n1,2,3\n4,5,6\n8,\xc3\xbcu,10\n",
             "line_items": [{
                 "\xc3\xb8o": "1",
                 "\xc3\xa9e": "2",
                 "\xc3\xbcu": "3"
             }, {
                 "\xc3\xb8o": "4",
                 "\xc3\xa9e": "5",
                 "\xc3\xbcu": "6"
             }, {
                 "\xc3\xb8o": "8",
                 '\xc3\xa9e': "\xc3\xbcu",
                 "\xc3\xbcu": "10"
             }],
             "header":
             True,
             "dialect":
             "default"
         },
         transformer.transform(
             'https://cdn.zapier.com/storage/files/eb326ab5507c719578c9e6086fef13b2.txt',
             True, 'default'))
Exemplo n.º 6
0
 def test_import_csv_nocsv(self):
     transformer = import_csv.UtilImportCSVTransform()
     self.assertEqual(
         {
             "csv_text": "garbage stuff here.....",
             "line_items": [],
             "header": True,
             "dialect": "default"
         },
         transformer.transform('https://cdn.zapier.com/storage/files/4604a501b648795718a8ebe7143f2531.txt', True, 'default'))
Exemplo n.º 7
0
 def test_import_csv_notcsv(self):
     transformer = import_csv.UtilImportCSVTransform()
   # has csv data, but header gets in the way, so using "text" as dialect
     self.assertEqual(
         {
             "csv_text": "# ----------------------------------------\n# All Web Site Data\n# Google Ads Keywords\n# 20190930-20190930\n# ----------------------------------------\n\nKeyword,Clicks,Cost,CPC,Users,Sessions,Bounce Rate,Pages / Session,Ecommerce Conversion Rate,Transactions,Revenue\nlive chat,19,$22.50,$1.18,17,20,75.00%,0.95,0.00%,0,$0.00\nonsip,16,$114.43,$7.15,29,55,29.09%,1.16,0.00%,0,$0.00\n\nDay Index,Users\n9/30/19,58\n,58\n\n",
             "line_items": [],
             "header": "",
             "dialect": "text"
         },
         transformer.transform('https://zappy.zapier.com/csv%20not%20working%202019-10-1011%20at%2011.09.12.csv', False, 'text'))
         
Exemplo n.º 8
0
 def test_import_csv_tsv_header(self):
     # forced_header, commas, crlf
     transformer = import_csv.UtilImportCSVTransform()
     self.maxDiff = None
     self.assertEqual(
         {
             "csv_text":
             "WO#\tProperty\tProperty Name\tUnit\tPriority\tCategory\tName\tPhone Number\tEmail\tCompleted Date\tEmployee\n646179\t4026\tVellagio Apts\t118\tLow\tPlumbing\tGraciela Ochoa\t\t\t6/18/2019\tomara\n653957\t4018\tPine Village South Apts\t4220P-2\tMed\tOther\tJonathan Leybag\t\t\t6/18/2019\tluisd,raulav\n658318\t4026\tVellagio Apts\t192\tHigh\tSection8\tKaryn Dejohnette\t\t\t6/18/2019\tisaac,omara,orlando",
             "line_items": [{
                 "WO#": "646179",
                 "Property": "4026",
                 "Property Name": "Vellagio Apts",
                 "Unit": "118",
                 "Priority": "Low",
                 "Category": "Plumbing",
                 "Name": "Graciela Ochoa",
                 "Phone Number": "",
                 "Email": "",
                 "Completed Date": "6/18/2019",
                 "Employee": "omara"
             }, {
                 "WO#": "653957",
                 "Property": "4018",
                 "Property Name": "Pine Village South Apts",
                 "Unit": "4220P-2",
                 "Priority": "Med",
                 "Category": "Other",
                 "Name": "Jonathan Leybag",
                 "Phone Number": "",
                 "Email": "",
                 "Completed Date": "6/18/2019",
                 "Employee": "luisd,raulav"
             }, {
                 "WO#": "658318",
                 "Property": "4026",
                 "Property Name": "Vellagio Apts",
                 "Unit": "192",
                 "Priority": "High",
                 "Category": "Section8",
                 "Name": "Karyn Dejohnette",
                 "Phone Number": "",
                 "Email": "",
                 "Completed Date": "6/18/2019",
                 "Employee": "isaac,omara,orlando"
             }],
             "header":
             True,
             "dialect":
             "default"
         },
         transformer.transform(
             'https://cdn.zapier.com/storage/files/c7005379664c3e46dd7ee44ee2af0ac7.tsv',
             False, 'default'))
Exemplo n.º 9
0
 def test_import_csv(self):
     transformer = import_csv.UtilImportCSVTransform()
     # UTF-8 - text
     self.assertEqual(
         {
             "csv_text":
             "\xc3\xb8o,\xc3\xa9e,\xc3\xbcu\n1,2,3\n4,5,6\n8,\xc3\xbcu,10\n",
             "line_items": [{
                 "\xc3\xb8o": "1",
                 "\xc3\xa9e": "2",
                 "\xc3\xbcu": "3"
             }, {
                 "\xc3\xb8o": "4",
                 "\xc3\xa9e": "5",
                 "\xc3\xbcu": "6"
             }, {
                 "\xc3\xb8o": "8",
                 '\xc3\xa9e': "\xc3\xbcu",
                 "\xc3\xbcu": "10"
             }],
             "header":
             True
         },
         transformer.transform(
             'https://drive.google.com/uc?export=download&id=1R_Pr0qaIUUVNO8c0oHoFnNtJl3el86xw',
             True))
     # UTF-8 - line-item_
     # UTF-8 - no csv, just text
     self.assertEqual(
         {
             "csv_text": "garbage stuff here.....",
             "line_items": [],
             "header": True
         },
         transformer.transform(
             'https://drive.google.com/uc?export=download&id=14lvE6KkQzFvbl0bd8DOoW-12aTRUHEQH',
             True))
     # no headers - values missing, but all delimited
     self.assertEqual(
         {
             "csv_text":
             "1,2,3,4,5\n5,6,7,,8\n9,,11,,12\n,,14,15,16",
             "line_items": [{
                 "item_1": "1",
                 "item_2": "2",
                 "item_3": "3",
                 "item_4": "4",
                 "item_5": "5"
             }, {
                 "item_1": "5",
                 "item_2": "6",
                 "item_3": "7",
                 "item_4": "",
                 "item_5": "8"
             }, {
                 "item_1": "9",
                 "item_2": "",
                 "item_3": "11",
                 "item_4": "",
                 "item_5": "12"
             }, {
                 "item_1": "",
                 "item_2": "",
                 "item_3": "14",
                 "item_4": "15",
                 "item_5": "16"
             }],
             "header":
             False,
         },
         transformer.transform(
             'https://drive.google.com/uc?export=download&id=1I-t5L1KiDu4RDZCFTW2ydzJNwlfwm4Ld',
             False))
     # forced_header headers - values missing, but all delimited
     self.assertEqual(
         {
             "csv_text":
             "1,2,3,4,5\n5,6,7,,8\n9,,11,,12\n,,14,15,16",
             "line_items": [{
                 "1": "5",
                 "2": "6",
                 "3": "7",
                 "4": "",
                 "5": "8"
             }, {
                 "1": "9",
                 "2": "",
                 "3": "11",
                 "4": "",
                 "5": "12"
             }, {
                 "1": "",
                 "2": "",
                 "3": "14",
                 "4": "15",
                 "5": "16"
             }],
             "header":
             "forced",
         },
         transformer.transform(
             'https://drive.google.com/uc?export=download&id=1I-t5L1KiDu4RDZCFTW2ydzJNwlfwm4Ld',
             True))