Skip to content

Commit

Permalink
Added 1.10, 1.11 and 2.0 django versions support
Browse files Browse the repository at this point in the history
  • Loading branch information
matllubos committed Mar 5, 2018
1 parent a355d54 commit 4fe0ed7
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 21 deletions.
11 changes: 8 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
language: python
python:
- "2.7"
- "3.3"
- "3.4"
- "3.5"
- "3.6"

env:
- DJANGO_VERSION=1.8
- DJANGO_VERSION=1.9
- DJANGO_VERSION=1.10
- DJANGO_VERSION=1.11
- DJANGO_VERSION=2.0

matrix:
exclude:
- python: "3.3"
env: DJANGO_VERSION=1.9
- python: "3.6"
env: DJANGO_VERSION=1.8
- python: "2.7"
env: DJANGO_VERSION=2.0

# command to install dependencies
install:
Expand Down
9 changes: 7 additions & 2 deletions chamber/multidomains/urlresolvers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@
from six.moves.urllib.parse import urlencode

from django.conf import settings
from django.core import urlresolvers

try:
from django.core.urlresolvers import reverse as django_reverse
except ImportError:
from django.urls import reverse as django_reverse



def reverse(viewname, site_id=None, add_domain=False, urlconf=None, args=None, kwargs=None, current_app=None,
Expand All @@ -16,4 +21,4 @@ def reverse(viewname, site_id=None, add_domain=False, urlconf=None, args=None, k
site_id = settings.SITE_ID if site_id is None else site_id
domain = get_domain(site_id).url if add_domain else ''
qs = '?{}'.format(urlencode(qs_kwargs)) if qs_kwargs else ''
return ''.join((domain, urlresolvers.reverse(viewname, urlconf, args, kwargs, current_app), qs))
return ''.join((domain, django_reverse(viewname, urlconf, args, kwargs, current_app), qs))
7 changes: 3 additions & 4 deletions example/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@ DJANGO_DIR = dj
VIRTUAL_ENV = var/ve
LOCALPATH = $(CURDIR)
PYTHONPATH = $(LOCALPATH)/$(DJANGO_DIR)
DJANGO_TEST_PORTS = 9000-10000
SETTINGS = settings
DJANGO_SETTINGS_MODULE = $(DJANGO_DIR).settings.$(SETTINGS)
DJANGO_POSTFIX = --settings=$(DJANGO_SETTINGS_MODULE) --pythonpath=$(PYTHONPATH)
PYTHON_BIN = $(VIRTUAL_ENV)/bin
PYTHON = python2.7
PYTHON = python3.6
PYTHON_VERSION_FULL := $(wordlist 2,4,$(subst ., ,$(shell python --version 2>&1)))
PYTHON_VERSION_MAJOR := $(word 1,${PYTHON_VERSION_FULL}).$(word 2,${PYTHON_VERSION_FULL})
TYPE = dev
Expand Down Expand Up @@ -52,7 +51,7 @@ reinstallvirtualenv: cleanvirtualenv bootstrap initvirtualenv initenv

test: clean
$(PYTHON_BIN)/coverage run --rcfile=$(LOCALPATH)/../.coveragerc $(LOCALPATH)/manage.py test $(test_modules)\
--liveserver=localhost:$(DJANGO_TEST_PORTS) $(DJANGO_POSTFIX) -v 2 --noinput $(extra)
$(DJANGO_POSTFIX) -v 2 --noinput $(extra)

htmlcoverage: test
$(PYTHON_BIN)/coverage html -d $(LOCALPATH)/var/reports/htmlcov --rcfile=$(LOCALPATH)/../.coveragerc
Expand All @@ -62,7 +61,7 @@ initdb:
mkdir -p $(LOCALPATH)/var/db

syncdb:
$(PYTHON_BIN)/python manage.py syncdb --noinput $(DJANGO_POSTFIX)
$(PYTHON_BIN)/python manage.py migrate --run-syncdb --noinput $(DJANGO_POSTFIX)

initdata: syncmedia
if [ -a $(LOCALPATH)/$(INIT_DATA_FILE) ]; then $(PYTHON_BIN)/python manage.py loaddata $(LOCALPATH)/$(INIT_DATA_FILE) $(DJANGO_POSTFIX); fi;
Expand Down
2 changes: 1 addition & 1 deletion example/dj/apps/test_chamber/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class TestSmartModel(chamber_models.SmartModel):


class RelatedSmartModel(chamber_models.SmartModel):
test_smart_model = models.ForeignKey(TestSmartModel, related_name='test_smart_models')
test_smart_model = models.ForeignKey(TestSmartModel, related_name='test_smart_models', on_delete=models.CASCADE)


class BackendUser(AbstractBaseUser):
Expand Down
4 changes: 2 additions & 2 deletions example/dj/apps/test_chamber/tests/models/dispatchers.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,13 @@ def test_created_dispatcher(self):
def test_should_call_dispatcher_with_invalid_value(self):
model = TestDispatchersModel.objects.create()
model.state = 3
field = TestDispatchersModel._meta.get_field_by_name('state')[0] # pylint: disable=W0212
field = TestDispatchersModel._meta.get_field('state') # pylint: disable=W0212
StateDispatcher(lambda: False, TestDispatchersModel.STATE, field, model.state)(model)

def _create_model_and_invalid_field(self):
model = TestDispatchersModel.objects.create()
model.state = TestDispatchersModel.STATE.SECOND
return model, TestDispatchersModel._meta.get_field_by_name('state')[0] # pylint: disable=W0212
return model, TestDispatchersModel._meta.get_field('state') # pylint: disable=W0212

@raises(ImproperlyConfigured)
def test_should_not_call_dispatcher_with_invalid_handler(self):
Expand Down
16 changes: 8 additions & 8 deletions example/dj/apps/test_chamber/tests/models/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ def test_random_file_path_should_be_generated_from_class_name(self):
def test_decimal_field(self):
change_and_save(self.inst, decimal=3)
assert_equal(self.inst.decimal, 3)
assert_raises(PersistenceException, change_and_save, self.inst, decimal=2.99)
assert_raises(PersistenceException, change_and_save, self.inst, decimal=10.00001)
assert_raises(PersistenceException, change_and_save, self.inst, decimal='2.99')
assert_raises(PersistenceException, change_and_save, self.inst, decimal='10.00001')
try:
change_and_save(self.inst, decimal=11.1)
change_and_save(self.inst, decimal='11.1')
assert_true(False, 'Previous `change_and_save` suppose to raise an exception')
except PersistenceException as ex:
assert_true('decimal: ' in str(ex), 'Exception message was supposed to contain a field name.')
Expand All @@ -54,12 +54,12 @@ def test_subchoices_field(self):
def test_subchoices_field_value_should_be_empty(self):
self.inst.state = 4 # setting an invalid value
try:
TestFieldsModel._meta.get_field_by_name('state_reason')[0].validate( # pylint: disable=W0212
TestFieldsModel._meta.get_field('state_reason').validate( # pylint: disable=W0212
TestFieldsModel.STATE_REASON.SUB_NOT_OK_2, self.inst) # pylint: disable=W0212
assert_true(False, 'Field validation should raise an error')
except ValidationError as ex:
assert_equal(['Value must be empty'], ex.messages)
assert_is_none(TestFieldsModel._meta.get_field_by_name('state_reason')[0].clean( # pylint: disable=W0212
assert_is_none(TestFieldsModel._meta.get_field('state_reason').clean( # pylint: disable=W0212
TestFieldsModel.STATE_REASON.SUB_NOT_OK_2, self.inst)) # pylint: disable=W0212

def test_prev_value_field(self):
Expand Down Expand Up @@ -127,14 +127,14 @@ def test_should_validate_positive_price_field(self):
assert_raises(PersistenceException, change_and_save, self.inst, total_price=-100)

def test_should_check_price_form_field(self):
field = TestFieldsModel._meta.get_field_by_name('price')[0] # pylint: disable=W0212
field = TestFieldsModel._meta.get_field('price') # pylint: disable=W0212
assert_equal(ugettext_lazy('EUR'), field.currency)
form_field = field.formfield()
assert_true(isinstance(form_field.widget, form_fields.PriceNumberInput))
assert_equal(field.currency, form_field.widget.placeholder)

def test_should_check_total_price_form_field(self):
field = TestFieldsModel._meta.get_field_by_name('total_price')[0] # pylint: disable=W0212
field = TestFieldsModel._meta.get_field('total_price') # pylint: disable=W0212
assert_equal(ugettext_lazy('CZK'), field.currency)
form_field = field.formfield()
assert_true(isinstance(form_field.widget, form_fields.PriceNumberInput))
Expand All @@ -146,7 +146,7 @@ def test_should_check_total_price_form_field(self):

@data_provider(model_fields)
def test_should_assert_form_field(self, field_name, currency, kwargs_to_remove):
field = TestFieldsModel._meta.get_field_by_name(field_name)[0] # pylint: disable=W0212
field = TestFieldsModel._meta.get_field(field_name) # pylint: disable=W0212
assert_equal(currency, field.currency)
form_field = field.formfield()
assert_true(isinstance(form_field.widget, form_fields.PriceNumberInput))
Expand Down
2 changes: 1 addition & 1 deletion example/requirements/base.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Django==1.8
Django==1.11
diff-match-patch==20110725.1
https://github.com/LukasRychtecky/germanium/tarball/1.0.12#egg=germanium-1.0.12
six==1.10.0
Expand Down

0 comments on commit 4fe0ed7

Please sign in to comment.