Skip to content
Snippets Groups Projects
testing.in 3.83 KiB
Newer Older
# This requirements file is only for python packages that need to be installed
# for the edx-platform in testing environments. This includes:
#   * Jenkins
#   * devstack
# Please do not use this file for packages that are needed in production
#
# DON'T JUST ADD NEW DEPENDENCIES!!!
#
# If you open a pull request that adds a new dependency, you should:
#   * verify that the dependency has a license compatible with AGPLv3
#   * confirm that it has no system requirements beyond what we already install
#   * run "make upgrade" to update the detailed requirements files
#   * add an appropriate pattern to scripts/dependencies/testing.py

-r base.txt               # Core edx-platform production dependencies
-r coverage.txt           # Utilities for calculating test coverage

beautifulsoup4            # Library for extracting data from HTML and XML files
before_after              # Syntactic sugar for mock, only used in one test case, not Python 3 compatible
bok-choy                  # Framework for browser automation tests, based on selenium
cssselect                 # Used to extract HTML fragments via CSS selectors in 2 test cases and pyquery
ddt                       # Run a test case multiple times with different input; used in many, many of our tests
edx-i18n-tools>=0.4.6     # Commands for developers and translators to extract, compile and validate translations
edx-lint                  # pylint extensions for Open edX repositories
pylint-plugin-utils==0.3  # required by edx-lint and pinned explicitly here because newer versions don't guarantee python 2 support.
                          # can be removed when we get to python 3
factory_boy==2.8.1        # Library for creating test fixtures, used in many tests
freezegun                 # Allows tests to mock the output of assorted datetime module functions
httpretty                 # Library for mocking HTTP requests, used in many tests
isort                     # For checking and fixing the order of imports
moto==0.3.1               # Lets tests mock AWS access via the boto library
pa11ycrawler              # Python crawler (using Scrapy) that uses Pa11y to check accessibility of pages as it crawls
pycodestyle               # Checker for compliance with the Python style guide (PEP 8)
polib                     # Library for manipulating gettext translation files, used to test paver i18n commands
pyquery                   # jQuery-like API for retrieving fragments of HTML and XML files in tests
pysqlite                  # DB-API 2.0 interface for SQLite 3.x (used as the relational database for most tests)
pytest==3.6.3             # Testing framework # Pinned due to https://github.com/pytest-dev/pytest/issues/3749
pytest-attrib             # Select tests based on attributes
pytest-cov<2.6            # pytest plugin for measuring code coverage. # Pinned due to https://openedx.atlassian.net/browse/TE-2731
pytest-django==3.1.2      # Django support for pytest
pytest-randomly           # pytest plugin to randomly order tests
pytest-xdist              # Parallel execution of tests on multiple CPU cores or hosts
radon                     # Calculates cyclomatic complexity of Python code (code quality utility)
selenium                  # Browser automation library, used for acceptance tests
singledispatch            # Backport of functools.singledispatch from Python 3.4+, used in tests of XBlock rendering
splinter                  # Browser driver used by lettuce
testfixtures              # Provides a LogCapture utility used by several tests
tox                       # virtualenv management for tests
tox-battery               # Makes tox aware of requirements file changes
transifex-client          # Command-line interface for the Transifex localization service

# Deprecated acceptance testing framework
-e git+https://github.com/edx/lettuce.git@7a04591c78ac56dac3eb3e91ca94b15cce844133#egg=lettuce==0.2.23+edx.1