mirror of
https://github.com/sartography/uva-covid19-testing-communicator.git
synced 2025-02-24 21:08:06 +00:00
34 lines
1.1 KiB
Python
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))
|
|
|
|
|