fix django 1.6 compatibility

This commit is contained in:
Élie Bouttier 2014-09-06 11:42:26 -07:00
parent d58bfacf10
commit 93a16087ca
3 changed files with 66 additions and 34 deletions

View file

@ -9,17 +9,16 @@ env:
- DJANGO='1.7'
install:
- if [[ $DJANGO == '1.6' ]]; then pip install django==1.6; fi
- if [[ $DJANGO != '1.6' ]]; then pip install -e git+git://github.com/django/django.git@1.7c2#egg=django1.7rc2; fi
- if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; then pip install django==1.6; fi
- pip install -r requirements.txt
- if [[ $DJANGO == '1.6' ]]; then pip install coveralls; fi
- if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; then pip install coveralls; fi
script:
- if [[ $DJANGO == '1.6' ]]; then coverage run --branch --source=accounts,permissions,tracker --omit=accounts/migrations/*.py,permissions/migrations/*.py,tracker/migrations/*.py manage.py test; fi
- if [[ $DJANGO != '1.6' ]]; then python manage.py test; fi
- if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; then coverage run --branch --source=accounts,permissions,tracker --omit=accounts/migrations/*.py,permissions/migrations/*.py,tracker/migrations/*.py manage.py test; fi
- if [[ $DJANGO != '1.6' || $TRAVIS_PYTHON_VERSION != 3.4 ]]; then python manage.py test; fi
after_success:
if [[ $DJANGO == '1.6' ]]; then coveralls; fi
if [[ $DJANGO == '1.6' && $TRAVIS_PYTHON_VERSION == 3.4 ]]; then coveralls; fi
notifications:
irc:

View file

@ -1,7 +1,8 @@
import json
from django.test import TestCase
from django.core.urlresolvers import reverse
from django import VERSION
import json
from accounts.models import *
@ -47,7 +48,11 @@ class TestViews(TestCase):
'new_password1': 'newpassword',
'new_password2': 'newpassword',
}, follow=True)
self.assertRedirects(response, reverse('login')+'?next='+reverse('profile'))
if VERSION >= (1, 7):
# since django 1.7, session are invalid after a password change
self.assertRedirects(response, reverse('login')+'?next='+reverse('profile'))
else:
self.assertRedirects(response, reverse('profile'))
self.assertContains(response, 'Password updated successfully')
user = User.objects.get(username='admin')
self.assertTrue(user.check_password('newpassword'))
@ -159,7 +164,7 @@ class TestViews(TestCase):
})
self.assertRedirects(response, reverse('show-user', args=[user.id]))
user = User.objects.get(pk=user.pk)
self.assertTrue(group in user.groups.all())
self.assertTrue(user.groups.filter(pk=group.pk).exists())
def test_user_remove_group(self):
user = User.objects.get(username='user1')
@ -168,11 +173,11 @@ class TestViews(TestCase):
response = self.client.get(reverse('remove-group-from-user', args=[user.id, group.id]))
self.assertEqual(response.status_code, 404)
user = User.objects.get(pk=user.pk)
self.assertTrue(group in user.groups.all())
self.assertTrue(user.groups.filter(pk=group.pk).exists())
response = self.client.get(reverse('remove-group-from-user', args=[user.id, group.id]))
self.assertEqual(response.status_code, 200)
user = User.objects.get(pk=user.pk)
self.assertFalse(group in user.groups.all())
self.assertFalse(user.groups.filter(pk=group.pk).exists())
def test_user_add_team(self):
user = User.objects.get(username='user1')
@ -188,7 +193,7 @@ class TestViews(TestCase):
})
self.assertRedirects(response, reverse('show-user', args=[user.id]))
team = Team.objects.get(pk=team.pk)
self.assertTrue(user in team.users.all())
self.assertTrue(team.users.filter(pk=user.pk).exists())
def test_user_remove_team(self):
user = User.objects.get(username='user1')
@ -196,7 +201,7 @@ class TestViews(TestCase):
response = self.client.get(reverse('remove-team-from-user', args=[user.id, team.id]))
self.assertEqual(response.status_code, 200)
team = Team.objects.get(pk=team.pk)
self.assertFalse(user in team.users.all())
self.assertFalse(team.users.filter(pk=user.pk).exists())
# Group
@ -257,7 +262,7 @@ class TestViews(TestCase):
response = self.client.get(reverse('add-user-to-group', args=[group.id]) + '?query=new')
self.assertEqual(response.status_code, 404)
user = User.objects.get(pk=user.pk)
self.assertFalse(group in user.groups.all())
self.assertFalse(user.groups.filter(pk=group.pk).exists())
response = self.client.get(reverse('add-user-to-group', args=[group.id]))
self.assertEqual(response.status_code, 404)
response = self.client.get(reverse('add-user-to-group', args=[group.id]) + '?query=new')
@ -269,7 +274,7 @@ class TestViews(TestCase):
})
self.assertRedirects(response, reverse('show-group', args=[group.id]))
user = User.objects.get(pk=user.pk)
self.assertTrue(group in user.groups.all())
self.assertTrue(user.groups.filter(pk=group.pk).exists())
def test_group_remove_user(self):
user = User.objects.get(username='user1')
@ -278,11 +283,10 @@ class TestViews(TestCase):
response = self.client.get(reverse('remove-user-from-group', args=[group.id, user.id]))
self.assertEqual(response.status_code, 404)
user = User.objects.get(pk=user.pk)
self.assertTrue(group in user.groups.all())
self.assertTrue(user.groups.filter(pk=group.pk).exists())
response = self.client.get(reverse('remove-user-from-group', args=[group.id, user.id]))
self.assertEqual(response.status_code, 200)
user = User.objects.get(pk=user.pk)
self.assertFalse(group in user.groups.all())
self.assertFalse(user.groups.filter(pk=group.pk).exists())
# Team
@ -345,7 +349,7 @@ class TestViews(TestCase):
})
self.assertRedirects(response, reverse('show-team', args=[team.id]))
team = Team.objects.get(pk=team.pk)
self.assertTrue(user in team.users.all())
self.assertTrue(team.users.filter(pk=user.pk).exists())
def test_team_remove_user(self):
team = Team.objects.get(name='team2')
@ -353,7 +357,7 @@ class TestViews(TestCase):
response = self.client.get(reverse('remove-user-from-team', args=[team.id, user.id]))
self.assertEqual(response.status_code, 200)
team = Team.objects.get(pk=team.pk)
self.assertFalse(user in team.users.all())
self.assertFalse(team.users.filter(pk=user.pk).exists())
def test_team_add_group(self):
team = Team.objects.get(name='team2')
@ -369,7 +373,7 @@ class TestViews(TestCase):
})
self.assertRedirects(response, reverse('show-team', args=[team.id]))
team = Team.objects.get(pk=team.pk)
self.assertTrue(group in team.groups.all())
self.assertTrue(team.groups.filter(pk=group.pk).exists())
def test_team_remove_group(self):
team = Team.objects.get(name='team2')
@ -377,7 +381,7 @@ class TestViews(TestCase):
response = self.client.get(reverse('remove-group-from-team', args=[team.id, group.id]))
self.assertEqual(response.status_code, 200)
team = Team.objects.get(pk=team.pk)
self.assertFalse(group in team.groups.all())
self.assertFalse(team.groups.filter(pk=group.pk).exists())
class TestModels(TestCase):

View file

@ -7,8 +7,13 @@ from django.db.models import Q
from django.core.exceptions import ObjectDoesNotExist
from django.conf import settings
from django.contrib.auth.forms import PasswordChangeForm
from django import VERSION
from django.http import Http404, HttpResponse, JsonResponse
from django.http import Http404, HttpResponse
if VERSION >= (1, 7):
from django.http import JsonResponse
else:
import json
from permissions.decorators import project_perm_required
@ -186,9 +191,13 @@ def user_add_group(request, user):
'value': group.name,
'data': group.name,
}]
return JsonResponse({
c = {
'suggestions': response,
}, safe=False)
}
if VERSION >= (1, 7):
return JsonResponse(c, safe=False)
else:
return HttpResponse(json.dumps(c), content_type="application/json")
@project_perm_required('manage_accounts')
@ -239,9 +248,13 @@ def user_add_team(request, user):
'value': team.name,
'data': team.name,
}]
return JsonResponse({
c = {
'suggestions': response,
}, safe=False)
}
if VERSION >= (1, 7):
return JsonResponse(c, safe=False)
else:
return HttpResponse(json.dumps(c), content_type="application/json")
@project_perm_required('manage_accounts')
@ -321,17 +334,21 @@ def group_add_user(request, group):
try:
user = User.objects.get(username=user)
except ObjectDoesNotExist:
print('user not found')
messages.error(request, 'User not found.')
else:
if group.users.filter(id=user.id).exists():
print('already exist')
messages.info(request, 'User already in group.')
else:
user.groups.add(group)
user.save()
messages.success(request,
'User added to group successfully.')
print('huge success')
else:
messages.error(request, 'User not found.')
print('not found 2')
return redirect('show-group', group.id)
else:
term = request.GET.get('query')
@ -347,9 +364,13 @@ def group_add_user(request, group):
'value': user.username_and_fullname,
'data': user.username,
}]
return JsonResponse({
c = {
'suggestions': response,
}, safe=False)
}
if VERSION >= (1, 7):
return JsonResponse(c, safe=False)
else:
return HttpResponse(json.dumps(c), content_type="application/json")
@project_perm_required('manage_accounts')
@ -454,9 +475,13 @@ def team_add_user(request, team):
'value': user.username_and_fullname,
'data': user.username,
}]
return JsonResponse({
c = {
'suggestions': response,
}, safe=False)
}
if VERSION >= (1, 7):
return JsonResponse(c, safe=False)
else:
return HttpResponse(json.dumps(c), content_type="application/json")
@project_perm_required('manage_accounts')
@ -503,9 +528,13 @@ def team_add_group(request, team):
'value': group.name,
'data': group.name,
}]
return JsonResponse({
c = {
'suggestions': response,
}, safe=False)
}
if VERSION >= (1, 7):
return JsonResponse(c, safe=False)
else:
return HttpResponse(json.dumps(c), content_type="application/json")
@project_perm_required('manage_accounts')