def test_login_get_OK_and_recieve_form(self): """Check if we render page. """ request = self.factory.get(self.fake_path) response = LoginView.as_view()(request) content = response.render().content self.assertEqual(response.status_code, 200) self.assertIsNotNone(response.context_data['form']) self.assertIn('group-username', content) self.assertIn('group-password', content)
def test_login_ajax_post_with_valid_user(self): """Submit valid data to the LoginView and get json answer with redirect link. """ request = self.factory.post( path=self.fake_path, data=dict( username=self.ADMIN_USERNAME, password=self.ADMIN_PASSWORD ), HTTP_X_REQUESTED_WITH='XMLHttpRequest' ) self.assertTrue(request.is_ajax()) LoginUnitTest._mock_session_to_request(request) response = LoginView.as_view()(request) self.assertEqual(response.status_code, 200) success_url = json.loads(response.content)['url'] self.assertEqual(success_url, reverse('contact')) self.assertEqual(response.get('content-type'), 'application/json')
def test_login_ajax_post_with_invalid_user(self): """Submit invalid data to the LoginView and get form errors. """ request = self.factory.post( path=self.fake_path, data=dict( username='******', password='******' ), HTTP_X_REQUESTED_WITH='XMLHttpRequest' ) self.assertTrue(request.is_ajax()) LoginUnitTest._mock_session_to_request(request) response = LoginView.as_view()(request) self.assertEqual(response.status_code, 400) self.assertIsNone(response.get('location')) errors = ['__all__', 'username', 'password'] self.assertIsNotNone(response.content) res_cont = json.loads(response.content) try: for error in errors: self.assertIsNotNone(res_cont[error]) except KeyError: pass
from django.conf.urls import patterns, include, url from hello.views import LoginView, HomeView, TaskListView urlpatterns = patterns('', url(r'^login/$', LoginView.as_view()), url(r'^lists/$', TaskListView.as_view()), url(r'^$', HomeView.as_view()), )
from django.conf.urls import patterns, include, url from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.conf.urls.static import static from django.conf import settings from django.contrib import admin from hello.views import ( ContactView, EditView, LogRequestView, LoginView, LogoutView, ) admin.autodiscover() urlpatterns = patterns( '', url(r'^$', ContactView.as_view(), name='contact'), url(r'^edit/(?P<pk>\d+)/$', EditView.as_view(), name='edit'), url(r'^requests/$', LogRequestView.as_view(), name='requests'), url(r'^login/$', LoginView.as_view(), name='login'), url(r'^logout/$', LogoutView.as_view(), name='logout'), url(r'^admin/', include(admin.site.urls)), ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += staticfiles_urlpatterns()