def test_login_view_status_code(self): view = setup_view(loginView(), self.get_request) view.request.user = MagicMock() view.request.user.is_authenticated = MagicMock(name='is_authenticated', return_value=False) response = view.get(view.request) self.assertEqual(response.status_code, 200)
def test_login_view_redirect_if_already_login(self): view = setup_view(loginView(), self.get_request) view.request.user = MagicMock(name='user') view.request.user.is_authenticated = MagicMock(name='is_authenticated', return_value=True) response = view.get(view.request) self.assertEqual(response.status_code, 302) self.assertIn(reverse('ftpdeploy_dashboard'), response.serialize().decode('utf-8'))
def test_form_valid_authenticate_fail_set_error_message( self, mock_authenticate, mock_messages): mock_messages.error = MagicMock(name='error_message') mock_authenticate.return_value = None view = setup_view(loginView(), self.get_request) view.form_class = MagicMock() response = view.form_valid(view.form_class) mock_messages.error.assert_has_calls self.assertEqual(response.status_code, 302) self.assertIn(reverse('ftpdeploy_login'), response.serialize().decode('utf-8'))
def test_form_valid_authenticate_success_log_user_in( self, mock_authenticate, mock_login_user): mock_authenticate.return_value = True self.get_request.session = MagicMock(name='session') view = setup_view(loginView(), self.get_request) view.form_class = MagicMock(name='form') view.form_class.cleaned_data.__getitem__ = MagicMock( name='cleaned_data', return_value='admin') get_request = view.form_valid(view.form_class) mock_authenticate.assert_called_once_with(username='******', password='******') mock_login_user.assert_has_calls
def test_login_view_render_proper_template(self): view = setup_view(loginView(), self.get_request) self.assertEqual(view.template_name, 'ftp_deploy/login/login.html', "login page use wrong template")
def test_login_view_user_proper_form_instance(self): view = setup_view(loginView(), self.get_request) self.assertEqual(view.form_class, LoginForm, "Login form is not instance of LoginForm")