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.")
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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")
Exemplo n.º 6
0
 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)
Exemplo n.º 10
0
 def __init__(self):
     self.session = Session()