More tests for rest and dao.

This commit is contained in:
Nicholas Staples
2016-01-13 12:14:21 +00:00
parent dad0fff4ba
commit 99820b3e85
5 changed files with 187 additions and 6 deletions

View File

@@ -8,7 +8,10 @@ from app.models import (Template, Service)
def save_model_template(template, update_dict=None):
if update_dict:
update_dict.pop('id', None)
service_id = update_dict.pop('service')
Template.query.filter_by(id=template.id).update(update_dict)
template.service = Service.query.get(service_id)
else:
db.session.add(template)
db.session.commit()
@@ -23,7 +26,7 @@ def get_model_templates(template_id=None, service_id=None):
# TODO need better mapping from function params to sql query.
if template_id and service_id:
return Template.query.filter_by(
id=template_id, service=Service.get(service_id)).one()
id=template_id, service=Service.query.get(service_id)).one()
elif template_id:
return Template.query.filter_by(id=template_id).one()
elif service_id:

View File

@@ -25,7 +25,7 @@ class ServiceSchema(ma.ModelSchema):
class TemplateSchema(ma.ModelSchema):
class Meta:
model = models.Template
exclude = ("updated_at", "created_at")
exclude = ("updated_at", "created_at", "service_id")
user_schema = UserSchema()

View File

@@ -3,11 +3,14 @@ from sqlalchemy.exc import DataError
from sqlalchemy.orm.exc import NoResultFound
from app.dao.services_dao import (
save_model_service, get_model_services, delete_model_service)
from app.dao.templates_dao import (
save_model_template, get_model_templates)
from app.dao.users_dao import get_model_users
from app.dao import DAOException
from .. import service
from app import db
from app.schemas import (services_schema, service_schema)
from app.schemas import (
services_schema, service_schema, template_schema, templates_schema)
# TODO auth to be added.
@@ -71,7 +74,7 @@ def get_service(service_id=None):
# TODO auth to be added.
@service.route('/<int:service_id>/template/', methods=['POST'])
def create_template():
def create_template(service_id):
try:
service = get_model_services(service_id=service_id)
except DataError:
@@ -121,4 +124,4 @@ def update_template(service_id, template_id):
save_model_template(template, update_dict=update_dict)
except DAOException as e:
return jsonify(result="error", message=str(e)), 400
return jsonify(data=service_template.dump(template).data), status_code
return jsonify(data=template_schema.dump(template).data), status_code