Page MenuHome

test_tasks.py
No OneTemporary

test_tasks.py

# -*- encoding: utf-8 -*-
import responses
from bson import ObjectId
import pillarsdk
import pillar.tests
import pillar.auth
import pillar.tests.common_test_data as ctd
from abstract_attract_test import AbstractAttractTest
class TaskWorkflowTest(AbstractAttractTest):
def setUp(self, **kwargs):
AbstractAttractTest.setUp(self, **kwargs)
self.mngr = self.app.pillar_extensions['attract'].task_manager
self.proj_id, self.project = self.ensure_project_exists()
self.sdk_project = pillarsdk.Project(pillar.tests.mongo_to_sdk(self.project))
def create_task(self, task_type=None):
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.mock_blenderid_validate_happy()
task = self.mngr.create_task(self.sdk_project, task_type=task_type)
self.assertIsInstance(task, pillarsdk.Node)
return task
@responses.activate
def test_create_task(self):
task = self.create_task(task_type=u'Just düüüh it')
self.assertIsNotNone(task)
# Test directly with MongoDB
with self.app.test_request_context():
nodes_coll = self.app.data.driver.db['nodes']
found = nodes_coll.find_one(ObjectId(task['_id']))
self.assertIsNotNone(found)
self.assertEqual(u'Just düüüh it', found['properties']['task_type'])
# Test it through the API
resp = self.get('/api/nodes/%s' % task['_id'])
found = resp.json()
self.assertEqual(u'Just düüüh it', found['properties']['task_type'])
@responses.activate
def test_edit_task(self):
task = self.create_task()
with self.app.test_request_context():
# Log in as project admin user
pillar.auth.login_user(ctd.EXAMPLE_PROJECT_OWNER_ID)
self.mock_blenderid_validate_happy()
self.mngr.edit_task(task._id,
task_type=u'je møder',
name=u'nööw name',
description=u'€ ≠ ¥',
status='todo')
# Test directly with MongoDB
with self.app.test_request_context():
nodes_coll = self.app.data.driver.db['nodes']
found = nodes_coll.find_one(ObjectId(task['_id']))
self.assertEqual(u'je møder', found['properties']['task_type'])
self.assertEqual(u'todo', found['properties']['status'])
self.assertEqual(u'nööw name', found['name'])
self.assertEqual(u'€ ≠ ¥', found['description'])

File Metadata

Mime Type
text/x-python
Expires
Mon, Aug 10, 8:55 PM (1 d, 23 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
81/d8/1dca1416e9eba59ed08f6cf4dc27

Event Timeline