Example #1
0
    def test_put_note(self):
        with app.app_context():
            try:
                data = {'new_note_name': 'new_note_name'}
                resp = self.app.put('/api/notes/1',
                                    data=data,
                                    content_type='multipart/form-data')
                data = json.loads(resp.data)
                self.assertEqual(data['result'], True)
                self.assertEqual(resp.status_code, 200)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #2
0
    def test_post_clause(self):
        with app.app_context():
            try:
                data = {
                    'note_id': 1,
                    'title': '특별한 날',
                    'contents': '특별한 날에 대한 설명'
                }
                resp = self.app.post('/api/clauses',
                                     data=data,
                                     content_type='multipart/form-data')
                data = json.loads(resp.data)
                self.assertIsNotNone(data['clause_id'])
                self.assertEqual(resp.status_code, 200)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #3
0
    def test_update_note_name(self):
        with app.app_context():
            try:
                sqlalchemy_orm.update_data_to_db(Notes, {'note_id' : 1}, {'note_name' : '새로운 노트 이름'})
                result = sqlalchemy_orm.get_item_from_db(Notes, {'note_id' : 1})
                result = result[0]
                self.assertEqual(result['note_name'], '새로운 노트 이름')

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #4
0
    def test_update_clauses(self):
        with app.app_context():
            try:
                sqlalchemy_orm.update_data_to_db(Clauses, {'note_id' : 1, 'clause_id' : 2}, {'title': '바뀐 제목', 'contents' : "바뀐 내용"})
                result = sqlalchemy_orm.get_item_from_db(Clauses, {'note_id' : 1, 'clause_id':2})
                result = result[0]
                self.assertEqual(result['title'], '바뀐 제목')
                self.assertEqual(result['contents'], '바뀐 내용')

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #5
0
    def test_delete_db(self):
        with app.app_context():
            try:
                db = sqlalchemy_orm.drop_db(False)
                table_names = db.engine.table_names()
                self.assertEqual(table_names, [])
                self.assertEqual(len(table_names), 0)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #6
0
    def test_update_clausePoints(self):
        with app.app_context():
            try:
                sqlalchemy_orm.update_data_to_db(ClausePoints, {'clause_id' : 3}, {'imp' : 1, 'und' : 2})
                result = sqlalchemy_orm.get_item_from_db(ClausePoints, {'clause_id' : 3})
                result = result[0]
                self.assertEqual(result['imp'], 1)
                self.assertEqual(result['und'], 2)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #7
0
    def test_create_db(self):
        with app.app_context():
            try:
                db = sqlalchemy_orm.create_db(False)
                table_names = db.engine.table_names()
                self.assertIn('notes', table_names)
                self.assertIn('clauses', table_names)
                self.assertIn('clause_points', table_names)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #8
0
    def test_delete_multiple_note(self):
        with app.app_context():
            try:
                sqlalchemy_orm.delete_data_from_db(Notes, {'note_id': [1, 2]})
                # Check if result is empty
                note_result = sqlalchemy_orm.get_item_from_db(
                    Notes, {'note_id': [1, 2]})
                self.assertEqual(note_result, [])

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #9
0
    def test_delete_clause(self):
        with app.app_context():
            try:
                sqlalchemy_orm.delete_data_from_db(Clauses, {'clause_id': 11})
                clause_result = sqlalchemy_orm.get_item_from_db(
                    Clauses, {'clause_id': 11})
                clause_point_result = sqlalchemy_orm.get_item_from_db(
                    ClausePoints, {'clause_id': 11})

                # Check if result is empty
                self.assertEqual(clause_result, [])
                self.assertEqual(clause_point_result, [])

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #10
0
    def test_delete_clause(self):
        with app.app_context():
            try:
                resp = self.app.delete('/api/clauses/2')
                data = json.loads(resp.data)
                self.assertEqual(resp.status_code, 200)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #11
0
    def test_get_notes(self):
        with app.app_context():
            try:
                resp = self.app.get('/api/notes')
                data = json.loads(resp.data)
                self.assertIsInstance(data['notes'], list)
                self.assertNotEqual(len(data['notes']), 0)
                self.assertEqual(resp.status_code, 200)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #12
0
    def delete(self, note_id):
        if isinstance(note_id, str):
            if not note_id.isdigit():
                return custom_error.BadRequestError().to_dict(), 400
            note_id = int(note_id)

        if note_id < 1:
            return custom_error.BadRequestError().to_dict(), 400

        try:
            deleted_note = sqlalchemy_orm.delete_note_and_related_data_from_db(
                note_id)
        except sqlalchemy.exc.SQLAlchemyError:
            error_message = util.traceback_custom_error()
            response = custom_error.SQLAlchemyError(error_message).to_dict()
            return response, 500
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500
        else:
            # 존재하지 않은 노트에 대한 처리
            if not deleted_note:
                return custom_error.BadRequestError().to_dict(), 400
            return {'result': True}, 200
Example #13
0
    def get(self, **args):
        try:
            for key, value in request.args.items():
                args[key] = value
        except HTTPException:
            error_message = util.traceback_custom_error()
            response = custom_error.HTTPRequestError(error_message).to_dict()
            return response, 400
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500

        try:
            result = sqlalchemy_orm.get_item_from_db(
                sqlalchemy_orm.ClausePoints, args)
            if not result:
                raise custom_error.BadRequestError

        except sqlalchemy.exc.SQLAlchemyError:
            error_message = util.traceback_custom_error()
            response = custom_error.SQLAlchemyError(error_message).to_dict()
            return response, 500
        except custom_error.BadRequestError:
            response = custom_error.BadRequestError().to_dict()
            return response, 400
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500
        else:
            return {'note_id': args['note_id'], 'clause_points': result}, 200
Example #14
0
    def delete(self, clause_id):
        if isinstance(clause_id, str):
            if not clause_id.isdigit():
                return custom_error.BadRequestError().to_dict(), 400
            clause_id = int(clause_id)

        try:
            result = sqlalchemy_orm.delete_data_from_db(
                sqlalchemy_orm.Clauses, {'clause_id': clause_id})
            if not result:
                raise custom_error.BadRequestError

        except sqlalchemy.exc.SQLAlchemyError:
            error_message = util.traceback_custom_error()
            response = custom_error.SQLAlchemyError(error_message).to_dict()
            return response, 500
        except custom_error.SQLAlchemyNotInsertError:
            return custom_error.SQLAlchemyNotInsertError().to_dict(), 500
        except custom_error.BadRequestError:
            return custom_error.BadRequestError().to_dict(), 500
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500

        try:
            result = result[0]
            clause_id = getattr(result, 'clause_id')
            return {'clause_id': clause_id}, 200

        except AttributeError:
            error_message = util.traceback_custom_error()
            custom_error.AttributeError(error_message).to_dict()
            return {'clause_id': None}, 201
Example #15
0
 def test_insert_clausePoints_db(self):
     with app.app_context():
         try:
             clausePoints = sqlalchemy_orm.ClausePoints
             # column = ['clause_id', 'note_id', 'imp', 'und']
             clausepoints_id = sqlalchemy_orm.insert_data_to_db(
                 "ClausePoints", clausePoints(1, 1))
             self.assertIsNotNone(clausepoints_id)
         except sqlalchemy.exc.SQLAlchemyError:
             error_message = util.traceback_custom_error()
             error = custom_error.SQLAlchemyError(error_message)
             error.set_logger(logger)
             error.to_dict()
             raise
         except AssertionError:
             error_message = util.traceback_custom_error()
             error = custom_error.AssertionError(error_message)
             error.set_logger(logger)
             error.to_dict()
             raise
         except:
             error_message = util.traceback_custom_error()
             error = custom_error.UnExpectedError(error_message)
             error.set_logger(logger)
             error.to_dict()
             raise
Example #16
0
    def test_put_clausepoint(self):
        with app.app_context():
            try:
                data = {'imp': 1, 'und': 1}
                resp = self.app.put('/api/clausePoints/1',
                                    data=data,
                                    content_type='multipart/form-data')
                data = json.loads(resp.data)
                self.assertEqual(resp.status_code, 200)
                self.assertIsNotNone(data['clause_point'])
                self.assertNotEqual(len(data['clause_point']), 0)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #17
0
 def test_insert_note_db(self):
     with app.app_context():
         try:
             Notes = sqlalchemy_orm.Notes
             note_id = sqlalchemy_orm.insert_data_to_db(
                 'Notes', Notes('test_title_1'))
             self.assertIsNotNone(note_id)
         except sqlalchemy.exc.SQLAlchemyError:
             error_message = util.traceback_custom_error()
             error = custom_error.SQLAlchemyError(error_message)
             error.set_logger(logger)
             error.to_dict()
             raise
         except AssertionError:
             error_message = util.traceback_custom_error()
             error = custom_error.AssertionError(error_message)
             error.set_logger(logger)
             error.to_dict()
             raise
         except:
             error_message = util.traceback_custom_error()
             error = custom_error.UnExpectedError(error_message)
             error.set_logger(logger)
             error.to_dict()
             raise
Example #18
0
 def test_insert_clause_db(self):
     with app.app_context():
         try:
             Clauses = sqlalchemy_orm.Clauses
             clauses_id = sqlalchemy_orm.insert_data_to_db(
                 'Clauses', Clauses(1, "test_clause_1", "test_content_1"))
             self.assertIsNotNone(clauses_id)
         except sqlalchemy.exc.SQLAlchemyError:
             error_message = util.traceback_custom_error()
             error = custom_error.SQLAlchemyError(error_message)
             error.set_logger(logger)
             error.to_dict()
             raise
         except AssertionError:
             error_message = util.traceback_custom_error()
             error = custom_error.AssertionError(error_message)
             error.set_logger(logger)
             error.to_dict()
             raise
         except:
             error_message = util.traceback_custom_error()
             error = custom_error.UnExpectedError(error_message)
             error.set_logger(logger)
             error.to_dict()
             raise
Example #19
0
    def put(self, clause_id):
        try:
            update_data = {}
            for key, value in request.form.items():
                update_data[key] = value
        except HTTPException:
            error_message = util.traceback_custom_error()
            response = custom_error.HTTPRequestError(error_message).to_dict()
            return response, 400
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500

        try:
            clause_point = sqlalchemy_orm.update_data_to_db(
                sqlalchemy_orm.ClausePoints, {'clause_id': clause_id},
                update_data)
            if not clause_point:
                raise custom_error.BadRequestError

        except sqlalchemy.exc.SQLAlchemyError:
            error_message = util.traceback_custom_error()
            response = custom_error.SQLAlchemyError(error_message).to_dict()
            return response, 500
        except custom_error.BadRequestError:
            response = custom_error.BadRequestError().to_dict()
            return response, 400
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500
        else:
            return {'clause_id': clause_id, 'clause_point': clause_point}, 200
Example #20
0
    def test_post_note(self):
        with app.app_context():
            try:
                data = {
                    'studi_material':
                    open('../studi/uploads/studi_test_file.csv', 'rb')
                }
                resp = self.app.post('/api/notes',
                                     data=data,
                                     content_type='multipart/form-data')
                data = json.loads(resp.data)
                self.assertEqual(data['result'], True)
                self.assertEqual(resp.status_code, 200)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #21
0
    def test_select_clauses_by_note_id(self):
        with app.app_context():
            try:
                result = sqlalchemy_orm.get_item_from_db(
                    Clauses, {'note_id': 1})
                self.assertIsNotNone(result)
                self.assertIsInstance(result, list)
                self.assertNotEqual(len(result), 0)
                self.assertEqual(result[0]['note_id'], 1)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #22
0
    def test_select_all_notes(self):
        with app.app_context():
            try:
                result = None
                result = sqlalchemy_orm.get_all_data_from_db(Notes)
                self.assertIsNotNone(result)
                self.assertIsInstance(result, list)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #23
0
 def get(self):
     try:
         result = sqlalchemy_orm.get_all_data_from_db(sqlalchemy_orm.Notes)
     except sqlalchemy.exc.SQLAlchemyError:
         error_message = util.traceback_custom_error()
         response = custom_error.SQLAlchemyError(error_message).to_dict()
         return response, 500
     except:
         error_message = util.traceback_custom_error()
         response = custom_error.UnExpectedError(error_message).to_dict()
         return response, 500
     else:
         if result:
             return {'notes': result}, 200
         return {'notes': []}, 201
Example #24
0
    def test_get_clausepoints(self):
        with app.app_context():
            try:
                # update for testing
                sqlalchemy_orm.update_data_to_db(sqlalchemy_orm.ClausePoints,
                                                 {'clause_id': 7}, {
                                                     'imp': 0,
                                                     'und': 1
                                                 })
                sqlalchemy_orm.update_data_to_db(sqlalchemy_orm.ClausePoints,
                                                 {'clause_id': 6}, {
                                                     'imp': 1,
                                                     'und': 1
                                                 })
                sqlalchemy_orm.update_data_to_db(sqlalchemy_orm.ClausePoints,
                                                 {'clause_id': 5}, {
                                                     'imp': 1,
                                                     'und': 1
                                                 })

                params = {'imp': 1, 'und': 1}
                resp = self.app.get('/api/notes/2/clausePoints',
                                    query_string=params)
                data = json.loads(resp.data)
                self.assertEqual(resp.status_code, 200)
                self.assertIsNotNone(data['clause_points'])
                self.assertNotEqual(len(data['clause_points']), 0)

            except sqlalchemy.exc.SQLAlchemyError:
                error_message = util.traceback_custom_error()
                error = custom_error.SQLAlchemyError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except AssertionError:
                error_message = util.traceback_custom_error()
                error = custom_error.AssertionError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
            except:
                error_message = util.traceback_custom_error()
                error = custom_error.UnExpectedError(error_message)
                error.set_logger(logger)
                error.to_dict()
                raise
Example #25
0
    def post(self):
        try:
            note_id = request.form['note_id']
            title = request.form['title']
            contents = request.form['contents']

            if not note_id or not title or not contents:
                return custom_error.BadRequestError().to_dict(), 400

            if isinstance(note_id, str):
                if not note_id.isdigit():
                    return custom_error.BadRequestError().to_dict(), 400
                note_id = int(note_id)

            if note_id < 1:
                return custom_error.BadRequestError().to_dict(), 400

            new_clause_id = sqlalchemy_orm.insert_data_to_db('Clauses', \
                                                             sqlalchemy_orm.Clauses(note_id, \
                                                                                    title, \
                                                                                  contents))
            if not new_clause_id:
                raise custom_error.SQLAlchemyNotInsertError

        except HTTPException:
            error_message = util.traceback_custom_error()
            response = custom_error.HTTPRequestError(error_message).to_dict()
            return response, 400
        except sqlalchemy.exc.SQLAlchemyError:
            error_message = util.traceback_custom_error()
            response = custom_error.SQLAlchemyError(error_message).to_dict()
            return response, 500
        except custom_error.SQLAlchemyNotInsertError:
            return custom_error.SQLAlchemyNotInsertError().to_dict(), 500
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500
        else:
            return {
                'clause_id': new_clause_id,
                'title': title,
                'contents': contents
            }, 200
Example #26
0
    def post(self):
        try:
            request_file = request.files['studi_material']
            file_name = request_file.filename.split('/').pop()
        except HTTPException:
            error_message = util.traceback_custom_error()
            response = custom_error.HTTPRequestError(error_message).to_dict()
            return response, 400
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 400

        # Cross-site scripting (XSS)
        if file_name[-3:] != "csv":
            return custom_error.NotCSVFileError(file_name).to_dict(), 400

        try:
            csvfile = request_file.read().decode("utf-8").splitlines()
            # empty csv file
            if not csvfile:
                return custom_error.CSVError(
                    'csv file is empty'.format(csvfile)).to_dict(), 400
            note = csv.DictReader(csvfile)
        except csv.Error:
            error_message = util.traceback_custom_error()
            return custom_error.CSVError(error_message).to_dict(), 400

        try:
            new_note_id = upload.save_csv_contents_to_db(
                file_name[:-4], note, True)
        except sqlalchemy.exc.SQLAlchemyError:
            error_message = util.traceback_custom_error()
            response = custom_error.SQLAlchemyError(error_message).to_dict()
            return response, 500
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500
        else:
            return {'result': True}, 200
Example #27
0
    def put(self, note_id):
        if isinstance(note_id, str):
            if not note_id.isdigit():
                return custom_error.BadRequestError().to_dict(), 400
            note_id = int(note_id)

        if note_id < 1:
            return custom_error.BadRequestError().to_dict(), 400

        try:
            new_note_name = request.form['new_note_name']
        except HTTPException:
            error_message = util.traceback_custom_error()
            response = custom_error.HTTPRequestError(error_message).to_dict()
            return response, 400
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 400

        # note_name is not empty
        if not new_note_name:
            return custom_error.BadRequestError().to_dict(), 400

        try:
            sqlalchemy_orm.update_data_to_db(sqlalchemy_orm.Notes,
                                             {'note_id': note_id},
                                             {'note_name': new_note_name})
        except sqlalchemy.exc.SQLAlchemyError:
            error_message = util.traceback_custom_error()
            response = custom_error.SQLAlchemyError(error_message).to_dict()
            return response, 500
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500
        else:
            return {'result': True}, 200
Example #28
0
    def get(self, clause_id):
        if isinstance(clause_id, str):
            if not clause_id.isdigit():
                return custom_error.BadRequestError().to_dict(), 400
            clause_id = int(clause_id)

        if clause_id < 1:
            return custom_error.BadRequestError().to_dict(), 400

        try:
            result = sqlalchemy_orm.get_item_from_db(sqlalchemy_orm.Clauses,
                                                     {'clause_id': clause_id})
        except sqlalchemy.exc.SQLAlchemyError:
            error_message = util.traceback_custom_error()
            response = custom_error.SQLAlchemyError(error_message).to_dict()
            return response, 500
        except:
            error_message = util.traceback_custom_error()
            response = custom_error.UnExpectedError(error_message).to_dict()
            return response, 500
        if result:
            return {'clause': result}, 200
        return {'clause': []}, 201
Example #29
0
 def test_insert_csv_to_db(self):
     with app.app_context():
         if os.path.exists('../studi/uploads/studi_test_files.csv'):
             try:
                 note_id = upload.insert_csv_to_db()
                 self.assertIsNotNone(note_id)
             except sqlalchemy.exc.SQLAlchemyError:
                 error_message = util.traceback_custom_error()
                 error = custom_error.SQLAlchemyError(error_message)
                 error.set_logger(logger)
                 error.to_dict()
                 raise
             except AssertionError:
                 error_message = util.traceback_custom_error()
                 error = custom_error.AssertionError(error_message)
                 error.set_logger(logger)
                 error.to_dict()
                 raise
             except:
                 error_message = util.traceback_custom_error()
                 error = custom_error.UnExpectedError(error_message)
                 error.set_logger(logger)
                 error.to_dict()
                 raise