Beispiel #1
0
class Session(Resource):
    cache = {}

    def __init__(self):
        self._model = SessionModel()

    def post(self):
        data = self._model.create((request.remote_addr or "0.0.0.0"),
                                  str(request.user_agent))
        if data:
            data = self._model.read(data.id)
            return jsonify(dict(data))
        abort(400)

    def get(self, session_id=None):
        response = self._model.read(session_id)
        if response:
            return jsonify(response)
        abort(404)

    def delete(self, session_id=None):
        self._model.destroy(session_id)
        return ""

    def put(self, session_id=None):
        data = self._model.update(session_id, data=json.dumps(request.json))
        if data:
            data = self._model.read(session_id)
            if data:
                return jsonify(dict(data))
        abort(400)
Beispiel #2
0
class SessionExtern(Resource):
    def __init__(self):
        Resource.__init__(self)
        self.model = SessionModel()

    def _validate_session(self, session_id=None):
        if not session_id:
            abort(404)

    def post(self):
        response = self.model.create((request.remote_addr or "0.0.0.0"),
                                     str(request.user_agent or ""))
        if response.is_ok():
            return response.data()
        elif response.is_communication_error():
            abort(503)
        else:
            abort(401)

    def get(self, session_id=None):
        self._validate_session(session_id)
        response = self.model.read(session_id)
        if response.is_ok():
            return jsonify(response.data())
        abort(404)

    def delete(self, session_id=None):
        self._validate_session()
        response = self.model.destroy(session_id)
        if response.is_ok():
            return True
        return abort(500)

    def put(self, session_id=None):
        self._validate_session()
        pass
Beispiel #3
0
from app.models.session import Session

if __name__ == "__main__":
    # Unit tests
    try:
        session = Session()
        testTitle = "hello world!"
        session.title = testTitle
        session.duration = 20
        session.create()
        session_id = session.id
        session = session.get(session_id)
        assert session.id == session_id
        assert session.title == testTitle
        session.title = testTitle + "1234"
        session.update()
        session = session.get(session_id)
        assert session.title == testTitle + "1234"
        session.addEmail('*****@*****.**')
        session.addPost('Testing testing 123')
        session = session.get(session_id)
        assert (len(session.emails) > 0 and len(session.posts) > 0)
    finally:
        session.delete()
        session = session.get(session_id)
        assert session is None
        print('Ok')