2020-07-24 16:24:49 +03:00
|
|
|
[tool.black]
|
|
|
|
line-length = 99
|
2020-11-20 18:55:15 +03:00
|
|
|
# NB: this can only be updated once black supports the target python version,
|
|
|
|
# so may lag behind the version of python we're using. This shouldn't matter
|
|
|
|
# unless we're using completely new syntax:
|
2023-02-02 19:48:18 +03:00
|
|
|
target-version = ['py311']
|
2020-09-12 00:42:20 +03:00
|
|
|
exclude = "^.*/migrations/.*$|kitsune/sumo/db_strings.py"
|
2021-12-29 15:45:21 +03:00
|
|
|
|
|
|
|
[tool.poetry]
|
|
|
|
name = "kitsune"
|
|
|
|
version = "0.1.0"
|
|
|
|
description = "Mozilla Support Platform"
|
|
|
|
authors = ["Your Name <you@example.com>"]
|
|
|
|
license = "BSD 3-Clause"
|
|
|
|
|
|
|
|
[tool.poetry.dependencies]
|
2023-02-03 03:56:20 +03:00
|
|
|
python = "^3.11"
|
2023-02-03 20:32:00 +03:00
|
|
|
APScheduler = "^3.10.0"
|
2023-07-06 03:11:11 +03:00
|
|
|
Django = "4.1.10"
|
2021-12-29 15:45:21 +03:00
|
|
|
babis = "^0.2.4"
|
2023-02-02 19:48:18 +03:00
|
|
|
Pillow = "^9.4.0"
|
|
|
|
bleach = {version = "^6.0.0", extras = ["css"]}
|
2023-02-03 20:32:00 +03:00
|
|
|
boto3 = "^1.26.63"
|
2022-06-28 17:29:25 +03:00
|
|
|
celery = "5.2.7"
|
2022-07-06 11:18:15 +03:00
|
|
|
dennis = "^1.1.0"
|
2022-11-15 17:03:43 +03:00
|
|
|
mozilla-django-oidc = "^3.0.0"
|
2023-02-02 19:48:18 +03:00
|
|
|
dj-database-url = "^1.2.0"
|
2022-10-14 02:21:37 +03:00
|
|
|
django-jinja = "^2.10.2"
|
2023-02-02 19:48:18 +03:00
|
|
|
lxml = "^4.9.2"
|
2023-02-03 20:32:00 +03:00
|
|
|
elasticsearch = "^7.17.9"
|
2021-12-29 15:45:21 +03:00
|
|
|
elasticsearch-dsl = "^7.4.0"
|
|
|
|
gunicorn = "^20.1.0"
|
2023-02-02 19:48:18 +03:00
|
|
|
gevent = "^22.10.2"
|
|
|
|
newrelic = "^8.5.0"
|
|
|
|
django-waffle = "^3.0.0"
|
|
|
|
python-decouple = "^3.7"
|
|
|
|
sentry-sdk = "^1.14.0"
|
|
|
|
whitenoise = "^6.3.0"
|
|
|
|
zenpy = "^2.0.25"
|
|
|
|
idna = "^3.4"
|
|
|
|
django-allow-cidr = "^0.6.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
html5lib = "^1.1"
|
2023-02-02 19:48:18 +03:00
|
|
|
py-wikimarkup = "^2.3.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
python-dateutil = "^2.8.2"
|
|
|
|
python-memcached = "^1.59"
|
2023-03-31 18:39:47 +03:00
|
|
|
redis = "^4.5.4"
|
2022-10-03 20:13:33 +03:00
|
|
|
django-cors-headers = "^3.13.0"
|
2022-11-22 19:43:22 +03:00
|
|
|
django-enforce-host = "^1.1.0"
|
2023-02-02 19:48:18 +03:00
|
|
|
django-cache-url = "^3.4.4"
|
|
|
|
django-extensions = "^3.2.1"
|
|
|
|
django-filter = "^22.1"
|
2021-12-29 15:45:21 +03:00
|
|
|
django-redis = "^5.2.0"
|
|
|
|
factory-boy = "^3.2.1"
|
2023-02-02 19:48:18 +03:00
|
|
|
Faker = "^16.6.1"
|
2023-02-03 20:32:00 +03:00
|
|
|
google-api-python-client = "^2.76.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
timeout-decorator = "^0.5.0"
|
2023-02-02 19:48:18 +03:00
|
|
|
simplejson = "^3.18.1"
|
2021-12-29 15:45:21 +03:00
|
|
|
twython = "^3.9.1"
|
2023-02-02 19:48:18 +03:00
|
|
|
translate-toolkit = "^3.8.3"
|
|
|
|
django-ratelimit = "^4.0.0"
|
|
|
|
django-storages = {version = "^1.13.2", extras = ["google"]}
|
|
|
|
django-taggit = "^3.1.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
django-user-agents = "^0.4.0"
|
2023-02-02 19:48:18 +03:00
|
|
|
django-watchman = "1.3.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
premailer = "^3.10.0"
|
2023-02-02 19:48:18 +03:00
|
|
|
pyquery = "^2.0.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
parameterized = "^0.8.1"
|
2023-02-16 03:53:46 +03:00
|
|
|
Werkzeug = "2.2.3"
|
2021-12-29 15:45:21 +03:00
|
|
|
commonware = "^0.6.0"
|
2022-11-22 19:43:22 +03:00
|
|
|
django-statici18n = "^2.3.1"
|
2023-02-02 19:48:18 +03:00
|
|
|
django-timezone-field = "^5.0"
|
|
|
|
djangorestframework = "^3.14.0"
|
|
|
|
django-activity-stream = "^1.4.2"
|
2021-12-29 15:45:21 +03:00
|
|
|
django-jsonfield-compat = "^0.4.4"
|
2023-02-02 19:48:18 +03:00
|
|
|
django-jsonfield-backport = "^1.0.5"
|
|
|
|
cffi = "^1.15.1"
|
|
|
|
django-mozilla-product-details = "^1.0.3"
|
2022-03-28 15:27:44 +03:00
|
|
|
PyMySQL = "^1.0.2"
|
2022-04-15 17:31:18 +03:00
|
|
|
django-csp = "^3.7"
|
2023-02-02 19:48:18 +03:00
|
|
|
oauthlib = "^3.2.2"
|
|
|
|
protobuf = "^4.21.12"
|
|
|
|
Babel = "^2.11.0"
|
2022-10-14 02:21:37 +03:00
|
|
|
Jinja2 = "^3.1.2"
|
2023-02-02 19:48:18 +03:00
|
|
|
google-auth = "^2.16.0"
|
2022-09-26 19:21:53 +03:00
|
|
|
graphene-django = "~3.0.0"
|
2022-11-14 20:41:05 +03:00
|
|
|
django-guardian = "^2.4.0"
|
2023-09-06 02:39:19 +03:00
|
|
|
django-email-bandit = "^2.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
|
2023-02-02 19:48:18 +03:00
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
|
|
ipdb = "^0.13.11"
|
|
|
|
isort = "^5.12.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
pep8 = "^1.7.1"
|
2023-02-02 19:48:18 +03:00
|
|
|
appnope = "^0.1.3"
|
2021-12-29 15:45:21 +03:00
|
|
|
argparse = "^1.4.0"
|
2023-02-02 19:48:18 +03:00
|
|
|
django-debug-toolbar = "^3.8.1"
|
2021-12-29 15:45:21 +03:00
|
|
|
django-cache-panel = "^0.1"
|
2023-02-02 19:48:18 +03:00
|
|
|
jsonschema = "^4.17.3"
|
2023-02-03 20:32:00 +03:00
|
|
|
pre-commit = "^3.0.3"
|
2023-02-02 19:48:18 +03:00
|
|
|
q = "^2.7"
|
2023-02-03 20:32:00 +03:00
|
|
|
pylint = "^2.16.1"
|
2023-02-02 19:48:18 +03:00
|
|
|
debugpy = "^1.6.6"
|
|
|
|
flake8 = "^6.0.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
urlwait = "^1.0"
|
2023-02-02 19:48:18 +03:00
|
|
|
testfixtures = "^7.0.4"
|
|
|
|
sphinx-rtd-theme = "^1.1.1"
|
|
|
|
sphinx = "^5.3.0"
|
2021-12-29 15:45:21 +03:00
|
|
|
recommonmark = "^0.7.1"
|
2023-02-02 19:48:18 +03:00
|
|
|
sphinxcontrib-httpdomain = "^1.8.1"
|
|
|
|
tabulate = "^0.9.0"
|
2022-09-14 00:54:49 +03:00
|
|
|
pylint-django = "^2.5.3"
|
2023-02-02 19:48:18 +03:00
|
|
|
rope = "^1.7.0"
|
2023-02-03 17:44:33 +03:00
|
|
|
black = "^23.1.0"
|
2023-04-19 21:38:10 +03:00
|
|
|
pytest = "^7.3.1"
|
|
|
|
selenium = "^4.8.3"
|
|
|
|
webdriver-manager = "^3.8.6"
|
2023-03-22 00:11:36 +03:00
|
|
|
pytest-html = "^3.2.0"
|
|
|
|
pytest-xdist = "^3.2.1"
|
2023-04-09 19:41:08 +03:00
|
|
|
docker = "^6.0.1"
|
- Added pytest-rerunfailures (to rerun test failures) and pytest-check (for soft asserts)
- Updated the base_page.py file
- Updated the test_utilities.py file. Now reading test data from json, loading GH secrets & implemented the fxa verification code fetching mechanism.
- Updated docker-compose.yml to contain selenoid instead of Selenium Grid.
- Added browsers.json for Firefox and Chrome Selenoid containers management.
- Added different flows for test usage: aaq_flo
(for AAQ submission flow), add_kb_article_flow.py (for KB articles submission), auth_flow.py (for SUMO auth flow), messaging_system_flow.py (flow for sending user messages), edit_profile_data_flow.py (for user data edit and fields clearence)
- Updated and created new messages and pages.
- Added test data
- Added a couple of tests to include coverage over contribute pages, footer section, homepage, top navbar, messaging system & user page tests
- Updated the conftest.py file. Also added functionality to create and attach screenshots to report for failed tests
- Updated pytest.ini to update markers
- Update workflow to have tests trigger at 8:00 AM UTC+3. Each Monday, Wednesday and Friday.
2023-09-04 19:25:38 +03:00
|
|
|
pytest-rerunfailures = "^12.0"
|
|
|
|
pytest-check = "^2.2.1"
|
2021-12-29 15:45:21 +03:00
|
|
|
|
|
|
|
[build-system]
|
|
|
|
requires = ["poetry-core>=1.0.0"]
|
|
|
|
build-backend = "poetry.core.masonry.api"
|