mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-11-26 02:30:21 -06:00
73 lines
2.0 KiB
Python
73 lines
2.0 KiB
Python
#############################################################
|
|
#
|
|
# pgAdmin 4 - PostgreSQL Tools
|
|
#
|
|
# Copyright (C) 2013 - 2016, The pgAdmin Development Team
|
|
# This software is released under the PostgreSQL Licence
|
|
#
|
|
##############################################################
|
|
|
|
""" This file collect all modules/files present in tests directory and add
|
|
them to TestSuite. """
|
|
|
|
import os
|
|
import sys
|
|
import unittest
|
|
from testscenarios.scenarios import generate_scenarios
|
|
|
|
# We need to include the root directory in sys.path to ensure that we can
|
|
# find everything we need when running in the standalone runtime.
|
|
current_path = os.path.dirname(os.path.realpath(__file__))
|
|
root = os.path.dirname(current_path)
|
|
|
|
if sys.path[0] != root:
|
|
sys.path.insert(0, root)
|
|
|
|
from pgadmin import create_app
|
|
|
|
# Create the app!
|
|
app = create_app()
|
|
|
|
# Disabling Cross-site request forgery(CSRF token) for testing purpose.
|
|
# CSRF prevent session against malicious Web site, or end users who wants to
|
|
# execute unwanted actions.
|
|
app.config['WTF_CSRF_ENABLED'] = False
|
|
|
|
from pgadmin.utils.route import TestsGeneratorRegistry
|
|
|
|
# Registry will load all the testcases/modules from pgadmin path those are
|
|
# register as BaseTestGenerator.
|
|
TestsGeneratorRegistry.load_generators('pgadmin')
|
|
|
|
# Create test client
|
|
# werkzeug provides a test client which gives a simple interface to the
|
|
# application. We can trigger test request to the application.
|
|
test_client = app.test_client()
|
|
|
|
|
|
def suite():
|
|
""" Defining test suite which will execute all the testcases present in
|
|
tests directory according to set priority."""
|
|
|
|
pgadmin_suite = unittest.TestSuite()
|
|
|
|
modules = []
|
|
|
|
for key, klass in TestsGeneratorRegistry.registry.items():
|
|
gen = klass
|
|
|
|
modules.insert(gen.priority, gen)
|
|
|
|
for m in modules:
|
|
obj = m()
|
|
obj.setTestClient(test_client)
|
|
scenario = generate_scenarios(obj)
|
|
pgadmin_suite.addTests(scenario)
|
|
|
|
return pgadmin_suite
|
|
|
|
|
|
if __name__ == '__main__':
|
|
suite = suite()
|
|
tests = unittest.TextTestRunner(descriptions=True, verbosity=2).run(suite)
|