X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/f0feb22e80bfe438c16d212a7cc8be6d2282b6ac..e6ea27d845697c1544c6a1bbcd71b624275648e7:/tests/user.py diff --git a/tests/user.py b/tests/user.py index 8c13232..2e5f86e 100755 --- a/tests/user.py +++ b/tests/user.py @@ -27,9 +27,18 @@ def test(): print " checking user creation" c = disorder.client() c.adduser("bob", "bobpass") + users = c.users() + assert dtest.lists_have_same_contents(users, + ["fred", "bob", "root"]) + rights = c.userinfo("bob", "rights") + print " new user rights are: %s" % rights print " checking new user can log in" c = disorder.client(user="bob", password="bobpass") c.version() + print " checking bob can set their email address" + c.edituser("bob", "email", "foo@bar") + email = c.userinfo("bob", "email") + assert email == "foo@bar", "checking bob's email address" print " checking user deletion" c = disorder.client() c.deluser("bob") @@ -42,6 +51,34 @@ def test(): except disorder.operationError: pass # good print " deleted user could no longer log in." + c = disorder.client() + users = c.users() + assert dtest.lists_have_same_contents(users, + ["fred", "root"]) + print " creating the guest user" + dtest.command(["disorder", + "--config", disorder._configfile, "--no-per-user-config", + "--user", "root", "setup-guest"]) + print " logging in as guest user" + gc = disorder.client(user="guest", password="") + gc.version() + print " testing user registration" + cs = gc.register("joe", "joepass", "joe@nowhere.invalid") + print " confirmation string is %s" % cs + print " checking unconfirmed user cannot log in" + jc = disorder.client(user="joe", password="joepass") + try: + jc.version() + print "*** should not be able to log in before confirmation ***" + assert False + except disorder.operationError: + pass # good + print " confirming user" + gc = disorder.client(user="guest", password="") + gc.confirm(cs) + print " checking confirmed user can log in" + jc = disorder.client(user="joe", password="joepass") + jc.version() if __name__ == '__main__': dtest.run()