Feature test improvement and fix intermittent failures part of #3936

This commit is contained in:
Shubham Agarwal
2019-08-22 14:50:51 +05:30
committed by Akshay Joshi
parent 7090c02014
commit 9f455a514e
21 changed files with 1213 additions and 726 deletions

View File

@@ -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()

View File

@@ -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():