Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1from __future__ import print_function
2from builtins import str
3import os
4import unittest
5import shutil
6import unittest
7import yaml
8import time
9from fundamentals.utKit import utKit
10from fundamentals import tools
11from os.path import expanduser
12home = expanduser("~")
14packageDirectory = utKit("").get_project_root()
15settingsFile = packageDirectory + "/test_settings.yaml"
16# settingsFile = home + "/.config/soxspipe.recipes/soxspipe.recipes.yaml"
17su = tools(
18 arguments={"settingsFile": settingsFile},
19 docString=__doc__,
20 logLevel="DEBUG",
21 options_first=False,
22 projectName=None,
23 defaultSettingsFile=False
24)
25arguments, settings, log, dbConn = su.setup()
27# SETUP AND TEARDOWN FIXTURE FUNCTIONS FOR THE ENTIRE MODULE
28moduleDirectory = os.path.dirname(__file__)
29utKit = utKit(moduleDirectory)
30log, dbConn, pathToInputDir, pathToOutputDir = utKit.setupModule()
31utKit.tearDownModule()
33try:
34 shutil.rmtree(pathToOutputDir)
35except:
36 pass
37# COPY INPUT TO OUTPUT DIR
38shutil.copytree(pathToInputDir, pathToOutputDir)
40# Recursively create missing directories
41if not os.path.exists(pathToOutputDir):
42 os.makedirs(pathToOutputDir)
44dictList = []
46for i in range(100000):
48 dictList.append({
49 "col1": i,
50 "col2": i + 10.,
51 "col3": i / 2.,
52 "col4": i * 34.
53 })
55dbSettings = dbSettings = {
56 'host': '127.0.0.1',
57 'user': 'utuser',
58 'tunnel': False,
59 'password': 'utpass',
60 'db': 'unit_tests'
61}
63class test_insert_list_of_dictionaries_into_database_tables(unittest.TestCase):
65 def test_insert_list_of_dictionaries_into_database_tables_function(self):
67 t1 = time.time()
69 from fundamentals.mysql import insert_list_of_dictionaries_into_database_tables
70 insert_list_of_dictionaries_into_database_tables(
71 dbConn=dbConn,
72 log=log,
73 dictList=dictList,
74 dbTableName="test_insert_many",
75 uniqueKeyList=["col1", "col3"],
76 dateModified=True,
77 batchSize=10000,
78 replace=True,
79 dbSettings=dbSettings
80 )
82 # print(time.time() - t1)
84 # x-print-testpage-for-pessto-marshall-web-object
86 # x-class-to-test-named-worker-function