def test_set_task_state(self): self.cache_mock.get.return_value = {"course_id": "date"} state = TaskState("task_name", "course_id2") state.set_task_state() self.cache_mock.set.assert_called_with(key=state.key, value={"course_id": "date", "course_id2": ANY}) self.cache_mock.get.return_value = None state.set_task_state() self.cache_mock.set.assert_called_with(key=state.key, value={"course_id2": ANY})
def test_delete_task_state(self): self.cache_mock.get.return_value = {"course_id": "date", "course_id2": "date"} state = TaskState("task_name", "course_id") state.delete_task_state() self.assertEquals(self.cache_mock.delete.call_count, 0) self.cache_mock.get.return_value = {} state = TaskState("task_name", "course_id") state.delete_task_state() self.cache_mock.delete.assert_called_once_with(key=state.key)
def test_is_active(self): self.cache_mock.get.return_value = {"course_id": "date"} state = TaskState("task_name", "course_id") result = state.is_active self.assertEquals(result, True) self.cache_mock.get.assert_called_once_with(key=state.key, default={}) self.cache_mock.get.return_value = None result = state.is_active self.assertEquals(result, False)
def handle(self, *args, **options): """Handle command options.""" course_id = options['course_id'] task_id = options['task_id'] if course_id is not None: try: course_id = CourseLocator.from_string(course_id) except InvalidKeyError: raise CommandError("'{}' is an invalid course_id".format(course_id)) if not modulestore().get_course(course_id): raise CommandError("The specified course does not exist.") if len(args) != 1: raise CommandError( 'Required subcommand, update, list, status, revoke or clear_cache.') command = args[0] task = ProgressReportTask(update_table_task) if command == "status": if task_id is None: raise CommandError('"status" subcommand required task_id.') task.show_task_status(task_id) elif command == "list": task.show_task_list() elif command == "revoke": if task_id is None: raise CommandError('"revoke" subcommand required task_id.') task.revoke_task(task_id) elif command == "update": if course_id: task.send_task(course_id.to_deprecated_string()) else: task.send_tasks() elif command == "clear_cache": if course_id is None: raise CommandError('"clear_cache" subcommand required course_id.') state = TaskState("pgreport.tasks.update_table_task", course_id) state.delete_task_state() else: raise CommandError('Invalid subcommand.')
def test_set_task_state(self): self.cache_mock.get.return_value = {"course_id": "date"} state = TaskState("task_name", "course_id2") state.set_task_state() self.cache_mock.set.assert_called_with(key=state.key, value={ 'course_id': 'date', 'course_id2': ANY}) self.cache_mock.get.return_value = None state.set_task_state() self.cache_mock.set.assert_called_with(key=state.key, value={ 'course_id2': ANY})