mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Initial version of a regression test framework
This commit is contained in:
committed by
Dave Page
parent
ffa348fe5d
commit
98d473a7ec
15
web/pgadmin/browser/server_groups/servers/tests/__init__.py
Normal file
15
web/pgadmin/browser/server_groups/servers/tests/__init__.py
Normal file
@@ -0,0 +1,15 @@
|
||||
# ##########################################################################
|
||||
#
|
||||
# #pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# #Copyright (C) 2013 - 2016, The pgAdmin Development Team
|
||||
# #This software is released under the PostgreSQL Licence
|
||||
#
|
||||
# ##########################################################################
|
||||
|
||||
from pgadmin.utils.route import BaseTestGenerator
|
||||
|
||||
|
||||
class ServerGenerateTestCase(BaseTestGenerator):
|
||||
def runTest(self):
|
||||
print ("In ServerGenerateTestCase...")
|
||||
@@ -0,0 +1,53 @@
|
||||
# ##########################################################################
|
||||
#
|
||||
# #pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# #Copyright (C) 2013 - 2016, The pgAdmin Development Team
|
||||
# #This software is released under the PostgreSQL Licence
|
||||
#
|
||||
# ##########################################################################
|
||||
|
||||
import json
|
||||
|
||||
from pgadmin.browser.tests.test_login import LoginTestCase
|
||||
from regression.config import config_data
|
||||
|
||||
|
||||
class ServersAddTestCase(LoginTestCase):
|
||||
"""
|
||||
This class will add the servers under default server group and verify with
|
||||
server's name.
|
||||
"""
|
||||
|
||||
priority = 4
|
||||
|
||||
scenarios = [
|
||||
# Fetch the default url for server object
|
||||
('Default Server Node url', dict(url='/browser/server/obj/'))
|
||||
]
|
||||
|
||||
def runTest(self):
|
||||
"""
|
||||
This function will add the server under default server group.
|
||||
Verify the added server with response code as well as server name.
|
||||
"""
|
||||
|
||||
srv_grp = config_data['test_server_group']
|
||||
|
||||
for srv in config_data['test_server_credentials']:
|
||||
data = {"name": srv['test_name'],
|
||||
"comment": "",
|
||||
"host": srv['test_host'],
|
||||
"port": srv['test_db_port'],
|
||||
"db": srv['test_maintenance_db'],
|
||||
"username": srv['test_db_username'],
|
||||
"role": "",
|
||||
"sslmode": srv['test_sslmode']}
|
||||
|
||||
url = self.url + str(srv_grp) + "/"
|
||||
|
||||
response = self.tester.post(url, data=json.dumps(data),
|
||||
content_type='html/json')
|
||||
self.assertTrue(response.status_code, 200)
|
||||
respdata = json.loads(response.data)
|
||||
self.assertTrue(respdata['node']['label'], srv['test_name'])
|
||||
@@ -0,0 +1,57 @@
|
||||
# #################################################################
|
||||
#
|
||||
# pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# Copyright (C) 2013 - 2016, The pgAdmin Development Team
|
||||
# This software is released under the PostgreSQL Licence
|
||||
#
|
||||
# ##################################################################
|
||||
|
||||
import json
|
||||
|
||||
from pgadmin.browser.tests.test_login import LoginTestCase
|
||||
from regression.config import config_data
|
||||
|
||||
|
||||
class ServersDeleteTestCase(LoginTestCase):
|
||||
"""
|
||||
This class will check server node present on the object browser's tree node
|
||||
by response code.
|
||||
"""
|
||||
priority = 7
|
||||
|
||||
scenarios = [
|
||||
# Fetching the default url for server node
|
||||
('Default Server Node url', dict(url='/browser/server/obj/'))
|
||||
]
|
||||
|
||||
def runTest(self):
|
||||
"""
|
||||
This function will get all available servers under object browser
|
||||
and delete the servers using server id.
|
||||
"""
|
||||
|
||||
srv_grp = config_data['test_server_group']
|
||||
|
||||
for srv in config_data['test_server_credentials']:
|
||||
|
||||
data = {"name": srv['test_name'],
|
||||
"host": srv['test_host'],
|
||||
"port": srv['test_db_port'],
|
||||
"db": srv['test_maintenance_db'],
|
||||
"username": srv['test_db_username'],
|
||||
"role": "",
|
||||
"sslmode": srv['test_sslmode']}
|
||||
|
||||
url = self.url + str(srv_grp) + "/"
|
||||
|
||||
response = self.tester.get(url, data=json.dumps(data),
|
||||
content_type='html/json')
|
||||
self.assertTrue(response.status_code, 200)
|
||||
respdata = json.loads(response.data)
|
||||
|
||||
for server in respdata:
|
||||
response = self.tester.delete(url + json.dumps(server['id']))
|
||||
self.assertTrue(response.status_code, 200)
|
||||
respdata = json.loads(response.data)
|
||||
self.assertTrue(respdata['success'], 1)
|
||||
@@ -0,0 +1,49 @@
|
||||
# ##########################################################################
|
||||
#
|
||||
# #pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# #Copyright (C) 2013 - 2016, The pgAdmin Development Team
|
||||
# #This software is released under the PostgreSQL Licence
|
||||
#
|
||||
# ##########################################################################
|
||||
|
||||
import json
|
||||
|
||||
from pgadmin.browser.tests.test_login import LoginTestCase
|
||||
from regression.config import config_data
|
||||
|
||||
|
||||
class ServersGetTestCase(LoginTestCase):
|
||||
"""
|
||||
This class will check server node present on the object browser's tree node
|
||||
by response code.
|
||||
"""
|
||||
|
||||
priority = 5
|
||||
|
||||
scenarios = [
|
||||
# Fetch the default url for server node
|
||||
('Default Server Node url', dict(url='/browser/server/obj/'))
|
||||
]
|
||||
|
||||
def runTest(self):
|
||||
"""
|
||||
This function will get all available servers present under
|
||||
object browser.
|
||||
"""
|
||||
|
||||
srv_grp = config_data['test_server_group']
|
||||
|
||||
for srv in config_data['test_server_credentials']:
|
||||
data = {"name": srv['test_name'],
|
||||
"host": srv['test_host'],
|
||||
"port": srv['test_db_port'],
|
||||
"db": srv['test_maintenance_db'],
|
||||
"username": srv['test_db_username'],
|
||||
"role": "",
|
||||
"sslmode": srv['test_sslmode']}
|
||||
|
||||
url = self.url + str(srv_grp) + "/"
|
||||
response = self.tester.get(url, data=json.dumps(data),
|
||||
content_type='html/json')
|
||||
self.assertTrue(response.status_code, 200)
|
||||
@@ -0,0 +1,65 @@
|
||||
# ##########################################################################
|
||||
#
|
||||
# #pgAdmin 4 - PostgreSQL Tools
|
||||
#
|
||||
# #Copyright (C) 2013 - 2016, The pgAdmin Development Team
|
||||
# #This software is released under the PostgreSQL Licence
|
||||
#
|
||||
# ##########################################################################
|
||||
|
||||
import json
|
||||
|
||||
from pgadmin.browser.tests.test_login import LoginTestCase
|
||||
from regression.config import config_data
|
||||
|
||||
|
||||
class ServersUpdateTestCase(LoginTestCase):
|
||||
"""
|
||||
This class will check server node present on the object browser's tree node
|
||||
by response code.
|
||||
"""
|
||||
|
||||
priority = 6
|
||||
|
||||
scenarios = [
|
||||
# Fetching the default url for server node
|
||||
('Default Server Node url', dict(url='/browser/server/obj/'))
|
||||
]
|
||||
|
||||
def runTest(self):
|
||||
"""
|
||||
This function will edit and update the server's comment field
|
||||
by the server id.
|
||||
"""
|
||||
|
||||
srv_grp = config_data['test_server_group']
|
||||
|
||||
for srv in config_data['test_server_credentials']:
|
||||
|
||||
data = {"name": srv['test_name'],
|
||||
"host": srv['test_host'],
|
||||
"port": srv['test_db_port'],
|
||||
"db": srv['test_maintenance_db'],
|
||||
"username": srv['test_db_username'],
|
||||
"role": "",
|
||||
"sslmode": srv['test_sslmode']}
|
||||
|
||||
url = self.url + str(srv_grp) + "/"
|
||||
|
||||
response = self.tester.get(url, data=json.dumps(data),
|
||||
content_type='html/json')
|
||||
|
||||
self.assertTrue(response.status_code, 200)
|
||||
respdata = json.loads(response.data)
|
||||
|
||||
for server in respdata:
|
||||
|
||||
url = self.url + str(srv_grp) + "/" + json.dumps(server['id'])
|
||||
|
||||
for server in config_data['test_server_update_data']:
|
||||
data = {"comment": server['test_comment']}
|
||||
response = self.tester.put(url, data=json.dumps(data),
|
||||
content_type='html/json')
|
||||
self.assertTrue(response.status_code, 200)
|
||||
respdata = json.loads(response.data)
|
||||
self.assertTrue(respdata['success'], 1)
|
||||
Reference in New Issue
Block a user