tests.py :  » Content-Management-Systems » PyLucid » PyLucid_standalone » pylucid_project » pylucid_plugins » auth » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » Content Management Systems » PyLucid 
PyLucid » PyLucid_standalone » pylucid_project » pylucid_plugins » auth » tests.py
# coding: utf-8

"""
    PyLucid JS-SHA-Login tests
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    A secure JavaScript SHA-1 Login and a plaintext fallback login.
    
    Last commit info:
    ~~~~~~~~~
    $LastChangedDate:$
    $Rev:$
    $Author: JensDiemer $
    
    :copyleft: 2010 by the PyLucid team, see AUTHORS for more details.
    :license: GNU GPL v3 or above, see LICENSE for more details
"""

if __name__ == "__main__":
    # run unittest directly
    import os
#    os.environ['DJANGO_SETTINGS_MODULE'] = "pylucid_project.settings"
    os.environ["DJANGO_SETTINGS_MODULE"] = "pylucid_project.pylucid_plugins.auth.test_settings"
    virtualenv_file = "../../../../../../PyLucid_env/bin/activate_this.py"
    execfile(virtualenv_file, dict(__file__=virtualenv_file))

from django.test import TestCase

#class AuthTest(TestCase):
#    fixtures = ['pylucid.json']
#
#    def test_basic_addition(self):
#        """
#        Tests that 1 + 1 always equals 2.
#        """
#        self.failUnlessEqual(1 + 1, 2)
#
#__test__ = {"doctest": """
#Another way to test that 1 + 1 is equal to 2.
#
#>>> 1 + 1 == 2
#False
#"""}


from django.test.client import Client
from django_tools.unittest_utils import unittest_base,BrowserDebug

from pylucid_project.tests.test_tools import basetest


LOGIN_URL = "?auth=login"


class LoginTest(basetest.BaseUnittest):
    fixtures = ['pylucid.json']

    def setUp(self):
        self.client = Client() # start a new session

    def test_login_link(self):
        """ Simple check if login link exist. """
        response = self.client.get("/admin/", HTTP_ACCEPT_LANGUAGE="en")
        self.assertResponse(response,
            must_contain=(
                # PageContent:
                '1-rootpage content',
                '<title>1-rootpage title',
                # Login in link:
                '<span class="PyLucidPlugins auth" id="auth_lucidTag">',
                '<a href="?auth=login"',
                'id="login_link',
            ),
            must_not_contain=('Error', "traceback", 'Permission denied'),
        )

#    def test_login_get_form(self):
#        """ Simple check if login link exist. """
#        response = self.client.get(LOGIN_URL)
#        self.assertResponse(response,
#            must_contain=(
#                '<title>1-rootpage title', # PageContent
#                # Form stuff:
#                "JS-SHA-LogIn", "username", "sha_login", "next_url"
#            ),
#            must_not_contain=(
#                "Traceback", 'Permission denied'
#                '1-rootpage content', # PageContent
#            ),
#        )
#
#    def test_login_ajax_form(self):
#        """ Check if we get the login form via AJAX """
#        response = self.client.get(LOGIN_URL, HTTP_X_REQUESTED_WITH='XMLHttpRequest')
#        self.failUnlessEqual(response.status_code, 200)
#        self.assertResponse(response,
#            must_contain=(
#                # Form stuff:
#                "JS-SHA-LogIn", "username", "sha_login", "next_url"
#            ),
#            must_not_contain=(
#                '<title>1-rootpage title', "<body", "<head>", # <- not a complete page
#                "Traceback", 'Permission denied'
#                '1-rootpage content', # PageContent
#            ),
#        )



if __name__ == "__main__":
    # Run all unittest directly
    from django.core import management
    management.call_command('test', __file__, verbosity=1)
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.