Ejemplo n.º 1
0
def post_changed_groups(sender, instance, action, **kwargs):
    """
    Updated UCengine roles depending on Django's groups
    """
    rootsession = UCEngine(UCENGINE['host'], UCENGINE['port'])\
            .connect(UCUser(UCENGINE['user']), credential=UCENGINE['pwd'])
    if action == "pre_clear" or action == "pre_remove":
        _delete_ucengine_roles(rootsession, instance)
    if action == "post_add":
        _add_ucengine_roles(rootsession, instance)
    rootsession.close()
Ejemplo n.º 2
0
def overwrite_ucengine_credentials(sender, **kwargs):
    """
    override the user's UCEngine's password
    uses a random/unique password different from the one already in the profile

    sender = Signal()
    kwargs = {'request': Request(), 'user': User()}
    """  
    djangouser = kwargs['user']
    if djangouser is not None:
        rootsession = UCEngine(UCENGINE['host'],\
            UCENGINE['port'])\
            .connect(UCUser(UCENGINE['user']),\
            credential=UCENGINE['pwd'])
        _save_django_user(rootsession, djangouser, sync=False, created=False)
        rootsession.close()
Ejemplo n.º 3
0
class TestBasic(unittest.TestCase):
    def setUp(self):
        self.uce = UCEngine('localhost', 5280)
        self.victor = User('participant')
        self.session = self.uce.connect(self.victor, 'pwd').loop()

    def tearDown(self):
        self.session.close()

    def test_presence(self):
        self.assertTrue(None != self.session.sid)

    def test_bad_presence(self):
        thierry = User('thierry')
        try:
            self.uce.connect(thierry, '****')
        except UCError as e:
            self.assertEquals(404, e.code)
        else:
            self.assertTrue(False)

    def test_time(self):
        stime = self.session.time()
        self.assertEquals(long, type(stime))

    def test_infos(self):
        infos = self.session.infos()
        self.assertEquals(u'localhost', infos['domain'])

    def test_user(self):
        #FIXME missing "get user" for "participant"
        v = self.session.user('participant')
        self.assertTrue(None != v)

    def test_modify_user(self):
        owner = User('root')
        session = self.uce.connect(owner, 'root')
        print session.users()
        bob = User('Bob')
        bob.metadata['nickname'] = "Robert les grandes oreilles"
        session.save(bob)

    def test_meeting(self):
        meeting = self.session.meeting('demo')
        self.assertTrue(None != meeting)

    """
Ejemplo n.º 4
0
class TestBasic(unittest.TestCase):

    def setUp(self):
        self.uce = UCEngine('localhost', 5280)
        self.victor = User('participant')
        self.session = self.uce.connect(self.victor, 'pwd').loop()

    def tearDown(self):
        self.session.close()

    def test_presence(self):
        self.assertTrue(None != self.session.sid)

    def test_bad_presence(self):
        thierry = User('thierry')
        try:
            self.uce.connect(thierry, '****')
        except UCError as e:
            self.assertEquals(404, e.code)
        else:
            self.assertTrue(False)

    def test_time(self):
        stime = self.session.time()
        self.assertEquals(long, type(stime))

    def test_infos(self):
        infos = self.session.infos()
        self.assertEquals(u'localhost', infos['domain'])

    def test_user(self):
        #FIXME missing "get user" for "participant"
        v = self.session.user('participant')
        self.assertTrue(None != v)

    def test_modify_user(self):
        owner = User('root')
        session = self.uce.connect(owner, 'root')
        print session.users()
        bob = User('Bob')
        bob.metadata['nickname'] = "Robert les grandes oreilles"
        session.save(bob)

    def test_meeting(self):
        meeting = self.session.meeting('demo')
        self.assertTrue(None != meeting)
    """
Ejemplo n.º 5
0
 def setUp(self):
     #self.credentials = open("credentials.txt", "r")
     self.uce = UCEngine('http://localhost', 5280)
     self.participant = User('test', credential="test", auth="password", metadata={"somekey": "somevalue"})
     owner = User('admin')
     self.admin_session  = self.uce.connect(owner, 'admin', "password")
     self.admin_session.save(self.participant)
     self.session = self.uce.connect(self.participant, 'test', "password").loop()
Ejemplo n.º 6
0
def update_ucengine_credentials(sender, **kwargs):
    """
    override the user's UCEngine's password
    uses a random/unique password
    stores it in into the user's Django's session

    sender = Signal()
    kwargs = {'request': Request(), 'user': User()}
    """
    djangouser = kwargs['user']
    if djangouser is not None:
        rootsession = UCEngine(UCENGINE['host'],\
            UCENGINE['port'])\
            .connect(UCUser(UCENGINE['user']),\
            credential=UCENGINE['pwd'])
        _save_django_user(rootsession, djangouser, sync=True, created=False)
        rootsession.close()
Ejemplo n.º 7
0
 def setUp(self):
     self.uce = UCEngine('localhost', 5280)
     self.victor = User('participant')
     self.session = self.uce.connect(self.victor, 'pwd').loop()
Ejemplo n.º 8
0
 def setUp(self):
     self.uce = UCEngine('localhost', 5280)
     self.victor = User('participant')
     self.session = self.uce.connect(self.victor, 'pwd').loop()
Ejemplo n.º 9
0
class TestBasic(unittest.TestCase):

    def setUp(self):
        #self.credentials = open("credentials.txt", "r")
        self.uce = UCEngine('http://localhost', 5280)
        self.participant = User('test', credential="test", auth="password", metadata={"somekey": "somevalue"})
        owner = User('admin')
        self.admin_session  = self.uce.connect(owner, 'admin', "password")
        self.admin_session.save(self.participant)
        self.session = self.uce.connect(self.participant, 'test', "password").loop()

    def tearDown(self):
        """
        Close sessions and delete the 'test' user
        """
        self.session.close()
        self.admin_session.delete(self.participant)
        self.admin_session.close()

    def test_presence(self):
        self.assertTrue(None != self.session.sid)

    def test_bad_presence(self):
        """
        Connects with bad credentials
        """
        thierry = User('thierry')
        try:
            self.uce.connect(thierry, '****')
        except UCError as e:
            self.assertEquals(404, e.code)
        else:
            self.assertTrue(False)

    def test_time(self):
        """
        Get server time
        """
        stime = self.session.time()
        self.assertEquals(int, type(stime))

    def test_get_user(self):
        """
        Get user by UID
        """
        users =  self.admin_session.users()
        v = self.admin_session.user(users[0].uid)
        self.assertTrue(None != v)
    
    def test_create_and_delete_user(self):
        """
        creates, finds, and deletes a user
        """
        name = uuid4()
        bob = User(name, credential="pwd", auth="password")
        bob.metadata = {}
        bob.metadata['nickname'] = "Robert les grandes oreilles"
        bob.metadata['adict'] = { 'one': 2 }
        bob.metadata['alist'] = "'testing','data','encoding'"
        self.admin_session.save(bob)
        status, result = self.admin_session.find_user_by_name(name)
        self.assertEqual(status, 200)
        self.assertTrue(('metadata' in result['result']))
        self.assertEqual(result['result']['metadata']['alist'], "'testing','data','encoding'")
        self.assertTrue("adict" not in result['result']['metadata'])
        bob = User(name, credential="pwd", auth="password", uid=result['result']['uid'])
        self.admin_session.delete(bob)
        status, result = self.admin_session.find_user_by_name(name)
        self.assertEqual(status, 404)

    def test_modify_user(self):
        """
        Modify user's metadata multiple times and save
        """
        bob = User('Bob', credential="pwd", auth="password")
        bob.metadata = {}
        bob.metadata['nickname'] = "Robert les grandes oreilles"
        bob.metadata['adict'] = { 'one': 2 }
        bob.metadata['alist'] = "'testing','data','encoding'"
        self.admin_session.save(bob)
        status, result = self.admin_session.find_user_by_name('Bob')
        self.assertTrue(('metadata' in result['result']))
        self.assertEqual(result['result']['metadata']['alist'], "'testing','data','encoding'")
        self.assertEqual(result[u'result'][u'metadata'][u'nickname'], "Robert les grandes oreilles")
        # modifies only a metadata
        bob2 = User('Bob', metadata={'alist':""}, credential="pwd")
        self.admin_session.save(bob2)
        status, result = self.admin_session.find_user_by_name('Bob')
        self.assertEqual(result['result']['metadata']['alist'], "")
        # modifies NOTHING
        bob3 = User('Bob', credential="pwd")
        self.admin_session.save(bob3)
        status, result = self.admin_session.find_user_by_name('Bob')
        self.assertEqual(result['result']['metadata']['alist'], "")

    def test_modify_user_role(self):
        """
        Adds then deletes a role to an existing user
        Really basic since we cannot list user's roles with the current API
        """
        users = self.admin_session.users()
        self.admin_session.add_user_role( users[0].uid, "participant", "")
        self.admin_session.delete_user_role( users[0].uid, "participant", "")

    def test_meeting(self):
        """
        Creates then Gets a meeting called 'demo'
        """
        self.admin_session.save(Meeting("demo", {"toto": "toto"}))
        meeting = self.session.meeting('demo')
        self.assertTrue(None != meeting)