def test_update_status_fail_raise(self, m_save): """ If raise_exception is True, an exception in the save() call should bubble up """ result = None job = BulkJob() m_save.side_effect = Exception with self.assertRaises(Exception): result = job.update_status(BulkJob.STATUS_SETUP, raise_exception=True) self.assertTrue(m_save.called) self.assertIsNone(result)
def test_update_status_fail_gracefully(self, m_save): """ If raise_exception is not provided, or is False, an exception in the save() call should not bubble up, and the function should return False (indicating failure) """ job = BulkJob() m_save.side_effect = Exception result = job.update_status(BulkJob.STATUS_SETUP) self.assertTrue(m_save.called) self.assertFalse(result)
def test_that_create_course_is_call_with_all_bulk_job_courses( self, mock_getjobs, mock_filter_bulk_jobs, get_course_data, create_canvas_course, start_course_template_copy): """ test that create_canvas_course is called with all the courses that have a status of 'setup' """ mock_getjobs.return_value = self.cm_jobs mock_filter_bulk_jobs.return_value = self.bulk_jobs create_course_calls = [] template_copy_calls = [] for index, course in enumerate(self.courses): create_course_calls.append( call( course, self.user_id, bulk_job=BulkCanvasCourseCreationJob(id=self.bulk_job_id))) create_course_calls.append(ANY) template_copy_calls.append( call(ANY, ANY, self.user_id, course_job_id=index, bulk_job_id=self.bulk_job_id, template_id=self.template_id)) _init_courses_with_status_setup() create_canvas_course.assert_has_calls(create_course_calls) start_course_template_copy.assert_has_calls(template_copy_calls)
def setUp(self): self.bulk_job_id = 10 self.bulk_job = BulkCanvasCourseCreationJob(id=self.bulk_job_id) self.canvas_course_id = uuid.uuid4().hex self.job_id = 1475 self.sis_course_id = "305841" self.sis_user_id = "123456" self.school_id = "colgsas"
def test_create_new_course_called_with_bulk_template_params( self, SDK_CONTEXT, logger, course_generation_job__objects__filter, course_generation_job__objects__create, update_course_generation_workflow_state, get_template_course, get_course_data, create_course_section, create_new_course, get_default_template_for_school): """ Test to assert that create_new_course method is called by create_canvas_course controller method with appropriate arguments (collapses a bunch of individual parameter tests) """ job = Mock(spec=CanvasCourseGenerationJob()) course_generation_job__objects__create.return_value = job query_set = Mock(get=Mock(return_value=job)) course_generation_job__objects__filter.return_value = query_set course_model_mock = self.get_mock_of_get_course_data() get_template_course.return_value = Bunch( json=lambda: { 'is_public': True, 'public_syllabus': True, 'is_public_to_auth_users': True }) get_course_data.return_value = course_model_mock sis_account_id_argument = 'sis_account_id:' + course_model_mock.sis_account_id course_code_argument = course_model_mock.course_code course_name_argument = course_model_mock.course_name course_term_id_argument = 'sis_term_id:' + course_model_mock.sis_term_id course_sis_course_id_argument = self.sis_course_id bulk_job = BulkCanvasCourseCreationJob(id=self.bulk_job_id, template_canvas_course_id=12345) controller.create_canvas_course(self.sis_course_id, self.sis_user_id, bulk_job) assert not get_default_template_for_school.called create_new_course.assert_called_with( request_ctx=SDK_CONTEXT, account_id=sis_account_id_argument, course_name=course_name_argument, course_course_code=course_code_argument, course_term_id=course_term_id_argument, course_sis_course_id=course_sis_course_id_argument, course_is_public_to_auth_users=True, course_is_public=True, course_public_syllabus=True)
def setUp(self): self.user_id = '12345678' self.bulk_job_id = 12345 self.template_id = 54321 self.school_code = 'colgsas' self.sis_term_id = 4579 self.courses = [123, 456, 789, 1011, 1012, 1013, 1014, 1015] self.cm_jobs = [] for idx, course in enumerate(self.courses): migration_job = ContentMigrationJob( idx, self.bulk_job_id, self.user_id, course, CanvasCourseGenerationJob.STATUS_SETUP) self.cm_jobs.append(migration_job) self.bulk_jobs = [ BulkCanvasCourseCreationJob( id=self.bulk_job_id, school_id=self.school_code, template_canvas_course_id=self.template_id, status=BulkCanvasCourseCreationJob.STATUS_SETUP, created_by_user_id=self.user_id) ]
def test_update_status_success(self, m_save): """ If no exception is raised in the save() call then the function should return True (indicating success) """ job = BulkJob() result = job.update_status(BulkJob.STATUS_SETUP) self.assertTrue(m_save.called) self.assertTrue(result)