def test_sessionStarted(self): # Initialize and close the initial database. self.initialDatabase.execute( "CREATE TABLE Users (Id char(9),AccessType STRING);") self.initialDatabase.execute( "CREATE TABLE Sessions (Id char(9),StartTime BIGINT,EndTime BIGINT);" ) self.initialDatabase.commit() self.initialDatabase.close() # Set the static database, start sessions, and assert the sessions are correct. DatabaseManager.staticDatabaseManager = DatabaseManager.DatabaseManager( self.databaseFile) DatabaseManager.sessionStarted( Session.Session(User.User("000000001", 10), 5)) DatabaseManager.sessionStarted( Session.Session(User.User("000000002", 10), 8)) DatabaseManager.sessionStarted( Session.Session(User.User("000000001", 10), 15)) sessions = DatabaseManager.staticDatabaseManager.database.execute( "SELECT * FROM Sessions;").fetchall() self.assertEqual(sessions[0], ("000000001", 5, 0), "Session is incorrect.") self.assertEqual(sessions[1], ("000000002", 8, 0), "Session is incorrect.") self.assertEqual(sessions[2], ("000000001", 15, 0), "Session is incorrect.")
def test_sessionEnded(self): # Mock the Time module. currentTime = 0 class MockTimeModule: def getCurrentTimestamp(self): return currentTime DatabaseManager.Time = MockTimeModule() # Initialize and close the initial database. self.initialDatabase.execute( "CREATE TABLE Users (Id char(9),AccessType STRING);") self.initialDatabase.execute( "CREATE TABLE Sessions (Id char(9),StartTime BIGINT,EndTime BIGINT);" ) self.initialDatabase.commit() self.initialDatabase.close() # Create the database, start and end sessions, and assert the sessions are correct. CuT = DatabaseManager.DatabaseManager(self.databaseFile) CuT.sessionStarted(Session.Session(User.User("000000001", 10), 5)) currentTime = 7 CuT.sessionEnded(Session.Session(User.User("000000001", 10), 5)) CuT.sessionStarted(Session.Session(User.User("000000002", 10), 8)) currentTime = 9 CuT.sessionEnded(Session.Session(User.User("000000002", 10), 8)) CuT.sessionStarted(Session.Session(User.User("000000001", 10), 15)) sessions = CuT.database.execute("SELECT * FROM Sessions;").fetchall() self.assertEqual(sessions[0], ("000000001", 5, 7), "Session is incorrect.") self.assertEqual(sessions[1], ("000000002", 8, 9), "Session is incorrect.") self.assertEqual(sessions[2], ("000000001", 15, 0), "Session is incorrect.")
def post(current_user, self): if current_user[1]==False: return {'message': 'Access Denied!'}, 403 json_data = request.get_json(force=True) if not json_data: return {'message': 'No input data provided'}, 400 data, errors = session_schema.load(json_data) if errors: return errors, 422 lecon = Lecons.query.filter_by(id=data['lecons_id']).first() enseignant = Enseignants.query.filter_by(id=lecon.enseignant_id).first() if not current_user[0]==enseignant: return {'message': 'Action Forbidden!'}, 403 session = Session( salles_id=data['salles_id'], date_debut=data['date_debut'], lecons_id=data['lecons_id'], ) db.session.add(session) db.session.commit() session = Session.query.filter_by(lecons_id=data['lecons_id']).all() result = sessions_schema.dump(session).data result = result[len(result)-1] return 'Le numero de la seance est: ' +str(result['id']), 201
def post(self): json_data = request.get_json(force=True) if not json_data: return {'message': 'No input data provided'}, 400 # Validate and deserialize input data, errors = session_schema.load(json_data) if errors: return errors, 422 session = Session(start=json_data['start'], end=json_data['end']) db.session.add(session) db.session.commit() result = session_schema.dump(session).data return {"status": 'success', 'data': result}, 201
def post(self): uemail = self.request.get('email') upwd = self.request.get('pwd') if uemail == '' or upwd == '': self.redirect('/error') else: user = ndb.Key('User', uemail).get() if user and user.pwd == upwd: token = security.generate_random_string(length=20) session = Session(id=token) session.userKey = user.put() session.put() self.response.set_cookie(key='token', value=token, path='/') self.redirect("/home") else: self.redirect("/login")
def post(self): username = self.request.get("uname") uemail = self.request.get("email") upwd = self.request.get("pwd") if username == '' or uemail == '' or upwd == '': self.redirect('/error') else: user = User.get_by_id(uemail) if user: self.redirect('/error') else: newUser = User(id=uemail, uName=username, email=uemail, pwd=upwd) token = security.generate_random_string(length=20) session = Session(id=token) session.userKey = newUser.put() session.put() self.response.set_cookie(key='token', value=token, path='/') self.redirect('/home')
def test_getEndTime(self): CuT = Session.Session(self.testUser,50) self.assertEqual(CuT.getEndTime(),70,"End time is incorrect.")
def test_getStartTime(self): CuT = Session.Session(self.testUser,50) self.assertEqual(CuT.getStartTime(),50,"Start time is incorrect.")
def test_constructor(self): Session.Session(self.testUser,50)
def __init__(self): self.session = Session()