# import os
# from wikiazma.myTest import MyTestCase
# from pathlib import Path
# # Create your tests here.
# import json


# class DocParserTest(MyTestCase):

#     def setUp(self):
#         self.setBaseUser()
#         self.setUpHelpers()
#         self.institute = self.instituteHelper.create_institute(
#             name="unit_test_institute")

#     def tearDown(self):
#         pass

#     def test_doc_parser_error(self):
#         with open('test_files/image.png', 'rb') as fp1:
#             (response_data, status_code, error_message) = self.DocParserHelper.docx_parse_helper(
#                 institute_id=self.institute["id"], questions_docx=fp1)

#             self.assertEqual(400, status_code, error_message)
#             self.assertEqual('validation_error',
#                              response_data['status'], error_message)
#             self.assertEqual('Some fields are not valid',
#                              response_data['message'], error_message)
#             self.assertEqual(response_data['fields']['questions_docx'],
#                              'The file format must be docx, doc', error_message)
#         docx_samples_path = Path('./doc_parser/docx_samples')
#         (self.non_permitted_user, self.non_permitted_user_token) = self.authenticateHelper.new_user_with_email(
#             email="test@nisodynamic.com",)
#         for folder in [path for path in docx_samples_path.iterdir() if path.is_dir()]:
#             question_docx_dir = str(folder) + "/" + "question.docx"
#             answer_docx_dir = str(folder) + "/" + "answer.docx"
#             result_json_dir = str(folder) + "/" + "result.json"

#             with open(question_docx_dir, 'rb') as question_docx:

#                 request = {
#                     'context_institute_id': self.institute["id"], 'questions_docx': question_docx}

#                 (response_data, status_code, error_message) = self.post_with_token(self.DocParserHelper.doc_parser_url,
#                                                                                    request, test_token=self.non_permitted_user_token)

#                 self.assertEqual(403, status_code, error_message)
#                 self.assertEqual(
#                     'error', response_data['status'], error_message)
#                 self.assertEqual(
#                     'Forbidden', response_data['message'], error_message)

#     def test_doc_parser_successful(self):

#         docx_samples_path = Path('./doc_parser/docx_samples')
#         for folder in [path for path in docx_samples_path.iterdir() if path.is_dir()]:
#             question_docx_dir = str(folder) + "/" + "question.docx"
#             answer_docx_dir = str(folder) + "/" + "answer.docx"
#             result_json_dir = str(folder) + "/" + "result.json"

#             with open(question_docx_dir, 'rb') as question_docx, open(result_json_dir, 'rb') as result:

#                 answer_docx = open(answer_docx_dir, 'rb') if os.path.isfile(
#                     answer_docx_dir) else None
#                 (response_data, status_code, error_message) = self.DocParserHelper.docx_parse_helper(
#                     institute_id=self.institute["id"], questions_docx=question_docx, answers_docx=answer_docx)

#                 if answer_docx:
#                     answer_docx.close()

#                 self.assertEqual(200, status_code, error_message)
#                 self.assertEqual('ok', response_data['status'], error_message)
#                 json_data = json.loads(result.read())

#                 self.assertEqual(
#                     json_data, response_data['data'], error_message)
