kinto 18.0.0__tar.gz → 19.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kinto might be problematic. Click here for more details.
- {kinto-18.0.0 → kinto-19.3.2}/.github/workflows/publish.yml +3 -3
- {kinto-18.0.0 → kinto-19.3.2}/.github/workflows/test.yml +8 -8
- {kinto-18.0.0 → kinto-19.3.2}/Dockerfile +13 -16
- {kinto-18.0.0 → kinto-19.3.2}/Makefile +16 -7
- {kinto-18.0.0/kinto.egg-info → kinto-19.3.2}/PKG-INFO +7 -6
- {kinto-18.0.0 → kinto-19.3.2}/README.rst +2 -2
- {kinto-18.0.0 → kinto-19.3.2}/constraints.in +2 -1
- {kinto-18.0.0 → kinto-19.3.2}/constraints.txt +72 -104
- {kinto-18.0.0 → kinto-19.3.2}/docs/community.rst +2 -11
- {kinto-18.0.0 → kinto-19.3.2}/docs/conf.py +0 -3
- {kinto-18.0.0 → kinto-19.3.2}/docs/configuration/production.rst +2 -7
- {kinto-18.0.0 → kinto-19.3.2}/docs/configuration/settings.rst +126 -84
- kinto-19.3.2/docs/requirements.txt +12 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/install.rst +2 -2
- {kinto-18.0.0 → kinto-19.3.2}/kinto/__init__.py +1 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/__main__.py +1 -2
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/__init__.py +7 -7
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/initialization.py +159 -55
- kinto-19.3.2/kinto/core/metrics.py +93 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/permission/postgresql/__init__.py +9 -9
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/resource/__init__.py +9 -4
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/resource/schema.py +1 -2
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/scripts.py +1 -0
- kinto-19.3.2/kinto/core/statsd.py +1 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/exceptions.py +1 -2
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/client.py +2 -2
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/utils.py +1 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/testing.py +5 -1
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/utils.py +11 -2
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/views/errors.py +2 -3
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/accounts/__init__.py +1 -2
- kinto-19.3.2/kinto/plugins/admin/VERSION +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/VERSION +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/asn1-CGOzndHr.js +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/clojure-BMjYHr_A.js +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/css-BnMrqG3P.js +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/index-BKIg2XW8.js +165 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/index-D8oiN37x.css +6 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/javascript-iSgyE4tI.js +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/logo-VBRiKSPX.png +0 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/mllike-C_8OmSiT.js +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/python-BuPzkPfP.js +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/rpm-CTu-6PCP.js +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/sql-C4g8LzGK.js +1 -0
- kinto-19.3.2/kinto/plugins/admin/build/assets/ttcn-cfg-BIkV9KBc.js +1 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/admin/build/index.html +2 -2
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/admin/public/help.html +2 -2
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/admin/views.py +1 -1
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/default_bucket/__init__.py +1 -2
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/flush.py +1 -1
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/history/__init__.py +5 -6
- kinto-19.3.2/kinto/plugins/prometheus.py +186 -0
- kinto-19.3.2/kinto/plugins/quotas/__init__.py +21 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/quotas/scripts.py +1 -0
- kinto-19.3.2/kinto/plugins/statsd.py +78 -0
- {kinto-18.0.0 → kinto-19.3.2/kinto.egg-info}/PKG-INFO +7 -6
- {kinto-18.0.0 → kinto-19.3.2}/kinto.egg-info/SOURCES.txt +22 -3
- {kinto-18.0.0 → kinto-19.3.2}/kinto.egg-info/requires.txt +2 -1
- {kinto-18.0.0 → kinto-19.3.2}/pyproject.toml +4 -3
- kinto-19.3.2/scripts/pull-kinto-admin.sh +12 -0
- kinto-19.3.2/tests/browser.py +38 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_events.py +24 -6
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_filter.py +13 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_sync.py +1 -1
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_views.py +4 -5
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_views_cors.py +17 -1
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/support.py +1 -1
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_authentication.py +3 -3
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_initialization.py +206 -59
- kinto-19.3.2/tests/core/test_metrics.py +49 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_scripts.py +2 -2
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_storage.py +2 -2
- kinto-19.3.2/tests/core/testplugin/__init__.py +52 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/functional.ini +1 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/plugins/test_accounts.py +3 -3
- {kinto-18.0.0 → kinto-19.3.2}/tests/plugins/test_history.py +23 -21
- kinto-19.3.2/tests/plugins/test_prometheus.py +142 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/plugins/test_quotas.py +23 -20
- kinto-19.3.2/tests/plugins/test_statsd.py +81 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/support.py +1 -1
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_scripts.py +2 -2
- kinto-19.3.2/tests/test_views_metrics.py +45 -0
- kinto-18.0.0/docs/requirements.txt +0 -12
- kinto-18.0.0/kinto/core/statsd.py +0 -63
- kinto-18.0.0/kinto/plugins/admin/VERSION +0 -1
- kinto-18.0.0/kinto/plugins/quotas/__init__.py +0 -22
- kinto-18.0.0/scripts/build-kinto-admin.sh +0 -29
- kinto-18.0.0/tests/browser.py +0 -68
- kinto-18.0.0/tests/core/test_statsd.py +0 -120
- kinto-18.0.0/tests/core/testplugin/__init__.py +0 -19
- {kinto-18.0.0 → kinto-19.3.2}/.dockerignore +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/.github/CODE_OF_CONDUCT.md +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/.github/CONTRIBUTING.md +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/.github/dependabot.yml +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/.github/release.yml +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/.github/workflows/labels.yaml +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/.gitignore +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/CHANGELOG.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/CONTRIBUTORS.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/LICENSE +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/SECURITY.md +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/SUPPORT.md +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/app.wsgi +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/contribute.json +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docker-compose.yml +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/_static/piwik.js +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/_static/theme_overrides.css +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/_templates/footer.html +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/_templates/indexcontent.html +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/_templates/layout.html +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_details-delete-list.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_details-delete-object.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_details-get-list.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_details-get-object.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_details-head-list.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_details-patch-object.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_details-post-list.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_details-put-object.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_status-delete-list.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_status-delete-object.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_status-get-list.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_status-get-object.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_status-patch-object.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_status-post-list.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/_status-put-object.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/accounts.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/admin.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/authentication.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/backoff.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/batch.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/buckets.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/collections.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/deprecation.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/errors.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/filtering.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/flush.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/groups.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/history.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/index.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/openapi.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/openid.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/pagination.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/permissions.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/quotas.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/records.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/selecting_fields.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/sorting.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/timestamps.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/1.x/utilities.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/index.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/api/versioning.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/changelog.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/commandline.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/concepts.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/configuration/good-practices.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/configuration/index.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/_static/theme_overrides.css +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/api.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/cache.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/decorators.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/errors.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/glossary.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/images/cliquet-base.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/images/cliquet-mozilla.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/index.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/notifications.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/permission.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/quickstart.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/rationale.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/resource.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/storage.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/testing.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/utils.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/core/viewsets.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/faq.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/alwaysdata-button.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/architecture.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/color-formatter.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/concepts-general.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/concepts-permissions.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/heroku-button.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/kinto-logo.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/kinto-logo.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-admin.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-attachment.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-community.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-demos.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-history.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-indexing.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-javascript.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-jsonschema.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-livesync.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-multiapps.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-offline.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-permissions.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-python.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-quotas.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-selfhostable.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-signature.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/logo-synchronisation.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/overview-deployonce-selfhost.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/overview-features.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/overview-synchronisation.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/overview-use-cases.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/scalingo-button.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/screenshot-kinto-admin-1.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/screenshot-kinto-admin-2.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/screenshot-kinto-admin-3.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/screenshot-kinto-admin-4.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/sequence-storage.png +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/sync-both.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/sync-newest.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/images/sync-oldest.svg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/index.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/kinto-admin.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/overview.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/troubleshooting.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/app-examples.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/authentication-github.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/client-side-encryption.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/custom-id-generator.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/first-steps.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/index.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/notifications-custom.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/notifications-websockets.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/permission-setups.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/permissions.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/synchronisation.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/docs/tutorials/write-plugin.rst +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/authorization.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/config/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/config/kinto.tpl +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/authentication.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/authorization.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/cache/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/cache/memcached.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/cache/memory.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/cache/postgresql/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/cache/postgresql/schema.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/cache/testing.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/decorators.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/errors.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/events.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/listeners/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/openapi.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/permission/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/permission/memory.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/permission/postgresql/migrations/migration_001_002.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/permission/postgresql/schema.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/permission/testing.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/resource/model.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/resource/viewset.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/schema.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/generators.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/memory.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_001_002.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_002_003.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_003_004.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_004_005.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_005_006.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_006_007.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_007_008.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_008_009.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_009_010.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_010_011.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_011_012.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_012_013.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_013_014.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_014_015.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_015_016.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_016_017.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_017_018.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_018_019.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_019_020.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_020_021.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrations/migration_021_022.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/migrator.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/pool.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/postgresql/schema.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/storage/testing.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/views/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/views/batch.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/views/heartbeat.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/views/hello.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/views/openapi.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/core/views/version.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/events.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/accounts/authentication.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/accounts/mails.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/accounts/scripts.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/accounts/utils.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/accounts/views/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/accounts/views/validation.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/admin/README.md +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/admin/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/history/listener.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/history/views.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/openid/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/openid/utils.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/openid/views.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/quotas/listener.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/plugins/quotas/utils.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/schema_validation.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/scripts.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/views/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/views/admin.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/views/buckets.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/views/collections.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/views/contribute.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/views/groups.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/views/permissions.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto/views/records.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto.egg-info/dependency_links.txt +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto.egg-info/entry_points.txt +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/kinto.egg-info/top_level.txt +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/setup.cfg +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/browser.ini +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/listeners.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_base.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_cache_expires.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_model.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_object.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_object_permissions.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_pagination.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_partial_response.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_preconditions.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_schema.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_sort.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/resource/test_viewset.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/schema/postgresql-permission-1.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/schema/postgresql-storage-1.6.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/schema/postgresql-storage-11.sql +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_authorization.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_cache.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_decorators.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_deprecation.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_errors.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_listeners.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_logging.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_openapi.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_permission.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_schema.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_storage_migrations.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_storage_pool.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_utils.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_views_batch.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_views_errors.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_views_heartbeat.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_views_hello.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_views_openapi.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_views_postgresql.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/test_views_transaction.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/testapp/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/testapp/static/index.html +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/core/testapp/views.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/functional.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/support.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/test_plugins.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/test_resources.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/test_responses_buckets.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/test_responses_collections.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/test_responses_errors.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/test_responses_groups.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/test_responses_records.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/openapi/test_validation.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/plugins/__init__.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/plugins/test_admin.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/plugins/test_default_bucket.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/plugins/test_flush.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/plugins/test_openid.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_authorization.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_config.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_configuration/test.ini +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_init.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_main.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_admin.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_buckets.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_collections.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_collections_cache.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_contribute.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_disable_default.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_groups.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_hello.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_objects_permissions.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_permissions.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_records.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_schema_collection.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_schema_group.py +0 -0
- {kinto-18.0.0 → kinto-19.3.2}/tests/test_views_schema_record.py +0 -0
- {kinto-18.0.0/tests/core → kinto-19.3.2/tests}/test_views_version.py +0 -0
|
@@ -28,8 +28,8 @@ jobs:
|
|
|
28
28
|
node --version
|
|
29
29
|
npm --version
|
|
30
30
|
|
|
31
|
-
- name:
|
|
32
|
-
run: make
|
|
31
|
+
- name: Pull Admin UI
|
|
32
|
+
run: make pull-kinto-admin
|
|
33
33
|
|
|
34
34
|
- name: Install pypa/build
|
|
35
35
|
run: python3 -m pip install build
|
|
@@ -86,7 +86,7 @@ jobs:
|
|
|
86
86
|
images: kinto/kinto-server
|
|
87
87
|
|
|
88
88
|
- name: Build and push Docker image
|
|
89
|
-
uses: docker/build-push-action@
|
|
89
|
+
uses: docker/build-push-action@v6
|
|
90
90
|
with:
|
|
91
91
|
context: .
|
|
92
92
|
file: ./Dockerfile
|
|
@@ -32,18 +32,18 @@ jobs:
|
|
|
32
32
|
runs-on: ubuntu-latest
|
|
33
33
|
strategy:
|
|
34
34
|
matrix:
|
|
35
|
-
pyenv: [
|
|
35
|
+
pyenv: [py39, py310, py311, py312, py312-raw]
|
|
36
36
|
include:
|
|
37
|
-
- pyenv: py38
|
|
38
|
-
python-version: "3.8"
|
|
39
37
|
- pyenv: py39
|
|
40
38
|
python-version: "3.9"
|
|
41
39
|
- pyenv: py310
|
|
42
40
|
python-version: "3.10"
|
|
43
41
|
- pyenv: py311
|
|
44
42
|
python-version: "3.11"
|
|
45
|
-
- pyenv:
|
|
46
|
-
python-version: "3.
|
|
43
|
+
- pyenv: py312
|
|
44
|
+
python-version: "3.12"
|
|
45
|
+
- pyenv: py312-raw
|
|
46
|
+
python-version: "3.12"
|
|
47
47
|
services:
|
|
48
48
|
postgres:
|
|
49
49
|
image: postgres
|
|
@@ -177,7 +177,7 @@ jobs:
|
|
|
177
177
|
install: true
|
|
178
178
|
|
|
179
179
|
- name: Build container
|
|
180
|
-
uses: docker/build-push-action@
|
|
180
|
+
uses: docker/build-push-action@v6
|
|
181
181
|
with:
|
|
182
182
|
cache-from: type=local,src=${{ env.DOCKER_CACHE}}
|
|
183
183
|
cache-to: type=local,dest=${{ env.DOCKER_CACHE}},mode=max
|
|
@@ -227,8 +227,8 @@ jobs:
|
|
|
227
227
|
which firefox
|
|
228
228
|
firefox --version
|
|
229
229
|
|
|
230
|
-
- name: make
|
|
231
|
-
run: make
|
|
230
|
+
- name: make pull-kinto-admin
|
|
231
|
+
run: make pull-kinto-admin
|
|
232
232
|
|
|
233
233
|
- name: Install dependencies
|
|
234
234
|
run: make install-dev
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
# Mozilla Kinto server
|
|
2
|
-
|
|
3
|
-
FROM node:lts-bullseye-slim as node-builder
|
|
4
|
-
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl
|
|
5
|
-
COPY scripts/build-kinto-admin.sh .
|
|
6
|
-
COPY /kinto/plugins/admin ./kinto/plugins/admin
|
|
7
|
-
RUN bash build-kinto-admin.sh
|
|
8
|
-
|
|
9
|
-
FROM python:3.10-slim-bullseye as python-builder
|
|
2
|
+
FROM python:3.10-bullseye AS python-builder
|
|
10
3
|
RUN python -m venv /opt/venv
|
|
11
|
-
RUN apt-get update && apt-get install -y --no-install-recommends build-essential libpq-dev
|
|
12
4
|
ARG KINTO_VERSION=1
|
|
13
5
|
ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_KINTO=${KINTO_VERSION} \
|
|
14
6
|
PATH="/opt/venv/bin:$PATH"
|
|
15
7
|
# At this stage we only fetch and build all dependencies.
|
|
8
|
+
|
|
9
|
+
# Pull kinto-admin before building kinto so we can cache it
|
|
10
|
+
WORKDIR /kinto-admin
|
|
11
|
+
COPY kinto/plugins/admin kinto/plugins/admin
|
|
12
|
+
COPY scripts/pull-kinto-admin.sh .
|
|
13
|
+
RUN bash pull-kinto-admin.sh
|
|
14
|
+
|
|
16
15
|
WORKDIR /pkg-kinto
|
|
17
|
-
COPY constraints.txt .
|
|
18
|
-
|
|
16
|
+
COPY constraints.txt pyproject.toml ./
|
|
17
|
+
RUN pip install --upgrade pip && pip install -r constraints.txt
|
|
19
18
|
COPY kinto/ kinto/
|
|
20
|
-
RUN
|
|
21
|
-
|
|
22
|
-
pip install kinto-attachment kinto-emailer httpie
|
|
19
|
+
RUN cp -r /kinto-admin/kinto/plugins/admin/build kinto/plugins/admin/
|
|
20
|
+
RUN pip install ".[postgresql,memcached,monitoring]" -c constraints.txt && pip install kinto-attachment kinto-emailer httpie
|
|
23
21
|
|
|
24
22
|
FROM python:3.10-slim-bullseye
|
|
25
23
|
RUN apt-get update && apt-get install -y --no-install-recommends libpq-dev
|
|
@@ -27,7 +25,6 @@ RUN groupadd --gid 10001 app && \
|
|
|
27
25
|
useradd --uid 10001 --gid 10001 --home /app --create-home app
|
|
28
26
|
|
|
29
27
|
COPY --from=python-builder /opt/venv /opt/venv
|
|
30
|
-
COPY --from=node-builder /kinto/plugins/admin/build ./kinto/plugins/admin/build
|
|
31
28
|
|
|
32
29
|
ENV KINTO_INI=/etc/kinto/kinto.ini \
|
|
33
30
|
PORT=8888 \
|
|
@@ -39,4 +36,4 @@ WORKDIR /app
|
|
|
39
36
|
USER app
|
|
40
37
|
|
|
41
38
|
# Run database migrations and start the kinto server
|
|
42
|
-
CMD kinto migrate --ini $KINTO_INI && kinto start --ini $KINTO_INI --port $PORT
|
|
39
|
+
CMD ["sh", "-c", "kinto migrate --ini $KINTO_INI && kinto start --ini $KINTO_INI --port $PORT"]
|
|
@@ -20,13 +20,14 @@ help:
|
|
|
20
20
|
@echo " install-monitoring enable monitoring features like StatsD and Newrelic"
|
|
21
21
|
@echo " install-postgres install postgresql support"
|
|
22
22
|
@echo " install-dev install dependencies and everything needed to run tests"
|
|
23
|
-
@echo "
|
|
23
|
+
@echo " pull-kinto-admin pull the Kinto admin UI plugin (requires npm)"
|
|
24
24
|
@echo " serve start the kinto server on default port"
|
|
25
25
|
@echo " migrate run the kinto migrations"
|
|
26
26
|
@echo " lint run the code linters"
|
|
27
27
|
@echo " tests run all the tests with all the supported python interpreters (same as CI)"
|
|
28
|
+
@echo " test-deps pulls and runs docker postgres and memcached containers for tests"
|
|
28
29
|
@echo " tdd run pytest-watch to rerun tests automatically on changes for tdd"
|
|
29
|
-
@echo " tests-once
|
|
30
|
+
@echo " tests-once only run the tests once with the default python interpreter"
|
|
30
31
|
@echo " functional run functional test against a real kinto"
|
|
31
32
|
@echo " browser-test run browser test against a real kinto"
|
|
32
33
|
@echo " clean remove *.pyc files and __pycache__ directory"
|
|
@@ -67,8 +68,8 @@ $(DOC_STAMP): $(PYTHON) docs/requirements.txt
|
|
|
67
68
|
constraints.txt: constraints.in
|
|
68
69
|
pip-compile -o constraints.txt constraints.in
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
scripts/
|
|
71
|
+
pull-kinto-admin:
|
|
72
|
+
scripts/pull-kinto-admin.sh
|
|
72
73
|
|
|
73
74
|
$(SERVER_CONFIG):
|
|
74
75
|
$(VENV)/bin/kinto init --ini $(SERVER_CONFIG)
|
|
@@ -94,6 +95,14 @@ tests: install-postgres install-monitoring install-memcached version-file instal
|
|
|
94
95
|
tests-raw: version-file install-dev
|
|
95
96
|
$(VENV)/bin/py.test
|
|
96
97
|
|
|
98
|
+
test-deps:
|
|
99
|
+
docker pull memcached
|
|
100
|
+
docker pull postgres
|
|
101
|
+
docker run -p 11211:11211 --name kinto-memcached -d memcached || echo "cannot start memcached, already exists?"
|
|
102
|
+
docker run -p 5432:5432 --name kinto-postgres -e POSTGRES_PASSWORD=postgres -d postgres || echo "cannot start postgres, already exists?"
|
|
103
|
+
sleep 2
|
|
104
|
+
PGPASSWORD=postgres psql -c "CREATE DATABASE testdb ENCODING 'UTF8' TEMPLATE template0;" -U postgres -h localhost
|
|
105
|
+
|
|
97
106
|
lint: install-dev
|
|
98
107
|
$(VENV)/bin/ruff check kinto tests docs/conf.py
|
|
99
108
|
$(VENV)/bin/ruff format --check kinto tests docs/conf.py
|
|
@@ -105,9 +114,6 @@ format: install-dev
|
|
|
105
114
|
tdd: install-dev
|
|
106
115
|
$(VENV)/bin/ptw --runner $(VENV)/bin/py.test
|
|
107
116
|
|
|
108
|
-
need-npm:
|
|
109
|
-
@npm --version 2>/dev/null 1>&2 || (echo "The 'npm' command is required to build the Kinto Admin UI." && exit 1)
|
|
110
|
-
|
|
111
117
|
need-kinto-running:
|
|
112
118
|
@curl http://localhost:8888/v0/ 2>/dev/null 1>&2 || (echo "Run 'make runkinto' before starting tests." && exit 1)
|
|
113
119
|
|
|
@@ -119,12 +125,15 @@ functional: install-dev need-kinto-running
|
|
|
119
125
|
$(VENV)/bin/py.test tests/functional.py
|
|
120
126
|
|
|
121
127
|
browser-test: need-kinto-running
|
|
128
|
+
$(VENV)/bin/playwright install firefox
|
|
122
129
|
$(VENV)/bin/py.test tests/browser.py
|
|
123
130
|
|
|
124
131
|
clean:
|
|
125
132
|
find . -name '*.pyc' -delete
|
|
126
133
|
find . -name '__pycache__' -type d | xargs rm -fr
|
|
127
134
|
rm -fr docs/_build/
|
|
135
|
+
docker rm -f kinto-memcached || echo ""
|
|
136
|
+
docker rm -f kinto-postgres || echo ""
|
|
128
137
|
|
|
129
138
|
distclean: clean
|
|
130
139
|
rm -fr *.egg *.egg-info/ dist/ build/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: kinto
|
|
3
|
-
Version:
|
|
3
|
+
Version: 19.3.2
|
|
4
4
|
Summary: Kinto Web Service - Store, Sync, Share, and Self-Host.
|
|
5
5
|
Author-email: Mozilla Services <developers@kinto-storage.org>
|
|
6
6
|
License: Copyright 2012 - Mozilla Foundation
|
|
@@ -21,10 +21,10 @@ Project-URL: Repository, https://github.com/Kinto/kinto
|
|
|
21
21
|
Keywords: web,sync,json,storage,services
|
|
22
22
|
Classifier: Programming Language :: Python
|
|
23
23
|
Classifier: Programming Language :: Python :: 3
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.9
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.10
|
|
27
26
|
Classifier: Programming Language :: Python :: 3.11
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
28
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
29
29
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
30
30
|
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
|
|
@@ -61,12 +61,13 @@ Requires-Dist: newrelic; extra == "monitoring"
|
|
|
61
61
|
Requires-Dist: sentry-sdk[sqlalchemy]; extra == "monitoring"
|
|
62
62
|
Requires-Dist: statsd; extra == "monitoring"
|
|
63
63
|
Requires-Dist: werkzeug; extra == "monitoring"
|
|
64
|
+
Requires-Dist: prometheus-client; extra == "monitoring"
|
|
64
65
|
Provides-Extra: test
|
|
65
66
|
Requires-Dist: bravado; extra == "test"
|
|
66
67
|
Requires-Dist: pytest; extra == "test"
|
|
67
68
|
Requires-Dist: pytest-cache; extra == "test"
|
|
68
69
|
Requires-Dist: pytest-cov; extra == "test"
|
|
69
|
-
Requires-Dist:
|
|
70
|
+
Requires-Dist: playwright; extra == "test"
|
|
70
71
|
Requires-Dist: webtest; extra == "test"
|
|
71
72
|
Provides-Extra: dev
|
|
72
73
|
Requires-Dist: build; extra == "dev"
|
|
@@ -79,7 +80,7 @@ Kinto
|
|
|
79
80
|
|coc| |gitter| |readthedocs| |pypi| |ci| |main-coverage|
|
|
80
81
|
|
|
81
82
|
.. |coc| image:: https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-blue.svg
|
|
82
|
-
:target: https://github.com/Kinto/kinto/blob/main/CODE_OF_CONDUCT.md
|
|
83
|
+
:target: https://github.com/Kinto/kinto/blob/main/.github/CODE_OF_CONDUCT.md
|
|
83
84
|
:alt: Code of conduct
|
|
84
85
|
|
|
85
86
|
.. |gitter| image:: https://badges.gitter.im/Kinto/kinto.svg
|
|
@@ -113,7 +114,7 @@ Kinto is a minimalist JSON storage service with synchronisation and sharing abil
|
|
|
113
114
|
Requirements
|
|
114
115
|
------------
|
|
115
116
|
|
|
116
|
-
* **Python**: 3.
|
|
117
|
+
* **Python**: 3.9+
|
|
117
118
|
* **Backends**: In-memory (development), PostgreSQL 9.5+ (production)
|
|
118
119
|
|
|
119
120
|
Contributors
|
|
@@ -4,7 +4,7 @@ Kinto
|
|
|
4
4
|
|coc| |gitter| |readthedocs| |pypi| |ci| |main-coverage|
|
|
5
5
|
|
|
6
6
|
.. |coc| image:: https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-blue.svg
|
|
7
|
-
:target: https://github.com/Kinto/kinto/blob/main/CODE_OF_CONDUCT.md
|
|
7
|
+
:target: https://github.com/Kinto/kinto/blob/main/.github/CODE_OF_CONDUCT.md
|
|
8
8
|
:alt: Code of conduct
|
|
9
9
|
|
|
10
10
|
.. |gitter| image:: https://badges.gitter.im/Kinto/kinto.svg
|
|
@@ -38,5 +38,5 @@ Kinto is a minimalist JSON storage service with synchronisation and sharing abil
|
|
|
38
38
|
Requirements
|
|
39
39
|
------------
|
|
40
40
|
|
|
41
|
-
* **Python**: 3.
|
|
41
|
+
* **Python**: 3.9+
|
|
42
42
|
* **Backends**: In-memory (development), PostgreSQL 9.5+ (production)
|
|
@@ -25,6 +25,7 @@ psycopg2
|
|
|
25
25
|
zope.sqlalchemy
|
|
26
26
|
# monitoring
|
|
27
27
|
newrelic
|
|
28
|
+
prometheus-client
|
|
28
29
|
sentry-sdk[sqlalchemy]
|
|
29
30
|
statsd
|
|
30
31
|
werkzeug
|
|
@@ -33,7 +34,7 @@ bravado_core
|
|
|
33
34
|
pytest
|
|
34
35
|
pytest-cache
|
|
35
36
|
pytest-cov
|
|
36
|
-
|
|
37
|
+
playwright
|
|
37
38
|
webtest
|
|
38
39
|
# dev
|
|
39
40
|
build
|
|
@@ -1,70 +1,59 @@
|
|
|
1
1
|
#
|
|
2
|
-
# This file is autogenerated by pip-compile with Python 3.
|
|
2
|
+
# This file is autogenerated by pip-compile with Python 3.12
|
|
3
3
|
# by the following command:
|
|
4
4
|
#
|
|
5
|
-
# pip-compile --strip-extras
|
|
5
|
+
# pip-compile --output-file=constraints.txt --strip-extras constraints.in
|
|
6
6
|
#
|
|
7
7
|
arrow==1.3.0
|
|
8
8
|
# via isoduration
|
|
9
9
|
attrs==23.2.0
|
|
10
10
|
# via
|
|
11
11
|
# jsonschema
|
|
12
|
-
# outcome
|
|
13
12
|
# referencing
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
# via -r requirements.in
|
|
13
|
+
bcrypt==4.2.1
|
|
14
|
+
# via -r constraints.in
|
|
17
15
|
beautifulsoup4==4.12.3
|
|
18
16
|
# via webtest
|
|
19
17
|
bravado-core==6.1.1
|
|
20
|
-
# via -r
|
|
21
|
-
build==1.
|
|
22
|
-
# via -r
|
|
23
|
-
certifi==
|
|
18
|
+
# via -r constraints.in
|
|
19
|
+
build==1.2.2.post1
|
|
20
|
+
# via -r constraints.in
|
|
21
|
+
certifi==2024.7.4
|
|
24
22
|
# via
|
|
25
23
|
# requests
|
|
26
|
-
# selenium
|
|
27
24
|
# sentry-sdk
|
|
28
25
|
charset-normalizer==3.3.2
|
|
29
26
|
# via requests
|
|
30
27
|
colander==2.0
|
|
31
28
|
# via
|
|
32
|
-
# -r
|
|
29
|
+
# -r constraints.in
|
|
33
30
|
# cornice-swagger
|
|
34
31
|
colorama==0.4.6
|
|
35
32
|
# via logging-color-formatter
|
|
36
33
|
cornice==6.0.1
|
|
37
34
|
# via
|
|
38
|
-
# -r
|
|
35
|
+
# -r constraints.in
|
|
39
36
|
# cornice-swagger
|
|
40
37
|
cornice-swagger==1.0.1
|
|
41
|
-
# via -r
|
|
42
|
-
coverage==7.4
|
|
43
|
-
# via
|
|
44
|
-
|
|
45
|
-
#
|
|
46
|
-
dockerflow==2024.1.0
|
|
47
|
-
# via -r requirements.in
|
|
48
|
-
exceptiongroup==1.2.0
|
|
49
|
-
# via
|
|
50
|
-
# pytest
|
|
51
|
-
# trio
|
|
52
|
-
# trio-websocket
|
|
38
|
+
# via -r constraints.in
|
|
39
|
+
coverage==7.6.4
|
|
40
|
+
# via pytest-cov
|
|
41
|
+
dockerflow==2024.4.2
|
|
42
|
+
# via -r constraints.in
|
|
53
43
|
execnet==2.0.2
|
|
54
44
|
# via pytest-cache
|
|
55
45
|
fqdn==1.5.1
|
|
56
46
|
# via jsonschema
|
|
57
|
-
|
|
58
|
-
# via
|
|
47
|
+
greenlet==3.1.1
|
|
48
|
+
# via
|
|
49
|
+
# playwright
|
|
50
|
+
# sqlalchemy
|
|
59
51
|
hupper==1.12
|
|
60
52
|
# via pyramid
|
|
61
|
-
idna==3.
|
|
53
|
+
idna==3.7
|
|
62
54
|
# via
|
|
63
55
|
# jsonschema
|
|
64
56
|
# requests
|
|
65
|
-
# trio
|
|
66
|
-
importlib-metadata==7.0.1
|
|
67
|
-
# via build
|
|
68
57
|
iniconfig==2.0.0
|
|
69
58
|
# via pytest
|
|
70
59
|
iso8601==2.1.0
|
|
@@ -72,30 +61,28 @@ iso8601==2.1.0
|
|
|
72
61
|
isoduration==20.11.0
|
|
73
62
|
# via jsonschema
|
|
74
63
|
jsonpatch==1.33
|
|
75
|
-
# via -r
|
|
64
|
+
# via -r constraints.in
|
|
76
65
|
jsonpointer==2.4
|
|
77
66
|
# via
|
|
78
67
|
# jsonpatch
|
|
79
68
|
# jsonschema
|
|
80
69
|
jsonref==1.1.0
|
|
81
70
|
# via bravado-core
|
|
82
|
-
jsonschema==4.
|
|
71
|
+
jsonschema==4.23.0
|
|
83
72
|
# via
|
|
84
|
-
# -r
|
|
73
|
+
# -r constraints.in
|
|
85
74
|
# bravado-core
|
|
86
75
|
# swagger-spec-validator
|
|
87
76
|
jsonschema-specifications==2023.12.1
|
|
88
77
|
# via jsonschema
|
|
89
78
|
logging-color-formatter==1.1.0
|
|
90
|
-
# via -r
|
|
79
|
+
# via -r constraints.in
|
|
91
80
|
markupsafe==2.1.4
|
|
92
81
|
# via werkzeug
|
|
93
82
|
msgpack==1.0.7
|
|
94
83
|
# via bravado-core
|
|
95
|
-
newrelic==
|
|
96
|
-
# via -r
|
|
97
|
-
outcome==1.3.0.post0
|
|
98
|
-
# via trio
|
|
84
|
+
newrelic==10.4.0
|
|
85
|
+
# via -r constraints.in
|
|
99
86
|
packaging==23.2
|
|
100
87
|
# via
|
|
101
88
|
# build
|
|
@@ -109,45 +96,49 @@ plaster==1.1.2
|
|
|
109
96
|
# pyramid
|
|
110
97
|
plaster-pastedeploy==1.0.1
|
|
111
98
|
# via pyramid
|
|
112
|
-
|
|
99
|
+
playwright==1.49.1
|
|
100
|
+
# via -r constraints.in
|
|
101
|
+
pluggy==1.5.0
|
|
113
102
|
# via pytest
|
|
114
|
-
|
|
115
|
-
# via -r
|
|
103
|
+
prometheus-client==0.21.1
|
|
104
|
+
# via -r constraints.in
|
|
105
|
+
psycopg2==2.9.10
|
|
106
|
+
# via -r constraints.in
|
|
107
|
+
pyee==12.0.0
|
|
108
|
+
# via playwright
|
|
116
109
|
pyproject-hooks==1.0.0
|
|
117
110
|
# via build
|
|
118
111
|
pyramid==2.0.2
|
|
119
112
|
# via
|
|
120
|
-
# -r
|
|
113
|
+
# -r constraints.in
|
|
121
114
|
# cornice
|
|
122
115
|
# pyramid-mailer
|
|
123
116
|
# pyramid-multiauth
|
|
124
117
|
# pyramid-tm
|
|
125
118
|
pyramid-mailer==0.15.1
|
|
126
|
-
# via -r
|
|
127
|
-
pyramid-multiauth==1.0.
|
|
128
|
-
# via -r
|
|
129
|
-
pyramid-tm==2.
|
|
130
|
-
# via -r
|
|
131
|
-
|
|
132
|
-
# via
|
|
133
|
-
|
|
134
|
-
# via
|
|
135
|
-
# -r requirements.in
|
|
119
|
+
# via -r constraints.in
|
|
120
|
+
pyramid-multiauth==1.0.2
|
|
121
|
+
# via -r constraints.in
|
|
122
|
+
pyramid-tm==2.6
|
|
123
|
+
# via -r constraints.in
|
|
124
|
+
pytest==8.3.4
|
|
125
|
+
# via
|
|
126
|
+
# -r constraints.in
|
|
136
127
|
# pytest-cache
|
|
137
128
|
# pytest-cov
|
|
138
129
|
pytest-cache==1.0
|
|
139
|
-
# via -r
|
|
140
|
-
pytest-cov==
|
|
141
|
-
# via -r
|
|
142
|
-
python-dateutil==2.
|
|
130
|
+
# via -r constraints.in
|
|
131
|
+
pytest-cov==6.0.0
|
|
132
|
+
# via -r constraints.in
|
|
133
|
+
python-dateutil==2.9.0.post0
|
|
143
134
|
# via
|
|
144
|
-
# -r
|
|
135
|
+
# -r constraints.in
|
|
145
136
|
# arrow
|
|
146
137
|
# bravado-core
|
|
147
138
|
python-memcached==1.62
|
|
148
|
-
# via -r
|
|
139
|
+
# via -r constraints.in
|
|
149
140
|
python-rapidjson==1.14
|
|
150
|
-
# via -r
|
|
141
|
+
# via -r constraints.in
|
|
151
142
|
pytz==2023.3.post1
|
|
152
143
|
# via bravado-core
|
|
153
144
|
pyyaml==6.0.1
|
|
@@ -160,9 +151,9 @@ referencing==0.32.1
|
|
|
160
151
|
# jsonschema-specifications
|
|
161
152
|
repoze-sendmail==4.4.1
|
|
162
153
|
# via pyramid-mailer
|
|
163
|
-
requests==2.
|
|
154
|
+
requests==2.32.3
|
|
164
155
|
# via
|
|
165
|
-
# -r
|
|
156
|
+
# -r constraints.in
|
|
166
157
|
# bravado-core
|
|
167
158
|
rfc3339-validator==0.1.4
|
|
168
159
|
# via jsonschema
|
|
@@ -172,12 +163,10 @@ rpds-py==0.17.1
|
|
|
172
163
|
# via
|
|
173
164
|
# jsonschema
|
|
174
165
|
# referencing
|
|
175
|
-
ruff==0.1
|
|
176
|
-
# via -r
|
|
177
|
-
|
|
178
|
-
# via -r
|
|
179
|
-
sentry-sdk==1.39.2
|
|
180
|
-
# via -r requirements.in
|
|
166
|
+
ruff==0.9.1
|
|
167
|
+
# via -r constraints.in
|
|
168
|
+
sentry-sdk==2.8.0
|
|
169
|
+
# via -r constraints.in
|
|
181
170
|
simplejson==3.19.2
|
|
182
171
|
# via bravado-core
|
|
183
172
|
six==1.16.0
|
|
@@ -186,30 +175,20 @@ six==1.16.0
|
|
|
186
175
|
# cornice-swagger
|
|
187
176
|
# python-dateutil
|
|
188
177
|
# rfc3339-validator
|
|
189
|
-
sniffio==1.3.0
|
|
190
|
-
# via trio
|
|
191
|
-
sortedcontainers==2.4.0
|
|
192
|
-
# via trio
|
|
193
178
|
soupsieve==2.5
|
|
194
179
|
# via beautifulsoup4
|
|
195
|
-
sqlalchemy==2.0.
|
|
180
|
+
sqlalchemy==2.0.36
|
|
196
181
|
# via
|
|
197
|
-
# -r
|
|
182
|
+
# -r constraints.in
|
|
198
183
|
# sentry-sdk
|
|
199
184
|
# zope-sqlalchemy
|
|
200
185
|
statsd==4.0.1
|
|
201
|
-
# via -r
|
|
186
|
+
# via -r constraints.in
|
|
202
187
|
swagger-spec-validator==3.0.3
|
|
203
188
|
# via bravado-core
|
|
204
|
-
|
|
205
|
-
# via
|
|
206
|
-
# build
|
|
207
|
-
# coverage
|
|
208
|
-
# pyproject-hooks
|
|
209
|
-
# pytest
|
|
210
|
-
transaction==4.0
|
|
189
|
+
transaction==5.0
|
|
211
190
|
# via
|
|
212
|
-
# -r
|
|
191
|
+
# -r constraints.in
|
|
213
192
|
# pyramid-mailer
|
|
214
193
|
# pyramid-tm
|
|
215
194
|
# repoze-sendmail
|
|
@@ -218,48 +197,37 @@ translationstring==1.4
|
|
|
218
197
|
# via
|
|
219
198
|
# colander
|
|
220
199
|
# pyramid
|
|
221
|
-
trio==0.24.0
|
|
222
|
-
# via
|
|
223
|
-
# selenium
|
|
224
|
-
# trio-websocket
|
|
225
|
-
trio-websocket==0.11.1
|
|
226
|
-
# via selenium
|
|
227
200
|
types-python-dateutil==2.8.19.20240106
|
|
228
201
|
# via arrow
|
|
229
202
|
typing-extensions==4.9.0
|
|
230
203
|
# via
|
|
231
|
-
#
|
|
204
|
+
# pyee
|
|
232
205
|
# sqlalchemy
|
|
233
206
|
# swagger-spec-validator
|
|
234
207
|
uri-template==1.3.0
|
|
235
208
|
# via jsonschema
|
|
236
|
-
urllib3==2.
|
|
209
|
+
urllib3==2.2.2
|
|
237
210
|
# via
|
|
238
211
|
# requests
|
|
239
|
-
# selenium
|
|
240
212
|
# sentry-sdk
|
|
241
213
|
venusian==3.1.0
|
|
242
214
|
# via
|
|
243
215
|
# cornice
|
|
244
216
|
# pyramid
|
|
245
|
-
waitress==
|
|
217
|
+
waitress==3.0.2
|
|
246
218
|
# via
|
|
247
|
-
# -r
|
|
219
|
+
# -r constraints.in
|
|
248
220
|
# webtest
|
|
249
|
-
webcolors==
|
|
221
|
+
webcolors==24.6.0
|
|
250
222
|
# via jsonschema
|
|
251
|
-
webob==1.8.
|
|
223
|
+
webob==1.8.8
|
|
252
224
|
# via
|
|
253
225
|
# pyramid
|
|
254
226
|
# webtest
|
|
255
227
|
webtest==3.0.0
|
|
256
|
-
# via -r
|
|
257
|
-
werkzeug==3.
|
|
258
|
-
# via -r
|
|
259
|
-
wsproto==1.2.0
|
|
260
|
-
# via trio-websocket
|
|
261
|
-
zipp==3.17.0
|
|
262
|
-
# via importlib-metadata
|
|
228
|
+
# via -r constraints.in
|
|
229
|
+
werkzeug==3.1.3
|
|
230
|
+
# via -r constraints.in
|
|
263
231
|
zope-deprecation==5.0
|
|
264
232
|
# via pyramid
|
|
265
233
|
zope-interface==6.1
|
|
@@ -269,7 +237,7 @@ zope-interface==6.1
|
|
|
269
237
|
# transaction
|
|
270
238
|
# zope-sqlalchemy
|
|
271
239
|
zope-sqlalchemy==3.1
|
|
272
|
-
# via -r
|
|
240
|
+
# via -r constraints.in
|
|
273
241
|
|
|
274
242
|
# The following packages are considered to be unsafe in a requirements file:
|
|
275
243
|
# setuptools
|
|
@@ -119,7 +119,7 @@ Get started!
|
|
|
119
119
|
|
|
120
120
|
git clone git@github.com:your_name_here/kinto.git
|
|
121
121
|
|
|
122
|
-
3.
|
|
122
|
+
3. Run ``make test-deps``, or setup a local PostgreSQL database (:ref:`more details <postgresql-install>`)::
|
|
123
123
|
|
|
124
124
|
sudo apt-get install postgresql
|
|
125
125
|
sudo -n -u postgres -s -- psql -c "ALTER USER postgres WITH PASSWORD 'postgres';" -U postgres
|
|
@@ -235,16 +235,7 @@ In another terminal, run the end-to-end tests with:
|
|
|
235
235
|
|
|
236
236
|
Browser Tests
|
|
237
237
|
-------------
|
|
238
|
-
|
|
239
|
-
Make sure the `geckodriver <https://github.com/mozilla/geckodriver/releases>`_ binary is available in your path.
|
|
240
|
-
|
|
241
|
-
.. note::
|
|
242
|
-
|
|
243
|
-
If your installation of *Firefox* is custom, specify the path of its binary using an alias:
|
|
244
|
-
|
|
245
|
-
::
|
|
246
|
-
|
|
247
|
-
alias geckodriver="geckodriver --binary /path/to/firefox"
|
|
238
|
+
We use `playwright <https://playwright.dev/>`_ for browser testing. The tests included in this repo are very simple and verify the admin UI can at least authenticate with the current kinto back-end. Comprehensive unit tests are maintained in the kinto-admin repo.
|
|
248
239
|
|
|
249
240
|
|
|
250
241
|
In a terminal, run an instance with the provided ``browser.ini`` configuration:
|
|
@@ -24,10 +24,7 @@ __HERE__ = os.path.dirname(os.path.abspath(__file__))
|
|
|
24
24
|
on_rtd = os.environ.get("READTHEDOCS", None) == "True"
|
|
25
25
|
|
|
26
26
|
if not on_rtd: # only import and set the theme if we're building docs locally
|
|
27
|
-
import sphinx_rtd_theme
|
|
28
|
-
|
|
29
27
|
html_theme = "sphinx_rtd_theme"
|
|
30
|
-
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
|
|
31
28
|
|
|
32
29
|
# otherwise, readthedocs.io uses their theme by default, so no need to specify
|
|
33
30
|
# it
|
|
@@ -220,19 +220,14 @@ In the configuration of the CDN service, you should also:
|
|
|
220
220
|
Monitoring
|
|
221
221
|
----------
|
|
222
222
|
|
|
223
|
-
In order to enable monitoring features
|
|
223
|
+
In order to enable monitoring features (eg. *Prometheus* or *StatsD*), install
|
|
224
224
|
extra requirements:
|
|
225
225
|
|
|
226
226
|
::
|
|
227
227
|
|
|
228
228
|
make install-monitoring
|
|
229
229
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
.. code-block :: ini
|
|
233
|
-
|
|
234
|
-
# StatsD
|
|
235
|
-
kinto.statsd_url = udp://carbon.server:8125
|
|
230
|
+
See :ref:`settings section <monitoring-with-prometheus>` for the configuration aspects.
|
|
236
231
|
|
|
237
232
|
Counters
|
|
238
233
|
::::::::
|