Fixed feature tests failures occurred due to psycopg3 changes.

This commit is contained in:
Yogesh Mahajan 2023-03-14 17:51:14 +05:30 committed by GitHub
parent e408049bae
commit 48f2e2744c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 17 additions and 56 deletions

View File

@ -70,7 +70,7 @@ class PGDataypeFeatureTest(BaseFeatureTest):
else: else:
self.timezone_hh_mm = '+{}'.format(self.timezone_hh_mm) self.timezone_hh_mm = '+{}'.format(self.timezone_hh_mm)
self.database_version = connection.server_version self.database_version = self.server_information['server_version']
# For this test case we need to set "Insert bracket pairs?" # For this test case we need to set "Insert bracket pairs?"
# SQL Editor preference to 'false' to avoid codemirror # SQL Editor preference to 'false' to avoid codemirror

View File

@ -489,6 +489,8 @@ class QueryToolJourneyTest(BaseFeatureTest):
print('Double click not succeeded in try- ' + str( print('Double click not succeeded in try- ' + str(
retry), file=sys.stderr) retry), file=sys.stderr)
retry -= 1 retry -= 1
if retry == 0:
return False
except Exception as e: except Exception as e:
print('Exception while reading cell value in try ' + print('Exception while reading cell value in try ' +
str(retry), file=sys.stderr) str(retry), file=sys.stderr)

View File

@ -55,22 +55,16 @@ class QueryToolFeatureTest(BaseFeatureTest):
# explain query with verbose and cost # explain query with verbose and cost
print("Explain query with verbose and cost... ", print("Explain query with verbose and cost... ",
file=sys.stderr, end="") file=sys.stderr, end="")
if self._supported_server_version():
self._query_tool_explain_with_verbose_and_cost() self._query_tool_explain_with_verbose_and_cost()
print("OK.", file=sys.stderr) print("OK.", file=sys.stderr)
self.page.clear_query_tool() self.page.clear_query_tool()
else:
print(skip_warning, file=sys.stderr)
# explain analyze query with buffers and timing # explain analyze query with buffers and timing
print("Explain analyze query with buffers and timing... ", print("Explain analyze query with buffers and timing... ",
file=sys.stderr, end="") file=sys.stderr, end="")
if self._supported_server_version():
self._query_tool_explain_analyze_with_buffers_and_timing() self._query_tool_explain_analyze_with_buffers_and_timing()
print("OK.", file=sys.stderr) print("OK.", file=sys.stderr)
self.page.clear_query_tool() self.page.clear_query_tool()
else:
print(skip_warning, file=sys.stderr)
# auto commit disabled. # auto commit disabled.
print("Auto commit disabled... ", file=sys.stderr, end="") print("Auto commit disabled... ", file=sys.stderr, end="")
@ -596,17 +590,6 @@ SELECT 1, pg_sleep(300)"""
.format('Execution Cancelled!')) .format('Execution Cancelled!'))
) )
def _supported_server_version(self):
connection = test_utils.get_db_connection(
self.server['db'],
self.server['username'],
self.server['db_password'],
self.server['host'],
self.server['port'],
self.server['sslmode']
)
return connection.server_version > 90100
def _query_tool_notify_statements(self): def _query_tool_notify_statements(self):
print("\n\tListen on an event... ", file=sys.stderr, end="") print("\n\tListen on an event... ", file=sys.stderr, end="")
self.page.execute_query("LISTEN foo;") self.page.execute_query("LISTEN foo;")
@ -627,15 +610,12 @@ SELECT 1, pg_sleep(300)"""
print("OK.", file=sys.stderr) print("OK.", file=sys.stderr)
print("\tNotify event with data... ", file=sys.stderr, end="") print("\tNotify event with data... ", file=sys.stderr, end="")
if self._supported_server_version():
self.page.clear_query_tool() self.page.clear_query_tool()
self.page.execute_query("SELECT pg_notify('foo', 'Hello')") self.page.execute_query("SELECT pg_notify('foo', 'Hello')")
self.page.click_tab('id-notifications', rc_dock=True) self.page.click_tab('id-notifications', rc_dock=True)
self.wait.until(WaitForAnyElementWithText( self.wait.until(WaitForAnyElementWithText(
(By.CSS_SELECTOR, "td[data-label='payload']"), "Hello")) (By.CSS_SELECTOR, "td[data-label='payload']"), "Hello"))
print("OK.", file=sys.stderr) print("OK.", file=sys.stderr)
else:
print("Skipped.", file=sys.stderr)
class WaitForAnyElementWithText(): class WaitForAnyElementWithText():

View File

@ -95,12 +95,6 @@ CREATE TABLE public.nonintpkey
""" """
def before(self): def before(self):
with test_utils.Database(self.server) as (connection, _):
if connection.server_version < 90100:
self.skipTest(
"COLLATE is not present in PG versions below v9.1"
)
# Create pre-requisite table # Create pre-requisite table
for k, v in {1: 'id', 2: '"ID"'}.items(): for k, v in {1: 'id', 2: '"ID"'}.items():
test_utils.create_table_with_query( test_utils.create_table_with_query(
@ -117,9 +111,6 @@ CREATE TABLE public.nonintpkey
# Initialize an instance of WebDriverWait with timeout of 3 seconds # Initialize an instance of WebDriverWait with timeout of 3 seconds
self.wait = WebDriverWait(self.driver, 3) self.wait = WebDriverWait(self.driver, 3)
# close the db connection
connection.close()
def runTest(self): def runTest(self):
try: try:
self.page.wait_for_spinner_to_disappear() self.page.wait_for_spinner_to_disappear()

View File

@ -30,13 +30,6 @@ class CheckDebuggerForXssFeatureTest(BaseFeatureTest):
function_name = "" function_name = ""
def before(self): def before(self):
with test_utils.Database(self.server) as (connection, _):
if connection.server_version < 90100:
self.skipTest(
"Functions tree node is not present in pgAdmin below "
"PG v9.1"
)
# Some test function is needed for debugger # Some test function is needed for debugger
self.function_name = "a_test_function" + \ self.function_name = "a_test_function" + \
str(secrets.choice(range(10000, 65535))) str(secrets.choice(range(10000, 65535)))

View File

@ -30,11 +30,6 @@ class CheckRoleMembershipControlFeatureTest(BaseFeatureTest):
xss_test_role = "<h1>test</h1>" xss_test_role = "<h1>test</h1>"
def before(self): def before(self):
with test_utils.Database(self.server) as (connection, _):
if connection.server_version < 90100:
self.skipTest(
"Membership is not present in Postgres below PG v9.1")
# create role # create role
self.role = "test_role" + str(secrets.choice(range(10000, 65535))) self.role = "test_role" + str(secrets.choice(range(10000, 65535)))

View File

@ -535,7 +535,7 @@ def execute_test(test_module_list_passed, server_passed, driver_passed,
# This is required when some tests are running parallel # This is required when some tests are running parallel
# & some sequential in case of parallel ui tests # & some sequential in case of parallel ui tests
if threading.current_thread().getName() == "sequential_tests": if threading.current_thread().name == "sequential_tests":
try: try:
if test_result[server_passed['name']][0] is not None: if test_result[server_passed['name']][0] is not None:
ran_tests = test_result[server_passed['name']][0] + \ ran_tests = test_result[server_passed['name']][0] + \
@ -576,7 +576,7 @@ def execute_test(test_module_list_passed, server_passed, driver_passed,
finally: finally:
# Delete web-driver instance # Delete web-driver instance
thread_name = "parallel_tests" + server_passed['name'] thread_name = "parallel_tests" + server_passed['name']
if threading.current_thread().getName() == thread_name: if threading.current_thread().name == thread_name:
test_utils.quit_webdriver(driver_passed) test_utils.quit_webdriver(driver_passed)
time.sleep(20) time.sleep(20)