2021-01-11 10:43:36 -05:00

34 lines
1.1 KiB
Python

from tests.base_test import BaseTest
import os
import unittest
import globus_sdk
from communicator import app, db
from communicator.models.ivy_file import IvyFile
from communicator.errors import CommError
from communicator.services.ivy_service import IvyService
class IvyServiceTest(BaseTest):
def test_read_file_and_build_records(self):
records = IvyService.samples_from_ivy_file(self.ivy_file)
self.assertEqual("987654321", records[0].student_id)
self.assertEqual("testpositive@virginia.edu", records[1].email)
self.assertEqual("1142270225", records[2].result_code)
def test_invalid_file(self):
with self.assertRaises(CommError):
ivy_incorrect_file = os.path.join(app.root_path, '..', 'tests', 'data', 'incorrect.csv')
IvyService.samples_from_ivy_file(ivy_incorrect_file)
def test_load_directory(self):
self.assertEqual(0, db.session.query(IvyFile).count())
app.config['IVY_IMPORT_DIR'] = os.path.join(app.root_path, '..', 'tests', 'data', 'import_directory')
files, _ = IvyService().load_directory()
self.assertEqual(4, len(files))