testfunc/test/windmill/test_connexion.py
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Fri, 29 Mar 2013 12:47:04 +0100
changeset 8840 bd5b5759c9b3
parent 8696 0bb18407c053
permissions -rw-r--r--
[session] make hook_control API private The doc already says "internal API". The old entry point is now officially deprecated and the context manager have been made private.

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

# 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')")