Files
postgresmanager/tests/test_pm.py
tanuki tanuki cc2cbdc025 init
2025-11-10 10:35:26 -05:00

87 lines
3.6 KiB
Python

import logging
from ..postgresmanager import PostgresManager
logger = logging.getLogger(__name__)
def test_select_from_DB():
logger.info('=== Running Test Select from DB ===')
psql = PostgresManager(host="ingots-db-test", database="exploit_chain_catalog", user="ingots", password="ingots")
resp = psql.select("otas",columns=['version', 'device_name'] )
logger.info(f"Select returned: {resp}")
assert resp
def test_select_with_where_from_DB():
logger.info('=== Running Test Select with Where from DB ===')
psql = PostgresManager(host="ingots-db-test", database="exploit_chain_catalog", user="ingots", password="ingots")
resp = psql.select("otas",columns=['version', 'device_name'],where={'build_id':"BD4A.240925.111"})
logger.info(f"Select returned: {resp}")
assert len(resp) > 0
# Insert tests
def test_insert_into_DB():
logger.info(' === Running Test insert into DB ===')
psql = PostgresManager(host="ingots-db-test", database="exploit_chain_catalog", user="ingots", password="ingots")
data = {"device": "test", "version": "test", "vendor":"test"}
table = 'firmware'
assert psql.insert(table,data)
logger.info('Exiting Test insert into DB')
def test_insert_into_db_with_dict():
logger.info('=== Running Test insert into DB === ')
psql = PostgresManager(host="ingots-db-test", database="exploit_chain_catalog", user="ingots", password="ingots")
data = {"device": "test2", "version": "test2", "vendor":{}}
table = 'firmware'
assert psql.insert(table,data)
logger.info('Exiting Test insert into DB')
# Update tests
def test_update_single_update_record():
logger.info(' === Running Update single record === ')
psql = PostgresManager(host="ingots-db-test", database="exploit_chain_catalog", user="ingots", password="ingots")
set = {"version": "50"}
where = {"device": "test"}
table = 'firmware'
assert psql.update(table, set, where) > 0
logger.info('Exiting Test Update record')
def test_update_multiple_updates():
logger.info(' === Running Test Update with Multiple Values === ')
psql = PostgresManager(host="ingots-db-test", database="exploit_chain_catalog", user="ingots", password="ingots")
set = {"device": "test3", 'version': 'test_string'}
where = {'device':'test', 'version': '50'}
table = 'firmware'
assert psql.update(table,set,where=where) > 0
def test_update_with_dict_values():
logger.info(' === Running Test Update with Dictionary value === ')
psql = PostgresManager(host="ingots-db-test", database="exploit_chain_catalog", user="ingots", password="ingots")
set = {"version": {'ios':'leopard'}}
where = {'device':'test3', 'version': 'test_string'}
table = 'firmware'
assert psql.update(table,set,where=where) > 0
def test_delete_from_DB():
logger.info('=== Running Test deleting from table === ')
psql = PostgresManager(host="ingots-db-test", database="exploit_chain_catalog", user="ingots", password="ingots")
data = {"device": "test"}
table = 'firmware'
assert psql.delete(table,data)
#data['device'] = 'test2'
#assert psql.delete(table,data)
data['device'] = 'test3'
assert psql.delete(table,data)
logger.info('Exiting Test deleting from table DB')
def test_neg_update_record():
logger.info('=== Running NEGATIVE Test Update record ===')
psql = PostgresManager(host="ingots-db-test", database="exploit_chain_catalog", user="ingots", password="ingots")
set = {"version": "50"}
where = {"id": "88888888"}
table = 'firmware'
assert psql.update(table, set, where) == -1
logger.info('Exiting NEGATIVE Test Update record')