def test_createGroups(self):        
     conn = self.rootconn
     uuid = conn._sessionUuid
     
     # private group
     params = {
         "name":"webadmin_test_group_private %s" % uuid,
         "description":"test group",
         "owners": [0L],
         "permissions":0
     }
     request = fakeRequest(method="post", params=params)
     gid = _createGroup(request, conn)
        
     # check if group created
     controller = BaseGroup(conn, gid)
     perm = controller.getActualPermissions()
     self.assertEquals(params['name'], controller.group.name)
     self.assertEquals(params['description'], controller.group.description)
     self.assertEquals(sorted(params['owners']), sorted(controller.owners))
     self.assertEquals(params['permissions'], perm)
     self.assertEquals(False, controller.isReadOnly())
     
     # read-only group
     params = {
         "name":"webadmin_test_group_read-only %s" % uuid,
         "description":"test group",
         "owners": [0L],
         "permissions":1,
         "readonly":True
     }
     request = fakeRequest(method="post", params=params)
     gid = _createGroup(request, conn)
           
     # check if group created
     controller = BaseGroup(conn, gid)
     perm = controller.getActualPermissions()
     self.assertEquals(params['name'], controller.group.name)
     self.assertEquals(params['description'], controller.group.description)
     self.assertEquals(sorted(params['owners']), sorted(controller.owners))
     self.assertEquals(params['permissions'], perm)
     self.assertEquals(params['readonly'], controller.isReadOnly())
 def test_updateGroups(self):        
     conn = self.rootconn
     uuid = conn._sessionUuid
     
     # private group
     params = {
         "name":"webadmin_test_group_private %s" % uuid,
         "description":"test group",
         "owners": [0L],
         "permissions":0
     }
     request = fakeRequest(method="post", params=params)
     gid = _createGroup(request, conn)
     
     # create new user
     params = {
         "omename":"webadmin_test_owner %s" % uuid,
         "first_name":uuid,
         "middle_name": uuid,
         "last_name":uuid,
         "email":"*****@*****.**" % uuid,
         "institution":"Laboratory",
         "active":True,
         "default_group":gid,
         "other_groups":[gid],
         "password":"******",
         "confirmation":"123" 
     }
     request = fakeRequest(method="post", params=params)
     eid = _createExperimenter(request, conn)
     
     # upgrade group to collaborative
     # read-only group and add new owner
     params = {
         "name":"webadmin_test_group_read-only %s" % uuid,
         "description":"test group changed",
         "owners": [0, eid],
         "permissions":1,
         "readonly":True
     }
     request = fakeRequest(method="post", params=params)
     _updateGroup(request, conn, gid)
     
     # check if updated
     controller = BaseGroup(conn, gid)
     perm = controller.getActualPermissions()
     self.assertEquals(params['name'], controller.group.name)
     self.assertEquals(params['description'], controller.group.description)
     self.assertEquals(sorted(params['owners']), sorted(controller.owners))
     self.assertEquals(params['permissions'], perm)
     self.assertEquals(params['readonly'], controller.isReadOnly())
 def test_createGroupsWithNonASCII(self):        
     conn = self.rootconn
     uuid = conn._sessionUuid
     
     # private group
     params = {
         "name":u"русский_алфавит %s" % uuid,
         "description":u"Frühstück-Śniadanie. Tschüß-Cześć",
         "owners": [0L],
         "permissions":0
     }
     request = fakeRequest(method="post", params=params)
     gid = _createGroup(request, conn)
        
     # check if group created
     controller = BaseGroup(conn, gid)
     perm = controller.getActualPermissions()
     self.assertEquals(params['name'], controller.group.name)
     self.assertEquals(params['description'], controller.group.description)
     self.assertEquals(sorted(params['owners']), sorted(controller.owners))
     self.assertEquals(params['permissions'], perm)
     self.assertEquals(False, controller.isReadOnly())