* Use docker-compose>=1.18 and minimal docker-compose config version to 2.3
* Starts ui-tests in Firefox docker container
* Let's the Firefox docker-container hit directly nginx
* makes use of https://github.com/jrbenny35/selenium-firefox/ firefox+selenium image
* makes use of /user-media/ serving directly via nginx for XPI installs
* Adds a helper that creates an installable add-on
* Update `firefox_options` fixture with all options needed to install add-ons with a test signing signature
Fixes#7270Fixes#2488
* Add isort to our codebase.
This is the first draft, please feel free to discuss this but I'm
generally open to change that style later on.
I just want to start making more and more of our code-style a rule
instead of something we have to take care of during code reviews.
* Ignore safe_xml file
* Don't change safe_lxml_etree
* Fix import unifification going bonkers, I don't blame isort though, this was creepy.
* Fix signin.test_views
* More flake8
* Use style number 4, hanging grid
* django group only contains django now, move above 3rd party group
* Remove pytest-isort for now to avoid isort being imported during tests.
isort has a super bad module that sets the defaultsystemencoding to
utf-8 and breaks our tests that ensure that our settings are *never*
unicode strings. If the default system encoding is set to utf-8 these
tests just work since the bytestring will be implicitly encoded to utf-8
instead of ascii which is the python2 default.
https://github.com/timothycrosley/isort/blob/develop/isort/pie_slice.py#L145
* Also let the dot in py.test die so that upstream is happy again :)
* Update tox to 2.9.1
* Make sure that our urlconf is reset *after* we set MEDIA_ROOT
* Adapt file extraction handling to new TMP_PATH prefixes
* Less dump_apps hacks since the apps.json file isn't present at the
beginning of any test now thanks to temporary paths for every separate
test
* Rewrite read-only-mode tests to cope with pytest settings fixture
* Remove atexit hack from settings_test
This will probably make things a lot easier for ui-tests as well.
Fixes#7205Fixes#7206
Fixes#6640Fixes#6866
This pull request adds support for our new Autograph signing server, adds it to our dockerized services and adds tests that now actually call our signing server.
* Add a waffle-switch for calls to our new autograph signing server
* Add the autograph signing server to docker-compose
* Add the autograph signing server to our travis setup
* avoid us specifying the signing server settings everywhere in the code, one single source of truth
* more use of `responses` instead of mocking, leaning towards
the future where we can actually hit a signing server instead
of a mock
* disallow http requests generically, unless configured otherwise
* Add migration for waffle flag
* Pin all our dependencies, including pip, six, ipython and ipdb.
This removes all dynamically installed python packages from the
installation pipeline and should result in a cleaner system install.
Fixes#6001
* Cleanup docs, prod and merge a few dependencies with system.
* Move more dependencies from prod to system :-/
* Finally fix docs task
* Updated config to use circleci as well as configure ui-tests to run within docker
* Removed hacky certifi installs
* Update requirements to master versions
Fixes#4697 (though not only that)
* Replace SortedDict with OrderedDict
* Replace get_field_by_name() by get_field()
* Consider warnings as errors to catch DeprecationWarnings
* Upgrade pytest django, since it generates a lot of deprecation warnings
* Ignore DeprecationWarning from django-csp
* Replace old option parsing syntax in management commands
* Replace request.REQUEST with request.POST
* Replace custom sql to create indexes by model options
* Replace get_all_field_names() with get_fields()
* don't keep this
* Try removing the create-db, we're having errors at teardown
* Fix commands args parsing
* Re-consider DeprecationWarnings as errors
* Remove usage of Context()
* Fix DeprecationWarning caused by paypal PaypalError self.message
* Fix linter test using exception.message
* Fix mock to prevent passing a callable to a queryset filter
* Remove reference to non-existent fixture
* django.forms.util module has been renamed. Use django.forms.utils instead
* (WIP) Support zh-hant & zh-hans instead of zh-TW and zh-CN, respectively.
* Don't pass callable to queryset
* ignore jwt deprecation warnings
* Don't use TestCase.urls anymore
* test against exception message directly
* Simplify nested context managers
* Restore this usage of Context(), it's still valid
* Restore setup.cfg
* Revert "(WIP) Support zh-hant & zh-hans instead of zh-TW and zh-CN, respectively."
This reverts commit 7d82b59850.
* fix flake8
* Compile locales before we run tests, add gettext dependency
* Make compile-mo fail on linting errors.
* Fix tox compilation
* More tox fixes
* Fix path
* remove usedevelop for now
* re-add plural forms
It took me days to find this and loads of useless refactoring but
apparently these tasks get immediately upgraded to a chord after we
chain them later with the other tasks (after the for-loop).
And, the only requirement for a chord is: do not ignore the results,
never!
Refs #3960
* Make sure index_stats isn't using call_command
* modernize create_subtasks, add support for countdowns, fix queries loading the world...
* half chunk size for stats reindexing
* Refactor stats reindex logging
* Upgrade elasticsearch to 5.4.1 for our docker config
* Make es test setup easier to inherit for our uitests.
* Restore order, make sure to start es before add-on get's created.
* Remove db requirement from es_test fixture
* Install six before we upgrade setuptools.
See pypa/setuptools#964 for a few more details. Currently quite a few
travis and circleci jobs are failing because of that.
* Explicitly upgrade pip and setuptools in 'make update_deps' so for travis too.
* Potentially fix circleci
* Fix setuptools and potentially docs environments
* More explicitly install six and setuptools
* Add more requirements for docs
* Add pyparsing dependency
There's now only one place that defines how we install things, the Makefile.
This also merges flake8.txt, test.txt into dev.txt and removed the
unused load.txt and cleans up all installation related code in
Dockerfile and tox.
* Install our node dependencies in update_deps too, we do use at least addons-linter in the near future.
* Need to move addons-server install from "deps" to "commands" because
editable mode is not compitable with hash-checking mode for "pip install"
* Need to add extra install commands for anything used to depend on
"compiled.txt" or "prod.txt" because the two have been splitted into
with and without hash files.
* Adds simple wrapper around addons-linter
* runs addons-linter if switch 'addons-linter' is active
* only runs it for WebExtensions
* Adds basic compatibility wrapper to integrate it's output
into the rest of AMO without rewriting everything
fixes#882, fixes#1854, fixes#1853, fixes#1855, fixes#884
This reverts commit 81d6f202ee.
django-cache-machine==0.8 does not match what we were using in the git
revision beforehand. This is blocking us on master so I'm just going to revert
temporarily while we fix up pyrepo to get the right packages on there.