From 51000d5d359d880a6eb3a79345f60744f1982c00 Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Thu, 25 Apr 2019 10:57:58 -0400 Subject: [PATCH] Feanil/unpin drf (#47) * Add make upgrade for test requirements. * Get DRF unpinned and tested. * Make sure things happen that you want to happen --- Makefile | 12 ++++++++ openedx.yaml | 4 +++ requirements/base.in | 8 +++++ requirements/base.txt | 37 ++++++++++++++++++++++ requirements/test.in | 11 +++++++ test-requirements.txt | 72 +++++++++++++++++++++++++++++++++++++------ tox.ini | 6 +++- 7 files changed, 139 insertions(+), 11 deletions(-) create mode 100644 openedx.yaml create mode 100644 requirements/base.in create mode 100644 requirements/base.txt create mode 100644 requirements/test.in diff --git a/Makefile b/Makefile index f2407d1..0b8ff8d 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ all: requirements quality test +.PHONY: clean requirements quality test upgrade + clean: coverage erase find . -name '*.pyc' -delete @@ -11,5 +13,15 @@ requirements: pip install -e . # Install this package and its dependencies pip install -r test-requirements.txt +upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade +upgrade: ## update the requirements text files based on the requirements/*.in files + pip install -q pip-tools + pip-compile --upgrade -o requirements/base.txt requirements/base.in + pip-compile --upgrade -o test-requirements.txt requirements/test.in + # Let tox control the Django version for tests + sed -i.tmp '/^django==/d' test-requirements.txt + sed -i.tmp '/^djangorestframework==/d' test-requirements.txt + rm test-requirements.txt.tmp + test: tox diff --git a/openedx.yaml b/openedx.yaml new file mode 100644 index 0000000..ea179e1 --- /dev/null +++ b/openedx.yaml @@ -0,0 +1,4 @@ +--- +owner: unknown +oeps: + oep-18: True diff --git a/requirements/base.in b/requirements/base.in new file mode 100644 index 0000000..880a5a7 --- /dev/null +++ b/requirements/base.in @@ -0,0 +1,8 @@ +django +django-model-utils>=1.4.0 +djangorestframework>=3.2.0 +djangorestframework-oauth>=1.1.0 +edx-django-oauth2-provider>=1.2.0 +edx-drf-extensions>=2.0.0 +edx-opaque-keys>=0.1.2 +Pillow diff --git a/requirements/base.txt b/requirements/base.txt new file mode 100644 index 0000000..f171fc4 --- /dev/null +++ b/requirements/base.txt @@ -0,0 +1,37 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# make upgrade +# +certifi==2019.3.9 # via requests +chardet==3.0.4 # via requests +django-model-utils==3.1.2 +django-waffle==0.16.0 # via edx-django-utils, edx-drf-extensions +django==1.11.20 +djangorestframework-jwt==1.11.0 # via edx-drf-extensions +djangorestframework-oauth==1.1.0 +djangorestframework==3.9.2 +edx-django-oauth2-provider==1.3.5 +edx-django-utils==1.0.3 # via edx-drf-extensions +edx-drf-extensions==2.2.0 +edx-opaque-keys==0.4.4 +future==0.17.1 # via pyjwkest +idna==2.8 # via requests +newrelic==4.18.0.118 # via edx-django-utils +pbr==5.1.3 # via stevedore +pillow==6.0.0 +psutil==1.2.1 # via edx-django-utils, edx-drf-extensions +pycryptodomex==3.8.1 # via pyjwkest +pyjwkest==1.3.2 # via edx-drf-extensions +pyjwt==1.7.1 # via djangorestframework-jwt +pymongo==3.8.0 # via edx-opaque-keys +python-dateutil==2.8.0 # via edx-drf-extensions +pytz==2019.1 # via django +requests==2.21.0 # via edx-drf-extensions, pyjwkest +rest-condition==1.0.3 # via edx-drf-extensions +semantic-version==2.6.0 # via edx-drf-extensions +shortuuid==0.5.0 # via edx-django-oauth2-provider +six==1.12.0 # via edx-drf-extensions, edx-opaque-keys, pyjwkest, python-dateutil, stevedore +stevedore==1.30.1 # via edx-opaque-keys +urllib3==1.24.2 # via requests diff --git a/requirements/test.in b/requirements/test.in new file mode 100644 index 0000000..f968847 --- /dev/null +++ b/requirements/test.in @@ -0,0 +1,11 @@ +-r base.txt + +ddt>=0.8.0,<1.1.1 +coverage>=4.0.3,<5.0.0 +django_nose>=1.3.0,<=2.0.0 +edx-lint>=0.5.2,<1.0.0 +factory-boy>=2.6.0,<3.0.0 +httpretty>=0.8.14,<1.0.0 +nose>=1.3.7,<2.0.0 +pep8>=1.7.0,<2.0.0 +tox diff --git a/test-requirements.txt b/test-requirements.txt index 36835dd..80e2841 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,10 +1,62 @@ -ddt>=0.8.0,<1.1.1 -coverage>=4.0.3,<5.0.0 -django_nose>=1.3.0,<=2.0.0 -edx-lint>=0.5.2,<1.0.0 -factory-boy>=2.6.0,<3.0.0 -httpretty>=0.8.14,<1.0.0 -nose>=1.3.7,<2.0.0 -pep8>=1.7.0,<2.0.0 -tox>=2.3.1,<3.0.0 - +# +# This file is autogenerated by pip-compile +# To update, run: +# +# make upgrade +# +astroid==1.5.3 # via edx-lint, pylint, pylint-celery +certifi==2019.3.9 +chardet==3.0.4 +click-log==0.1.8 # via edx-lint +click==7.0 # via click-log, edx-lint +coverage==4.5.3 +ddt==1.1.0 +django-model-utils==3.1.2 +django-nose==1.4.6 +django-waffle==0.16.0 +djangorestframework-jwt==1.11.0 +djangorestframework-oauth==1.1.0 +edx-django-oauth2-provider==1.3.5 +edx-django-utils==1.0.3 +edx-drf-extensions==2.2.0 +edx-lint==0.6.0 +edx-opaque-keys==0.4.4 +factory-boy==2.11.1 +faker==1.0.5 # via factory-boy +filelock==3.0.10 # via tox +future==0.17.1 +httpretty==0.9.6 +idna==2.8 +isort==4.3.17 # via pylint +lazy-object-proxy==1.3.1 # via astroid +mccabe==0.6.1 # via pylint +newrelic==4.18.0.118 +nose==1.3.7 +pbr==5.1.3 +pep8==1.7.1 +pillow==6.0.0 +pluggy==0.9.0 # via tox +psutil==1.2.1 +py==1.8.0 # via tox +pycryptodomex==3.8.1 +pyjwkest==1.3.2 +pyjwt==1.7.1 +pylint-celery==0.3 # via edx-lint +pylint-django==0.7.2 # via edx-lint +pylint-plugin-utils==0.5 # via pylint-celery, pylint-django +pylint==1.7.6 # via edx-lint, pylint-celery, pylint-django, pylint-plugin-utils +pymongo==3.8.0 +python-dateutil==2.8.0 +pytz==2019.1 +requests==2.21.0 +rest-condition==1.0.3 +semantic-version==2.6.0 +shortuuid==0.5.0 +six==1.12.0 +stevedore==1.30.1 +text-unidecode==1.2 # via faker +toml==0.10.0 # via tox +tox==3.9.0 +urllib3==1.24.2 +virtualenv==16.4.3 # via tox +wrapt==1.11.1 # via astroid diff --git a/tox.ini b/tox.ini index 38d76d6..09582b3 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py27-django111, py36-django{111,20,21} +envlist = py{27,36}-django111-drf{37,38,39,latest}, py36-django{20,21}-drf{latest} [testenv] setenv = @@ -10,6 +10,10 @@ deps = django111: Django>=1.11,<2.0 django20: Django>=2.0,<2.1 django21: Django>=2.1,<2.2 + drf37: djangorestframework<3.8 + drf38: djangorestframework<3.9 + drf39: djangorestframework<4.0 + drflatest: djangorestframework -rtest-requirements.txt commands =