chiark / gitweb /
Use -isystem for extra system includes on FreeBSD.
[disorder] / tests / user.py
index b04e2a285fffe3cdeda9d2f76842ded0dc9bce0e..2e5f86e85de8f3060faab9098e89e39d701abb22 100755 (executable)
@@ -55,6 +55,30 @@ def test():
     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()