def get_task_by_id(): """ Fetch a task by id. Arguments: task_id (string): UUID4 of task to fetch. Returns: Success boolean and API formatted task object. """ task_uuid4 = request.args.get('task_id') if task_uuid4 is None: res = { 'success': 0, 'error': '"task_id" param required' } return make_response( jsonify(res), 400 ) task = TaskService.load_task_by_uuid4(task_uuid4) if task is not None: task = TaskService.get_task_api_formatted_data(task) res = { 'success': 1 if task is not None else 0, 'task': task } return jsonify(res)
class TaskAction(): def __init__(self): self.task_service = TaskService() def deal_request(self, name): web.header('Content-Type','text/html;charset=UTF-8') data = json.loads(json.dumps(web.input())) client_ip = web.ctx.ip if name == 'get_task': tasks = self.task_service.get_task() tasks = tools.dumps_json(tasks) log.info(''' 客户端 ip: %s 取任务 : %s'''%(client_ip, tasks)) return tasks elif name == 'update_task': tasks = eval(data.get('tasks', [])) status = data.get('status') self.task_service.update_task_status(tasks, status) return tools.dumps_json('{"status":1}') def GET(self, name): return self.deal_request(name) def POST(self, name): return self.deal_request(name)
def test_get_input(self): service = TaskService(self.taskloader) tasks = service.get_all_tasks('test') inputs = service.get_inputs(tasks[0].id) self.assertEqual(2, len(inputs)) self.assertEqual('test1', inputs[0].key) self.assertEqual(False, inputs[1].required)
class TaskAction(): def __init__(self): self.task_service = TaskService() def deal_request(self, name): web.header('Content-Type', 'text/html;charset=UTF-8') data = json.loads(json.dumps(web.input())) print(name) print(data) if name == 'get_task': tasks = self.task_service.get_task() return tools.dumps_json(tasks) elif name == 'update_task': tasks = eval(data.get('tasks', [])) status = data.get('status') self.task_service.update_task_status(tasks, status) return tools.dumps_json('{"status":1}') def GET(self, name): return self.deal_request(name) def POST(self, name): return self.deal_request(name)
def search_task_code_by_server_ip(self): """ 通过ip查询当前任务编号 :return: taskCode """ result = TaskService().search_task_code_by_server_ip(self.public_ip) if not result: return False """设置任务编号""" self.task_code = result.get("taskCode", "") self.relId = result.get("relId") return True
def create_task(params): """ Create a task. Arguments: task_title (string): Title of task. Side-effects: Emits 'task_created' event with task object payload. """ if 'task_title' not in params: return None task_title = params['task_title'] task = TaskService.create_task(task_title) if task is not None: task = TaskService.get_task_api_formatted_data(task) emit('task_created', task, broadcast=True)
def get_all_tasks(): """ Fetch all tasks. Returns: Success boolean and array of API formatted task objects. """ tasks = TaskService.load_all_tasks() if tasks is not None: tasks = [ TaskService.get_task_api_formatted_data(task) for task in tasks ] res = { 'success': 1 if tasks is not None else 0, 'tasks': tasks } return jsonify(res)
def test_load_tasks(self): service = TaskService(self.taskloader) tasks = service.get_all_tasks('test') self.assertEqual(1, len(tasks)) self.assertEqual(tasks[0].title, 'Test Task') self.assertEqual(tasks[0].description, 'This is a test task')
def setUp(self) -> None: task_repository: TaskRepositoryMemory = TaskRepositoryMemory() self.task_service = TaskService(task_repository)
def tasks_done(task_service: TaskService, task_id: str): task_service.mark_as_done(task_id) return '', 200
def tasks_delete(task_service: TaskService, task_id: str): task_service.delete(task_id) return '', 200
def tasks_update(task_service: TaskService, task_id: str): command = TaskUpdateCommand.from_json_str(request.get_data()) task_service.update(task_id, command) return '', 200
def tasks_add(task_service: TaskService) -> Task: command = TaskAddCommand.from_json_str(request.get_data()) return jsonify(task_service.add(command))
def tasks_get(task_service: TaskService, task_id: str): return jsonify(task_service.get(task_id))
def tasks_list(task_service: TaskService) -> []: return jsonify(task_service.list())
class TasksBaseController(BaseController): task_service = TaskService()
class TestTaskService(TestCase): def setUp(self) -> None: task_repository: TaskRepositoryMemory = TaskRepositoryMemory() self.task_service = TaskService(task_repository) def test_list_should_return_empty_array(self): tasks: [] = self.task_service.list() self.assertEqual(0, len(tasks)) def test_add_with_empty_command_should_throw_assertion_error(self): with self.assertRaises(AssertionError): self.task_service.add(None) def test_add_should_return_just_created_task(self): command = TaskAddCommand(description='nuovo task', tags=['#abc', '#def']) task: Task = self.task_service.add(command) num_tasks_after_insert: int = len(self.task_service.list()) self.assertIsNotNone(task) self.assertRegex(task.uuid, r'%s' % UUID4_REGEX) self.assertEqual(command.description, task.description) self.assertEqual(1, num_tasks_after_insert) self.assertEqual(2, len(task.tags)) def test_delete_with_empty_id_should_throw_exception(self): with self.assertRaises(AssertionError): self.task_service.delete(None) def test_delete_with_non_valid_id_should_throw_exception(self): with self.assertRaises(Exception): self.task_service.delete('xxxx') def test_delete_with_valid_id_should_remove_the_right_task(self): command = TaskAddCommand(description='nuovo task', tags=[]) task: Task = self.task_service.add(command) num_tasks_after_insert: int = len(self.task_service.list()) uuid_to_delete = task.uuid self.task_service.delete(uuid_to_delete) num_tasks_after_delete: int = len(self.task_service.list()) self.assertEqual(1, num_tasks_after_insert) self.assertEqual(0, num_tasks_after_delete) def test_update_with_non_valid_id_should_throw_exception(self): with self.assertRaises(Exception): command = TaskUpdateCommand(description='task modificato') self.task_service.update('xxxx', command) def test_update_with_valid_id_should_update_the_right_task(self): add_command = TaskAddCommand(description='nuovo task', tags=[]) task: Task = self.task_service.add(add_command) uuid_to_update = task.uuid update_command = TaskUpdateCommand(description='task modificato', tags=['#abc']) self.task_service.update(uuid_to_update, update_command) read_task: Task = self.task_service.get(uuid_to_update) self.assertEqual('task modificato', read_task.description) self.assertEqual(1, len(read_task.tags)) self.assertEqual('#abc', read_task.tags[0]) def test_done_with_non_valid_id_should_throw_exception(self): with self.assertRaises(Exception): self.task_service.mark_as_done('xxxx') def test_done_with_valid_id_should_update_the_right_task(self): add_command = TaskAddCommand(description='nuovo task', tags=[]) task: Task = self.task_service.add(add_command) uuid_to_update = task.uuid self.task_service.mark_as_done(uuid_to_update) read_task: Task = self.task_service.get(uuid_to_update) self.assertEqual(1, read_task.done) def test_undone_with_non_valid_id_should_throw_exception(self): with self.assertRaises(Exception): self.task_service.undone('xxxx') def test_undone_with_valid_id_should_update_the_right_task(self): add_command = TaskAddCommand(description='nuovo task', tags=[]) task: Task = self.task_service.add(add_command) uuid_to_update = task.uuid self.task_service.mark_as_done(uuid_to_update) read_task_before_undone: Task = self.task_service.get(uuid_to_update) done_state_before_undone = read_task_before_undone.done self.task_service.undone(uuid_to_update) read_task_after_undone: Task = self.task_service.get(uuid_to_update) done_state_after_undone = read_task_after_undone.done self.assertEqual(1, done_state_before_undone) self.assertEqual(0, done_state_after_undone) def test_search_with_empty_query_data_should_return_entire_list(self): self.task_service.add( TaskAddCommand(description='primo task', tags=['#abc', '#def']) ) self.task_service.add( TaskAddCommand(description='secondo task', tags=['#abc']) ) search_command = TaskSearchCommand(description='', tags=[]) filtered_tasks = self.task_service.search(search_command) self.assertEqual(2, len(filtered_tasks)) def test_search_description_should_return_filtered_list(self): self.task_service.add( TaskAddCommand(description='primo task', tags=['#abc', '#def']) ) self.task_service.add( TaskAddCommand(description='secondo task', tags=['#abc']) ) search_command = TaskSearchCommand(description='primo', tags=[]) filtered_tasks = self.task_service.search(search_command) self.assertEqual(1, len(filtered_tasks)) self.assertEqual('primo task', filtered_tasks[0].description) def test_search_tags_should_return_filtered_list(self): self.task_service.add( TaskAddCommand(description='primo task', tags=['#abc', '#def', '#ghi']) ) self.task_service.add( TaskAddCommand(description='secondo task', tags=['#abc', '#zxc']) ) search_command = TaskSearchCommand(description='', tags=['#abc', '#def']) filtered_tasks = self.task_service.search(search_command) self.assertEqual(1, len(filtered_tasks)) self.assertEqual('primo task', filtered_tasks[0].description) def test_search_description_and_tags_should_return_filtered_list(self): self.task_service.add( TaskAddCommand(description='primo task', tags=['#abc', '#def', '#ghi']) ) self.task_service.add( TaskAddCommand(description='secondo task', tags=['#abc', '#zxc']) ) search_command = TaskSearchCommand(description='primo', tags=['#abc', '#def']) filtered_tasks = self.task_service.search(search_command) self.assertEqual(1, len(filtered_tasks)) self.assertEqual('primo task', filtered_tasks[0].description)
def tasks_undone(task_service: TaskService, task_id: str): task_service.undone(task_id) return '', 200
from flask import Blueprint, request from slerp.logger import logging from slerp import sender from service.task_service import TaskService log = logging.getLogger(__name__) task_api_blue_print = Blueprint('task_api_blue_print', __name__) api = task_api_blue_print task_service = TaskService() @api.route('/add_task', methods=['POST']) def add_task(): """ { "title": "String", "user_id": "Long", "active": "Boolean" } """ domain = request.get_json() return task_service.add_task(domain) @api.route('/add_task_answer', methods=['POST']) def add_task_answer(): """ { "task_id": "Long", "user_id": "Long",
def tasks_search(task_service: TaskService): command = TaskSearchCommand.from_request(request.args) return jsonify(task_service.search(command))
def __init__(self): self.task_service = TaskService()
from utils.print import ppp # mock data user_names = ['jim', 'bob', 'sara', 'penny'] task_titles = ['do the dishes', 'buy a car', 'build an app'] # populate mock users users = [] for user_name in user_names: users.append(UserService.create_user(user_name)) # populate mock tasks tasks = [] for title in task_titles: tasks.append(TaskService.create_task(title)) # load vote variants for reference vote_variants = VoteVariantService.load_all_vote_variants() # populate mock votes for user in users: for task in tasks: VoteService.create_vote( user.uuid4, task.uuid4, random.choice(vote_variants).variant )