from flask import make_response, request from flask.views import MethodView from flask.json import jsonify from app import db, register_controller from app.roles.models import Role class RoleController(MethodView): def get(self): results = [i.serialize() for i in Role.query.all()] resp = jsonify(roles=results) resp.status_code = 200 return resp class RoleUsersController(MethodView): def get(self, role_id): role = Role.query.filter(Role.id == role_id) resp = jsonify(json_list=[i.serialize() for i in role.users]) resp.status_code = 200 return resp register_controller(RoleController, 'role_api', '/roles/', ['GET']) register_controller(RoleUsersController, 'role_users_api', '/roles/<int:role_id>/users', ['GET'])
elif 'testsuite' in request.args: test_suite_id = request.args.get('testsuite') results = Test.query.filter(Test.test_suite == test_suite_id).all() else: results = Test.query.all() resp = jsonify(tests=[i.serialize() for i in results]) resp.status_code = 200 return resp def post(self): test = Test() test.name = request.json_data['name'] test_suite = TestSuite.query.filter(TestSuite.id == request.json_data['testsuite']).first() test.test_suite = test_suite.id db.session.add(test) db.session.commit() resp = jsonify(test.serialize()) resp.status_code = 201 return resp register_controller(TestController, 'test_api', '/tests/<int:test_id>/') register_controller(TestListController, 'test_list_api', '/tests/', ['GET', 'POST'])
def get(self): results = [] if 'test' in request.args: test_id = request.args.get('test') results = TestStep.query.filter(TestStep.test == test_id).all() else: results = TestStep.query.all() resp = jsonify(testSteps=[i.serialize() for i in results]) resp.status_code = 200 return resp def post(self): test_step = TestStep() test_step = map_test_step(test_step, request) db.session.add(test_step) db.session.commit() resp = jsonify(test_step.serialize()) resp.status_code = 201 return resp register_controller(TestStepController, 'test_step_api', '/teststeps/<int:teststep_id>/') register_controller(TestStepListController, 'test_step_list_api', '/teststeps/', ['GET', 'POST'])
results = TestSuite.query.filter(TestSuite.project == project_id).all() else: results = TestSuite.query.all() resp = jsonify(testSuites=[i.serialize() for i in results]) resp.status_code = 200 return resp def post(self): test_suite = TestSuite() test_suite.name = request.json_data['name'] project = Project.query.filter(Project.id == request.json_data['project']).first() test_suite.project = project.id db.session.add(test_suite) db.session.commit() resp = jsonify(test_suite.serialize()) resp.status_code = 201 return resp register_controller(TestSuiteController, 'test_suite_api', '/testsuites/<int:testsuite_id>/') register_controller(TestSuiteListController, 'test_suite_list_api', '/testsuites/', ['GET', 'POST'])
project = Project.query.filter(Project.id == project_id).first() db.session.delete(project) db.session.commit() return make_response('', 204) class ProjectListController(MethodView): def get(self): results = [i.serialize() for i in Project.query.all()] resp = jsonify(projects=results) resp.status_code = 200 return resp def post(self): project = Project() project.name = request.json_data['name'] db.session.add(project) db.session.commit() resp = jsonify(project.serialize()) resp.status_code = 201 return resp register_controller(ProjectController, 'project_api', '/projects/<int:project_id>/') register_controller(ProjectListController, 'project_list_api', '/projects/', ['GET', 'POST'])
class TestSessionListController(MethodView): def get(self): resp = jsonify( test_sessions=[i.serialize() for i in TestSession.query.all()]) resp.status_code = 200 return resp def post(self): test_session = TestSession() test_session = map_test_session(test_session, request) test = Test.query.filter(Test.id == request.json_data['test']).first() test_session.test = test.id db.session.add(test_session) db.session.commit() resp = jsonify(test_session.serialize()) resp.status_code = 201 return resp register_controller(TestSessionController, 'test_session_api', '/testsessions/<int:testsession_id>/') register_controller(TestSessionListController, 'test_session_list_api', '/testsessions/', ['GET', 'POST'])
else: results = TestSuite.query.all() resp = jsonify(testSuites=[i.serialize() for i in results]) resp.status_code = 200 return resp def post(self): test_suite = TestSuite() test_suite.name = request.json_data['name'] project = Project.query.filter( Project.id == request.json_data['project']).first() test_suite.project = project.id db.session.add(test_suite) db.session.commit() resp = jsonify(test_suite.serialize()) resp.status_code = 201 return resp register_controller(TestSuiteController, 'test_suite_api', '/testsuites/<int:testsuite_id>/') register_controller(TestSuiteListController, 'test_suite_list_api', '/testsuites/', ['GET', 'POST'])
return make_response("", 204) class TestSessionListController(MethodView): def get(self): resp = jsonify(test_sessions=[i.serialize() for i in TestSession.query.all()]) resp.status_code = 200 return resp def post(self): test_session = TestSession() test_session = map_test_session(test_session, request) test = Test.query.filter(Test.id == request.json_data["test"]).first() test_session.test = test.id db.session.add(test_session) db.session.commit() resp = jsonify(test_session.serialize()) resp.status_code = 201 return resp register_controller(TestSessionController, "test_session_api", "/testsessions/<int:testsession_id>/") register_controller(TestSessionListController, "test_session_list_api", "/testsessions/", ["GET", "POST"])
test_event_result = TestEventResult.query.filter(TestEventResult.id == testeventresult_id).first() db.session.delete(test_event_result) db.session.commit() return make_response('', 204) class TestEventResultListController(MethodView): def get(self): resp = jsonify(test_event_results=[i.serialize() for i in TestEventResult.query.all()]) resp.status_code = 200 return resp def post(self): test_event_result = TestEventResult() test_event_result = map_test_event_result(test_event_result, request) db.session.add(test_event_result) db.session.commit() resp = jsonify(test_event_result.serialize()) resp.status_code = 201 return resp register_controller(TestEventResultController, 'test_event_result_api', '/testeventresults/<int:testeventresult_id>/') register_controller(TestEventResultListController, 'test_event_result_list_api', '/testeventresults/', ['GET', 'POST'])
results = Test.query.filter(Test.test_suite == test_suite_id).all() else: results = Test.query.all() resp = jsonify(tests=[i.serialize() for i in results]) resp.status_code = 200 return resp def post(self): test = Test() test.name = request.json_data['name'] test_suite = TestSuite.query.filter( TestSuite.id == request.json_data['testsuite']).first() test.test_suite = test_suite.id db.session.add(test) db.session.commit() resp = jsonify(test.serialize()) resp.status_code = 201 return resp register_controller(TestController, 'test_api', '/tests/<int:test_id>/') register_controller(TestListController, 'test_list_api', '/tests/', ['GET', 'POST'])
resp = jsonify(user.serialize()) resp.status_code = 201 return resp else: results = User.query.all() users = [i.serialize() for i in results] resp = jsonify(users=users) resp.status_code = 200 return resp def post(self): user = User() user.user_name = request.json_data['username'] user.set_password(request.json_data['password']) db.session.add(user) db.session.commit() resp = jsonify(user.serialize()) resp.status_code = 201 return resp register_controller(UserController, 'user_api', '/users/<int:user_id>') register_controller(UserListController, 'user_list_api', '/users/', ['GET', 'POST'])
return make_response('', 204) class TestEventResultListController(MethodView): def get(self): resp = jsonify(test_event_results=[ i.serialize() for i in TestEventResult.query.all() ]) resp.status_code = 200 return resp def post(self): test_event_result = TestEventResult() test_event_result = map_test_event_result(test_event_result, request) db.session.add(test_event_result) db.session.commit() resp = jsonify(test_event_result.serialize()) resp.status_code = 201 return resp register_controller(TestEventResultController, 'test_event_result_api', '/testeventresults/<int:testeventresult_id>/') register_controller(TestEventResultListController, 'test_event_result_list_api', '/testeventresults/', ['GET', 'POST'])