Beispiel #1
0
 def __func():
     data = request.get_json()
     filename = (data['filename'] if
                 (data is not None and 'filename' in data
                  and data['filename']) else
                 walkoff.config.paths.default_case_export_path)
     if os.path.isfile(filename):
         try:
             with open(filename, 'r') as cases_file:
                 cases_file = cases_file.read()
                 cases_file = cases_file.replace('\n', '')
                 cases = json.loads(cases_file)
             case_subscription.add_cases(cases)
             for case in cases:
                 db.session.add(CaseSubscription(name=case))
                 CaseSubscription.update(case)
             db.session.commit()
             return {"cases": case_subscription.subscriptions}, SUCCESS
         except (OSError, IOError) as e:
             current_app.logger.error('Error importing cases from file '
                                      '{0}: {1}'.format(
                                          filename,
                                          format_exception_message(e)))
             return {"error": "Error reading file."}, IO_ERROR
         except ValueError as e:
             current_app.logger.error(
                 'Error importing cases from file {0}: '
                 'Invalid JSON {1}'.format(filename,
                                           format_exception_message(e)))
             return {"error": "Invalid JSON file."}, INVALID_INPUT_ERROR
     else:
         current_app.logger.debug(
             'Cases successfully imported from {0}'.format(filename))
         return {"error": "File does not exist."}, IO_ERROR
Beispiel #2
0
 def test_delete_cases_some_existing(self):
     subs.set_subscriptions(self.cases1)
     subs.add_cases(self.cases2)
     subs.delete_cases(['case2', 'case3'])
     expected_cases = {
         'case1': self.cases1['case1'],
         'case4': self.cases2['case4']
     }
     self.assertInMemoryCasesAreCorrect(expected_cases)
     self.assertDatabaseCasesAreCorrect(set(expected_cases.keys()))
Beispiel #3
0
 def test_add_case_with_existing_cases_sets(self):
     subs.set_subscriptions(self.cases1)
     subs.add_cases(self.cases2)
     self.assertInMemoryCasesAreCorrect(self.cases1)
     self.assertDatabaseCasesAreCorrect(
         {'case1', 'case2', 'case3', 'case4'})
Beispiel #4
0
 def test_add_case_no_existing_cases_sets(self):
     subs.add_cases(self.cases1)
     self.assertInMemoryCasesAreCorrect(self.cases1)
     self.assertDatabaseCasesAreCorrect({'case1', 'case2'})