Commit 7d7bdc3a authored by Barbora Kompišová's avatar Barbora Kompišová
Browse files

REST test - user, incomplete

parent ded65286
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -15,6 +15,7 @@ marshmallow = "*"
flask-jwt-extended = "*"
flask-jwt-extended = "*"
marshmallow-enum = "*"
marshmallow-enum = "*"
storage = { git="git@gitlab.fi.muni.cz:grp-kontr2/kontr-storage-module.git", editable='true'  }
storage = { git="git@gitlab.fi.muni.cz:grp-kontr2/kontr-storage-module.git", editable='true'  }
gitpython = "*"




[dev-packages]
[dev-packages]
+3 −9
Original line number Original line Diff line number Diff line
from flask import Flask
from flask import Flask
from portal.config import CONFIGURATIONS
from portal.config import CONFIGURATIONS
from flask_sqlalchemy import SQLAlchemy
from flask_sqlalchemy import SQLAlchemy

import os
import os
from storage.core.storage import Storage
from storage import Storage
from portal.rest.courses.courses import courses

from portal.rest.users.users import users
from portal.rest.roles.roles import roles
from portal.rest.groups.groups import groups


db = SQLAlchemy()
db = SQLAlchemy()
app = Flask('portal')
app = Flask('portal')
@@ -31,10 +29,6 @@ def config_app(flask_app):
def create_app():
def create_app():
    # app configuration
    # app configuration
    config_app(app)
    config_app(app)
    app.register_blueprint(courses)
    app.register_blueprint(users)
    app.register_blueprint(roles)
    app.register_blueprint(groups)
    # database bind to app
    # database bind to app
    db.init_app(app)
    db.init_app(app)


+1 −1
Original line number Original line Diff line number Diff line
@@ -22,7 +22,7 @@ class TestConfig(Config):
    SQLALCHEMY_DATABASE_URI = 'sqlite://'
    SQLALCHEMY_DATABASE_URI = 'sqlite://'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    TESTING = True
    TESTING = True
    SQLALCHEMY_ECHO = True
    #SQLALCHEMY_ECHO = True




CONFIGURATIONS = dict(
CONFIGURATIONS = dict(
+4 −3
Original line number Original line Diff line number Diff line
@@ -2,7 +2,8 @@ from flask import Blueprint, request
from flask_restful import Api, Resource, abort
from flask_restful import Api, Resource, abort
from marshmallow import ValidationError
from marshmallow import ValidationError


from portal.rest import UserSchema, delete_entity, write_entity, find_user
from portal.rest import UserSchema
from portal.service.service import delete_entity, write_entity, find_user
from portal.database.models import User
from portal.database.models import User
from portal.tools.logging import log
from portal.tools.logging import log


@@ -31,7 +32,7 @@ class UserResource(Resource):
        if not json_data:
        if not json_data:
            abort(400, message='No data provided for user update.')
            abort(400, message='No data provided for user update.')
        try:
        try:
            data = user_schema.load(json_data)
            data = user_schema.load(json_data)[0]
        except ValidationError as err:
        except ValidationError as err:
            log.info(f"Validation failed on: {err.messages}")
            log.info(f"Validation failed on: {err.messages}")
            return abort(422, errors=err.messages)  # TODO: flash, process errors
            return abort(422, errors=err.messages)  # TODO: flash, process errors
@@ -39,7 +40,7 @@ class UserResource(Resource):
        user.name = data['name']
        user.name = data['name']
        user.email = data['email']
        user.email = data['email']
        user.uco = data['uco']
        user.uco = data['uco']
        user.name = data['name']
        user.username = data['username']
        user.is_admin = data['is_admin']
        user.is_admin = data['is_admin']
        # TODO all; care for password
        # TODO all; care for password
        write_entity(user)
        write_entity(user)
+1 −1
Original line number Original line Diff line number Diff line
@@ -6,7 +6,7 @@ from portal import storage




def delete_entity(entity):
def delete_entity(entity):
    db.session.remove(entity)
    db.session.delete(entity)
    db.session.commit()
    db.session.commit()




Loading