testfunc/test/windmill/test_connexion.py
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Thu, 01 Mar 2012 12:08:35 +0100
changeset 8310 87f2f18a77ef
parent 7363 2293c49b290a
child 8696 0bb18407c053
permissions -rw-r--r--
[LoginForm] refactor to ease other implementation An Abstract BaseLoginForm is created. It is intended to be used by cubes who want to implement new login form. It gather common login form elements in particular the form action. This will ease redefinition of this form action in later commit.

from cubicweb.devtools import DEFAULT_SOURCES
LOGIN, PASSWORD = DEFAULT_SOURCES['admin'].values()

# Generated by the windmill services transformer
from windmill.authoring import WindmillTestClient

def test_connect():
    client = WindmillTestClient(__name__)

    client.open(url=u'/')
    client.waits.forPageLoad(timeout=u'20000')
    client.asserts.assertJS(js=u"$('#loginForm').is(':visible')")
    client.type(text=LOGIN, id=u'__login')
    client.type(text=PASSWORD, id=u'__password')

    client.execJS(js=u"$('#loginForm').submit()")
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.sleep(milliseconds=u'5000')
    client.asserts.assertJS(js=u'$(\'.message\').text() == "welcome %s !"' % LOGIN)
    client.open(url=u'/logout')
    client.waits.forPageLoad(timeout=u'20000')
    client.open(url=u'/')
    client.waits.forPageLoad(timeout=u'20000')
    client.asserts.assertJS(js=u"$('#loginForm').is(':visible')")


def test_wrong_connect():
    client = WindmillTestClient(__name__)

    client.open(url=u'/')
    # XXX windmill wants to use its proxy internally on 403 :-(
    #client.asserts.assertJS(js=u"$('#loginForm').is(':visible')")
    #client.type(text=LOGIN, id=u'__login')
    #client.type(text=u'novalidpassword', id=u'__password')
    #client.click(value=u'log in')
    client.open(url=u'/?__login=user&__password=nopassword')
    client.waits.forPageLoad(timeout=u'20000')
    client.asserts.assertTextIn(validator=u'authentication failure', id=u'loginBox')
    client.open(url=u'/')
    client.waits.forPageLoad(timeout=u'20000')
    client.asserts.assertJS(js=u"$('#loginForm').is(':visible')")