summaryrefslogtreecommitdiff
path: root/test-cli/test/helpers
diff options
context:
space:
mode:
authorHector Fernandez <hector@iatec.biz>2020-06-17 09:44:56 +0200
committerHector Fernandez <hector@iatec.biz>2020-06-17 09:44:56 +0200
commit09b3bb38fc7305c9b47c29bc90ebc9c636827307 (patch)
treea793c8f232031183960178d2a18fcde4baf3348f /test-cli/test/helpers
parent0dd2613b88d937e71b274d68924088b1bad65de4 (diff)
downloadboard-09b3bb38fc7305c9b47c29bc90ebc9c636827307.zip
board-09b3bb38fc7305c9b47c29bc90ebc9c636827307.tar.gz
board-09b3bb38fc7305c9b47c29bc90ebc9c636827307.tar.bz2
SOPA0000: Added support for saving results (strings or files) in the DB. It also saves a final DMESG file.
Diffstat (limited to 'test-cli/test/helpers')
-rw-r--r--test-cli/test/helpers/psqldb.py29
-rw-r--r--test-cli/test/helpers/testsrv_db.py37
2 files changed, 54 insertions, 12 deletions
diff --git a/test-cli/test/helpers/psqldb.py b/test-cli/test/helpers/psqldb.py
index 1d0e422..c98338a 100644
--- a/test-cli/test/helpers/psqldb.py
+++ b/test-cli/test/helpers/psqldb.py
@@ -1,29 +1,30 @@
import psycopg2
+
class PgSQLConnection(object):
"""aaaaaaa"""
__conection_object = None
__db_config = {'dbname': 'testsrv', 'host': '192.168.2.171',
- 'password': 'Idkfa2009', 'port': 5432, 'user': 'admin'}
+ 'password': 'Idkfa2009', 'port': 5432, 'user': 'admin'}
- def __init__ (self, connect_str = None):
+ def __init__(self, connect_str=None):
self.__conection_object = None
if connect_str is not None:
self.__db_config = connect_str
else:
self.__db_config = {'dbname': 'testsrv', 'host': '192.168.2.171',
- 'password': 'Idkfa2009', 'port': 5432, 'user': 'admin'}
+ 'password': 'Idkfa2009', 'port': 5432, 'user': 'admin'}
- def db_connect (self, connect_str = None):
+ def db_connect(self, connect_str=None):
result = False
try:
if connect_str == None:
self.__conection_object = psycopg2.connect(**self.__db_config)
else:
- self.__db_config = connect_str;
+ self.__db_config = connect_str
self.__conection_object = psycopg2.connect(**self.__db_config)
-
+
self.__conection_object.autocommit = True
result = True
except Exception as error:
@@ -37,20 +38,26 @@ class PgSQLConnection(object):
cur.close()
return data
+ def db_upload_large_file(self, filepath):
+ # a new connection must be created to use large objects
+ __conn = psycopg2.connect(**self.__db_config)
+ lobj = __conn.lobject(oid=0, mode="rw", new_oid=0, new_file=filepath)
+ fileoid = lobj.oid
+ lobj.close()
+ __conn.commit()
+ __conn.close()
+ return fileoid
+
def commit(self):
self.__conection_object.commit()
-
def db_close(self):
if self.__conection_object is not None:
self.__conection_object.close()
del self.__conection_object
self.__conection_object = None
-
def __del__(self):
if self.__conection_object is not None:
self.__conection_object.close()
- #print("disconnected")
-
-
+ # print("disconnected")
diff --git a/test-cli/test/helpers/testsrv_db.py b/test-cli/test/helpers/testsrv_db.py
index dc4fb55..dfb4d15 100644
--- a/test-cli/test/helpers/testsrv_db.py
+++ b/test-cli/test/helpers/testsrv_db.py
@@ -101,6 +101,42 @@ class TestSrv_Database(object):
# print(r)
return None
+ def upload_result_string(self, testid_ctl, testid, descrip, strdata):
+ sql = "SELECT isee.f_upload_result_string({},{},'{}','{}')".format(testid_ctl, testid, descrip, strdata)
+ # print('>>>' + sql)
+ try:
+ self.__sqlObject.db_execute_query(sql)
+ except Exception as err:
+ r = find_between(str(err), '#', '#')
+ # print(r)
+ return None
+
+ def upload_result_file(self, testid_ctl, testid, descrip, filepath):
+ try:
+ # generate a new oid
+ fileoid = self.__sqlObject.db_upload_large_file(filepath)
+ # insert into a table
+ sql = "SELECT isee.f_upload_result_file({},{},'{}','{}')".format(testid_ctl, testid, descrip, fileoid)
+ # print('>>>' + sql)
+ self.__sqlObject.db_execute_query(sql)
+ except Exception as err:
+ r = find_between(str(err), '#', '#')
+ # print(r)
+ return None
+
+ def upload_dmesg(self, testid_ctl, filepath):
+ try:
+ # generate a new oid
+ fileoid = self.__sqlObject.db_upload_large_file(filepath)
+ # insert into a table
+ sql = "SELECT isee.f_upload_dmesg_file({},'{}')".format(testid_ctl, fileoid)
+ # print('>>>' + sql)
+ self.__sqlObject.db_execute_query(sql)
+ except Exception as err:
+ r = find_between(str(err), '#', '#')
+ # print(r)
+ return None
+
def get_task_variables_list(self, board_uuid):
sql = "SELECT * FROM isee.f_get_task_variables_list('{}')".format(board_uuid)
# print('>>>' + sql)
@@ -176,4 +212,3 @@ class TestSrv_Database(object):
r = find_between(str(err), '#', '#')
# print(r)
return None
-