def test_load_error(self, mock_read_in, mock_clean): mock_read_in.return_value = [{}] (FAILED, endmsg) = load("filename") self.assertEqual(mock_read_in.call_count, 1) self.assertEqual(mock_clean.call_count, 0) # bailed before cleaning self.assertTrue('ERROR' in " ".join(FAILED)) mock_read_in.return_value = [{'raw_data': 'raw stuff'}] mock_clean.return_value = {'cleaned_data': 'clean stuff'} (FAILED, endmsg) = load("filename") self.assertEqual(mock_read_in.call_count, 2) self.assertEqual(mock_clean.call_count, 1) self.assertTrue('ERROR' in " ".join(FAILED))
def handle(self, *args, **options): if options['s3'].upper() == "TRUE": S3 = True else: S3 = False for filesource in options['source']: try: if S3: (FAILED, endmsg) = load_programs.load(filesource, s3=S3) else: (FAILED, endmsg) = load_programs.load(filesource) except: self.stdout.write("Error with script") else: if FAILED: for fail_msg in FAILED: self.stdout.write(fail_msg) self.stdout.write(endmsg)
def test_load(self, mock_get_or_create_program, mock_clean, mock_read_in): accreditor = ( "Accrediting Council for Independent Colleges " "and Schools (ACICS) - Test") jpr_note = ( "The rate reflects employment status " "as of November 1, 2014 - Test") program_name = "Occupational Therapy Assistant - 981 - Test" mock_read_in.return_value = [ {"ipeds_unit_id": "408039", "ope_id": "", "campus_name": "Ft Wayne - Test", "program_code": "981 - Test", "program_name": program_name, "program_level": "4", "program_length": "25", "accreditor": accreditor, "median_salary": "24000", "average_time_to_complete": "35", "books_supplies": "1000", "completion_rate": "13", "default_rate": "50", "job_placement_rate": "0.20", "job_placement_note": jpr_note, "mean_student_loan_completers": "30000", "median_student_loan_completers": "30500", "total_cost": "50000", "tuition_fees": "40000", "cip_code": "51.0803 - Test", "completers": "0", "completion_cohort": "0"} ] mock_clean.return_value = { "ipeds_unit_id": "408039", "ope_id": "", "campus_name": "Ft Wayne - Test", "program_code": "981 - Test", "program_name": program_name, "program_level": 4, "program_length": 25, "accreditor": accreditor, "median_salary": 24000, "average_time_to_complete": 35, "books_supplies": 1000, "completion_rate": 13, "default_rate": 50, "job_placement_rate": 0.20, "job_placement_note": jpr_note, "mean_student_loan_completers": 30000, "median_student_loan_completers": 30500, "total_cost": 50000, "tuition_fees": 40000, "cip_code": "51.0803 - Test", "completers": 0, "completion_cohort": 0} program = Program.objects.first() mock_get_or_create_program.return_value = (program, False) load("filename") self.assertEqual(mock_read_in.call_count, 1) self.assertEqual(mock_clean.call_count, 1) self.assertEqual(mock_get_or_create_program.call_count, 1) self.assertEqual(program.accreditor, accreditor) self.assertEqual(program.cip_code, "51.0803 - Test") self.assertEqual(program.completion_rate, 13.00) self.assertEqual(program.default_rate, 50.00) self.assertEqual(program.mean_student_loan_completers, 30000) self.assertEqual(program.median_student_loan_completers, 30500) self.assertEqual(program.program_code, "981 - Test") self.assertEqual( program.program_name, "Occupational Therapy Assistant - 981 - Test" ) self.assertEqual(program.program_length, 25) self.assertEqual(program.total_cost, 50000) self.assertEqual(program.campus, "Ft Wayne - Test") self.assertEqual(program.level, 4) self.assertEqual(program.time_to_complete, 35) self.assertEqual(program.salary, 24000) self.assertEqual(program.job_rate, 0.20) self.assertEqual(program.job_note, jpr_note) self.assertEqual(program.tuition, 40000) self.assertEqual(program.books, 1000) self.assertEqual(program.completers, 0) self.assertEqual(program.completion_cohort, 0) mock_clean.return_value['ipeds_unit_id'] = '9' load('filename') self.assertEqual(mock_read_in.call_count, 2) self.assertEqual(mock_get_or_create_program.call_count, 1) mock_clean.return_value['program_code'] = '<904>' load('filename') self.assertEqual(mock_read_in.call_count, 3) self.assertEqual( mock_get_or_create_program.call_count, 1) # loader bails before creating program mock_clean.return_value['ipeds_unit_id'] = "408039" mock_clean.return_value['program_code'] = "99982" mock_get_or_create_program.return_value = (program, True) load('filename') self.assertEqual(mock_read_in.call_count, 4) mock_read_in.return_value[0]['test'] = "True" load('filename') self.assertEqual(mock_read_in.call_count, 5)
def test_load_s3_failure(self, mock_read_in_s3): mock_read_in_s3.return_value = [{}] (FAILED, msg) = load('mockurl', s3=True) self.assertTrue(mock_read_in_s3.call_count == 1) self.assertTrue('ERROR' in FAILED[0])
def test_load_s3(self, mock_read_in_s3): mock_read_in_s3.return_value = self.read_out (FAILED, msg) = load('mockurl', s3=True) self.assertTrue(mock_read_in_s3.call_count == 1) self.assertEqual(FAILED, []) self.assertIn('0 programs created', msg)
def test_load(self, mock_get_or_create_program, mock_clean, mock_read_in): accreditor = ("Accrediting Council for Independent Colleges " "and Schools (ACICS) - Test") jpr_note = ("The rate reflects employment status " "as of November 1, 2014 - Test") program_name = "Occupational Therapy Assistant - 981 - Test" mock_read_in.return_value = [ {"ipeds_unit_id": "408039", "ope_id": "", "campus_name": "Ft Wayne - Test", "program_code": "981 - Test", "program_name": program_name, "program_level": "4", "program_length": "25", "accreditor": accreditor, "median_salary": "24000", "average_time_to_complete": "35", "books_supplies": "1000", "completion_rate": "13", "default_rate": "50", "job_placement_rate": "0.20", "job_placement_note": jpr_note, "mean_student_loan_completers": "30000", "median_student_loan_completers": "30500", "total_cost": "50000", "tuition_fees": "40000", "cip_code": "51.0803 - Test", "completers": "0", "completion_cohort": "0"} ] mock_clean.return_value = {"ipeds_unit_id": "408039", "ope_id": "", "campus_name": "Ft Wayne - Test", "program_code": "981 - Test", "program_name": program_name, "program_level": 4, "program_length": 25, "accreditor": accreditor, "median_salary": 24000, "average_time_to_complete": 35, "books_supplies": 1000, "completion_rate": 13, "default_rate": 50, "job_placement_rate": 0.20, "job_placement_note": jpr_note, "mean_student_loan_completers": 30000, "median_student_loan_completers": 30500, "total_cost": 50000, "tuition_fees": 40000, "cip_code": "51.0803 - Test", "completers": 0, "completion_cohort": 0} program = Program.objects.first() mock_get_or_create_program.return_value = (program, False) load("filename") self.assertEqual(mock_read_in.call_count, 1) self.assertEqual(mock_clean.call_count, 1) self.assertEqual(mock_get_or_create_program.call_count, 1) self.assertEqual(program.accreditor, accreditor) self.assertEqual(program.cip_code, "51.0803 - Test") self.assertEqual(program.completion_rate, 13.00) self.assertEqual(program.default_rate, 50.00) self.assertEqual(program.mean_student_loan_completers, 30000) self.assertEqual(program.median_student_loan_completers, 30500) self.assertEqual(program.program_code, "981 - Test") self.assertEqual( program.program_name, "Occupational Therapy Assistant - 981 - Test" ) self.assertEqual(program.program_length, 25) self.assertEqual(program.total_cost, 50000) self.assertEqual(program.campus, "Ft Wayne - Test") self.assertEqual(program.level, 4) self.assertEqual(program.time_to_complete, 35) self.assertEqual(program.salary, 24000) self.assertEqual(program.job_rate, 0.20) self.assertEqual(program.job_note, jpr_note) self.assertEqual(program.tuition, 40000) self.assertEqual(program.books, 1000) self.assertEqual(program.completers, 0) self.assertEqual(program.completion_cohort, 0) mock_clean.return_value['ipeds_unit_id'] = '9' load('filename') self.assertEqual(mock_read_in.call_count, 2) self.assertEqual(mock_get_or_create_program.call_count, 1) mock_clean.return_value['program_code'] = '<904>' load('filename') self.assertEqual(mock_read_in.call_count, 3) self.assertEqual( mock_get_or_create_program.call_count, 1) # loader bails before creating program mock_clean.return_value['ipeds_unit_id'] = "408039" mock_clean.return_value['program_code'] = "99982" mock_get_or_create_program.return_value = (program, True) load('filename') self.assertEqual(mock_read_in.call_count, 4) mock_read_in.return_value[0]['test'] = "True" load('filename') self.assertEqual(mock_read_in.call_count, 5)