Пример #1
0
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)	
Пример #2
0
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)
Пример #3
0
 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)
Пример #4
0
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)
Пример #5
0
    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
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
 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')
Пример #9
0
 def setUp(self) -> None:
     task_repository: TaskRepositoryMemory = TaskRepositoryMemory()
     self.task_service = TaskService(task_repository)
Пример #10
0
def tasks_done(task_service: TaskService, task_id: str):
    task_service.mark_as_done(task_id)
    return '', 200
Пример #11
0
def tasks_delete(task_service: TaskService, task_id: str):
    task_service.delete(task_id)
    return '', 200
Пример #12
0
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
Пример #13
0
def tasks_add(task_service: TaskService) -> Task:
    command = TaskAddCommand.from_json_str(request.get_data())
    return jsonify(task_service.add(command))
Пример #14
0
def tasks_get(task_service: TaskService, task_id: str):
    return jsonify(task_service.get(task_id))
Пример #15
0
def tasks_list(task_service: TaskService) -> []:
    return jsonify(task_service.list())
Пример #16
0
class TasksBaseController(BaseController):
    task_service = TaskService()
Пример #17
0
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)
Пример #18
0
def tasks_undone(task_service: TaskService, task_id: str):
    task_service.undone(task_id)
    return '', 200
Пример #19
0
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",
Пример #20
0
def tasks_search(task_service: TaskService):
    command = TaskSearchCommand.from_request(request.args)
    return jsonify(task_service.search(command))
Пример #21
0
 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
		)