mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Feature test improvement and fix intermittent failures part of #3936
This commit is contained in:
committed by
Akshay Joshi
parent
7090c02014
commit
9f455a514e
@@ -12,42 +12,32 @@ def close_bgprocess_popup(tester):
|
||||
"""
|
||||
Allows us to close the background process popup window
|
||||
"""
|
||||
screen_shot_taken = False
|
||||
# In cases where backup div is not closed (sometime due to some error)
|
||||
try:
|
||||
if tester.driver.find_element_by_css_selector(
|
||||
".ajs-message.ajs-bg-bgprocess.ajs-visible"):
|
||||
tester._screenshot()
|
||||
screen_shot_taken = True
|
||||
tester.driver.find_element_by_css_selector(
|
||||
".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click()
|
||||
tester.page.wait_for_element_to_disappear(
|
||||
lambda x: tester.driver.find_element_by_xpath(
|
||||
".ajs-message.ajs-bg-bgprocess.ajs-visible"))
|
||||
except Exception:
|
||||
pass
|
||||
tester.driver.find_element_by_css_selector(
|
||||
".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click()
|
||||
|
||||
# In cases where restore div is not closed (sometime due to some error)
|
||||
try:
|
||||
if tester.driver.find_element_by_xpath(
|
||||
tester.page.wait_for_element_to_disappear(
|
||||
lambda x: tester.driver.find_element_by_xpath(
|
||||
"//div[@class='card-header bg-primary d-flex']/div"
|
||||
"[contains(text(), 'Restoring backup')]"):
|
||||
tester._screenshot()
|
||||
screen_shot_taken = True
|
||||
tester.driver.find_element_by_css_selector(
|
||||
".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click()
|
||||
"[contains(text(), 'Restoring backup')]"))
|
||||
except Exception:
|
||||
pass
|
||||
tester.driver.find_element_by_css_selector(
|
||||
".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click()
|
||||
|
||||
# In cases where maintenance window is not closed (sometime due to some
|
||||
# error)
|
||||
try:
|
||||
if tester.driver.find_element_by_xpath(
|
||||
tester.page.wait_for_element_to_disappear(
|
||||
lambda x: tester.driver.find_element_by_xpath(
|
||||
"//div[@class='card-header bg-primary d-flex']/div"
|
||||
"[contains(text(), 'Maintenance')]"):
|
||||
tester._screenshot()
|
||||
screen_shot_taken = True
|
||||
tester.driver.find_element_by_css_selector(
|
||||
".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click()
|
||||
"[contains(text(), 'Maintenance')]"))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
if not screen_shot_taken:
|
||||
tester._screenshot()
|
||||
tester.driver.find_element_by_css_selector(
|
||||
".btn.btn-sm-sq.btn-primary.pg-bg-close > i").click()
|
||||
|
||||
@@ -194,6 +194,35 @@ def create_table(server, db_name, table_name, extra_columns=[]):
|
||||
traceback.print_exc(file=sys.stderr)
|
||||
|
||||
|
||||
def delete_table(server, db_name, table_name):
|
||||
"""
|
||||
This function delete the table in given database
|
||||
:param server: server details
|
||||
:type server: dict
|
||||
:param db_name: database name
|
||||
:type db_name: str
|
||||
:param table_name: table name
|
||||
:type table_name: str
|
||||
:return: None
|
||||
"""
|
||||
try:
|
||||
connection = get_db_connection(
|
||||
db_name,
|
||||
server['username'],
|
||||
server['db_password'],
|
||||
server['host'],
|
||||
server['port'],
|
||||
server['sslmode']
|
||||
)
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
'''DROP TABLE IF EXISTS "%s"''' % table_name)
|
||||
connection.commit()
|
||||
|
||||
except Exception:
|
||||
traceback.print_exc(file=sys.stderr)
|
||||
|
||||
|
||||
def create_table_with_query(server, db_name, query):
|
||||
"""
|
||||
This function create the table in given database name
|
||||
@@ -774,22 +803,28 @@ def configure_preferences(default_binary_path=None):
|
||||
|
||||
|
||||
def reset_layout_db(user_id=None):
|
||||
conn = sqlite3.connect(config.TEST_SQLITE_PATH)
|
||||
cur = conn.cursor()
|
||||
retry = 3
|
||||
while retry > 0:
|
||||
try:
|
||||
conn = sqlite3.connect(config.TEST_SQLITE_PATH)
|
||||
cur = conn.cursor()
|
||||
|
||||
if user_id is None:
|
||||
cur.execute(
|
||||
'DELETE FROM SETTING WHERE SETTING in '
|
||||
'("Browser/Layout", "SQLEditor/Layout", "Debugger/Layout")'
|
||||
)
|
||||
else:
|
||||
cur.execute(
|
||||
'DELETE FROM SETTING WHERE SETTING in '
|
||||
'("Browser/Layout", "SQLEditor/Layout", "Debugger/Layout")'
|
||||
' AND USER_ID=?', user_id
|
||||
)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
if user_id is None:
|
||||
cur.execute(
|
||||
'DELETE FROM SETTING WHERE SETTING in '
|
||||
'("Browser/Layout", "SQLEditor/Layout", "Debugger/Layout")'
|
||||
)
|
||||
else:
|
||||
cur.execute(
|
||||
'DELETE FROM SETTING WHERE SETTING in '
|
||||
'("Browser/Layout", "SQLEditor/Layout", "Debugger/Layout")'
|
||||
' AND USER_ID=?', user_id
|
||||
)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
break
|
||||
except Exception:
|
||||
retry -= 1
|
||||
|
||||
|
||||
def remove_db_file():
|
||||
|
||||
Reference in New Issue
Block a user