pgadmin4/web/pgadmin/browser/tests/test_version_in_range.py
2020-01-02 14:43:50 +00:00

88 lines
2.5 KiB
Python

##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2020, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
from pgadmin.utils.route import BaseTestGenerator
from pgadmin.browser.utils import is_version_in_range
class VersionInRangeTestCase(BaseTestGenerator):
"""
This class validates the version in range functionality
by defining different version scenarios; where dict of
parameters describes the scenario appended by test name.
"""
scenarios = [
(
'TestCase for Validating pgversion 8.23 and min_version is 91000, '
'it should not show', dict(
sversion=82300,
min_version=90100,
max_version=1000000000,
scenario=2
)),
(
'TestCase for Validating pgversion 9.2, '
'it should show by default', dict(
sversion=90200,
min_version=0,
max_version=1000000000,
scenario=1
)),
(
'TestCase for Validating pgversion 9.2 and min/max are None, '
'it should show by default', dict(
sversion=90200,
min_version=None,
max_version=None,
scenario=1
)),
(
'TestCase for Validating pgversion 9.6 and max is lower, '
'it should not show', dict(
sversion=90600,
min_version=None,
max_version=90400,
scenario=2
))
]
@classmethod
def setUpClass(cls):
pass
# No need to call base class setup function
def setUp(self):
pass
def runTest(self):
"""This function will check version in range functionality."""
if self.scenario == 1:
self.test_result_is_true()
if self.scenario == 2:
self.test_result_is_false()
def test_result_is_true(self):
self.assertTrue(
is_version_in_range(
self.sversion,
self.min_version,
self.max_version
)
)
def test_result_is_false(self):
self.assertFalse(
is_version_in_range(
self.sversion,
self.min_version,
self.max_version
)
)