def get_user_information(self, session_id): serialized_session_id = {'id': session_id.id} user_information = self._core_call('get_user_information', session_id=serialized_session_id) user = User(user_information['login'], user_information['full_name'], user_information['email'], user_information['role']['name']) user.remainder = user_information return user
def _generate_experiment_uses(): exp1, exp2 = _generate_two_experiments() use1 = ExperimentUse( datetime.datetime.utcnow(), datetime.datetime.utcnow(), exp1, User("jaime.irurzun", "Jaime Irurzun", "*****@*****.**", Role("student")), "unknown") use2 = ExperimentUse( datetime.datetime.utcnow(), datetime.datetime.utcnow(), exp2, User("pablo.orduna", "Pablo Orduna", "*****@*****.**", Role("student")), "unknown") return (use1, use2), 2
def get_user(self, credentials): if not M2CRYPTO_AVAILABLE: raise Exception("M2Crypto module not available") user_id, email = process_cookie(credentials) login = '******' % email full_name = user_id # We don't know the full name return User(login, full_name, email, StudentRole())
def test_get_user_information(self): self.configurationManager._set_value(self.rfs.FACADE_ZSI_PORT, 14131) self.rfs.start() try: wds = UserProcessingWebLabDeustoSOAP("http://*****:*****@deusto.es', Role("student") ) self.mock_server.return_values['get_user_information'] = expected_user_information user_information = wds.get_user_information(expected_sess_id) self.assertEquals( expected_sess_id.id, self.mock_server.arguments['get_user_information'][0] ) self.assertEquals( expected_user_information.full_name, user_information.full_name ) self.assertEquals( expected_user_information.login, user_information.login ) self.assertEquals( expected_user_information.email, user_information.email ) self.assertEquals( expected_user_information.role.name, user_information.role.name ) finally: self.rfs.stop()
def test_return_get_user_information(self): expected_sess_id = {'id': "whatever"} expected_user_information = User('porduna', 'Pablo Orduna', '*****@*****.**', Role("student")) self.mock_ups.return_values[ 'get_user_information'] = expected_user_information user_information = self.rfm.get_user_information(expected_sess_id) self.assertEquals( expected_sess_id['id'], self.mock_ups.arguments['get_user_information'][0].id) self.assertEquals(expected_user_information.login, user_information.login) self.assertEquals(expected_user_information.full_name, user_information.full_name) self.assertEquals(expected_user_information.email, user_information.email) self.assertEquals(expected_user_information.role.name, user_information.role.name)
def get_user(self, credentials): payload = credentials[credentials.find('.') + 1:] payload = payload.replace('-', '+').replace('_', '/') payload = payload + "==" try: json_content = base64.decodestring(payload) data = json.loads(json_content) oauth_token = data['oauth_token'] req = urllib2.urlopen(FACEBOOK_TOKEN_VALIDATOR % oauth_token) encoding = req.headers['content-type'].split('charset=')[-1] ucontent = unicode(req.read(), encoding) user_data = json.loads(ucontent) if not user_data['verified']: raise Exception("Not verified user!!!") login = '******' % user_data['id'] full_name = user_data['name'] email = user_data.get('email', '<not provided>') user = User(login, full_name, email, StudentRole()) return user except Exception as e: log.log(Facebook, log.level.Warning, "Error: %s" % e) log.log_exc(Facebook, log.level.Info) return ""
def list_all_users(): ups = _find_ups() session_mgr = ups._session_manager session_ids = session_mgr.list_sessions() global_sid = ups._alive_users_collection._experiments_server_session_id sessions = [] for session_id in session_ids: if session_id == global_sid: continue try: session = session_mgr.get_session(session_id) except SessionErrors.SessionError: continue if 'user_information' in session: user_info = session['user_information'] else: # It may happen if we list the experiments before gathering this information user_info = User('<unknown>', '<unknown>', '<unknown>', Role("student")) last = session.get('latest_timestamp') or 0 sessions.append((session_id, user_info, last)) return sessions
def retrieve_user_information(self, db_session_id): return User("student2", "Name of student 2", "*****@*****.**", Role("student"))
def get_user_information(self, session_id): serialized_session_id = {'id' : session_id.id} user_information = self._core_call('get_user_information', session_id = serialized_session_id) user = User(user_information['login'], user_information['full_name'], user_information['email'], user_information['role']['name']) user.remainder = user_information return user
def test_get_experiment_uses_without_criterias(self): PORT = 11227 self.configurationManager._set_value( AdminFacadeServer.ADMIN_FACADE_JSON_PORT, PORT) self.client = SmartGwtClient(PORT) self.rfs.start() try: dt1 = datetime.datetime(2010, 10, 4, 11, 00, 00) dt2 = datetime.datetime(2010, 10, 5, 12, 00, 00) user1 = User("jaime.irurzun", "Jaime Irurzun", "*****@*****.**", Role("student")) user2 = User("pablo.orduna", "Pablo Orduna", "*****@*****.**", Role("student")) exp = Experiment("ud-pld", ExperimentCategory("PLD experiments"), dt1, dt2, id=1) experiment_use1 = ExperimentUse(dt1, dt2, exp, user1, "unknown", id=4) experiment_use2 = ExperimentUse(dt1, dt2, exp, user2, "unknown", id=5) self.rfm_json.get_experiment_uses({'id': REAL_ID}, None, None, None, None, 0, 50, []) self.mocker.result(([experiment_use1, experiment_use2], 2)) self.mocker.replay() experiment_uses_response = self.client.get_experiment_uses( REAL_ID, [], None, 0, 50, [], 'exact') self.assertEquals(0, experiment_uses_response['status']) self.assertEquals(0, experiment_uses_response['startRows']) self.assertEquals(2, experiment_uses_response['endRow']) self.assertEquals(2, experiment_uses_response['totalRows']) experiment_uses = experiment_uses_response['data'] self.assertEquals(2, len(experiment_uses)) self.assertEquals(4, experiment_uses[0]['id']) self.assertEquals('2010-10-04T11:00:00', experiment_uses[0]['start_date']) self.assertEquals('2010-10-05T12:00:00', experiment_uses[0]['end_date']) self.assertEquals(user1.login, experiment_uses[0]['agent_login']) self.assertEquals(user1.full_name, experiment_uses[0]['agent_name']) self.assertEquals(user1.email, experiment_uses[0]['agent_email']) self.assertEquals('ud-pld', experiment_uses[0]['experiment_name']) self.assertEquals('PLD experiments', experiment_uses[0]['experiment_category']) self.assertEquals('unknown', experiment_uses[0]['origin']) self.assertEquals(5, experiment_uses[1]['id']) self.assertEquals('2010-10-04T11:00:00', experiment_uses[1]['start_date']) self.assertEquals('2010-10-05T12:00:00', experiment_uses[1]['end_date']) self.assertEquals(user2.login, experiment_uses[1]['agent_login']) self.assertEquals(user2.full_name, experiment_uses[1]['agent_name']) self.assertEquals(user2.email, experiment_uses[1]['agent_email']) self.assertEquals('ud-pld', experiment_uses[1]['experiment_name']) self.assertEquals('PLD experiments', experiment_uses[1]['experiment_category']) self.assertEquals('unknown', experiment_uses[1]['origin']) self.mocker.verify() finally: self.rfs.stop()
def test_get_experiment_uses(self): PORT = 11226 self.configurationManager._set_value( AdminFacadeServer.ADMIN_FACADE_JSON_PORT, PORT) self.client = SmartGwtClient(PORT) self.rfs.start() try: criterias = [] criterias.append({ 'operator': 'greaterOrEqual', 'fieldName': 'start_date', 'value': '2010-10-03T22:00:00' }) criterias.append({ 'operator': 'lessOrEqual', 'fieldName': 'end_date', 'value': '2010-10-08T21:59:59' }) criterias.append({ 'operator': 'equals', 'fieldName': 'group', 'value': 2 }) criterias.append({ 'operator': 'equals', 'fieldName': 'experiment_id', 'value': 9 }) from_date = datetime.datetime(2010, 10, 3, 22, 00, 00) to_date = datetime.datetime(2010, 10, 8, 21, 59, 59) dt1 = datetime.datetime(2010, 10, 4, 11, 00, 00) dt2 = datetime.datetime(2010, 10, 5, 12, 00, 00) user1 = User("jaime.irurzun", "Jaime Irurzun", "*****@*****.**", Role("student")) user2 = User("pablo.orduna", "Pablo Orduna", "*****@*****.**", Role("student")) exp = Experiment("ud-pld", ExperimentCategory("PLD experiments"), dt1, dt2, id=1) experiment_use1 = ExperimentUse(dt1, dt2, exp, user1, "unknown", id=4) experiment_use2 = ExperimentUse(dt1, dt2, exp, user2, "unknown", id=5) self.rfm_json.get_experiment_uses({'id': REAL_ID}, from_date, to_date, 2, 9, 0, 50, ['start_date']) self.mocker.result(([experiment_use1, experiment_use2], 2)) self.mocker.replay() experiment_uses_response = self.client.get_experiment_uses( REAL_ID, criterias, 'and', 0, 50, ['start_date'], 'exact') self.assertEquals(0, experiment_uses_response['status']) self.assertEquals(0, experiment_uses_response['startRows']) self.assertEquals(2, experiment_uses_response['endRow']) self.assertEquals(2, experiment_uses_response['totalRows']) experiment_uses = experiment_uses_response['data'] self.assertEquals(2, len(experiment_uses)) self.assertEquals(4, experiment_uses[0]['id']) self.assertEquals('2010-10-04T11:00:00', experiment_uses[0]['start_date']) self.assertEquals('2010-10-05T12:00:00', experiment_uses[0]['end_date']) self.assertEquals(user1.login, experiment_uses[0]['agent_login']) self.assertEquals(user1.full_name, experiment_uses[0]['agent_name']) self.assertEquals(user1.email, experiment_uses[0]['agent_email']) self.assertEquals('ud-pld', experiment_uses[0]['experiment_name']) self.assertEquals('PLD experiments', experiment_uses[0]['experiment_category']) self.assertEquals('unknown', experiment_uses[0]['origin']) self.assertEquals(5, experiment_uses[1]['id']) self.assertEquals('2010-10-04T11:00:00', experiment_uses[1]['start_date']) self.assertEquals('2010-10-05T12:00:00', experiment_uses[1]['end_date']) self.assertEquals(user2.login, experiment_uses[1]['agent_login']) self.assertEquals(user2.full_name, experiment_uses[1]['agent_name']) self.assertEquals(user2.email, experiment_uses[1]['agent_email']) self.assertEquals('ud-pld', experiment_uses[1]['experiment_name']) self.assertEquals('PLD experiments', experiment_uses[1]['experiment_category']) self.assertEquals('unknown', experiment_uses[1]['origin']) self.mocker.verify() finally: self.rfs.stop()
def _generate_users(self): user1 = User("Login", "FullName", "*****@*****.**", Role("student")) user2 = User("Login2", "FullName2", "*****@*****.**", Role("administrator")) return user1, user2
def _parse_user(self, holder): return User(holder['login'], holder['full_name'], holder['email'], holder['role'])
def _parse_user(self, holder): return User(holder.login, holder.full_name, holder.email, holder.role.name)