Initial version of a regression test framework

This commit is contained in:
Priyanka Shendge
2016-04-17 10:39:08 -04:00
committed by Dave Page
parent ffa348fe5d
commit 98d473a7ec
20 changed files with 907 additions and 32 deletions

View 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...")

View File

@@ -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'])

View File

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

View File

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

View File

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