コード例 #1
0
ファイル: test_views.py プロジェクト: silsha/django-asana
 def test_task_with_parent(self, mock_client):
     models.Webhook.objects.create(project=self.project, secret=self.secret)
     parent_task = task(id=10, assignee=user())
     child_task = task(id=11, assignee=user(), parent=parent_task.copy())
     mock_client.access_token().tasks.find_all.return_value = [child_task]
     mock_client.access_token().tasks.find_by_id.side_effect = [
         child_task, parent_task
     ]
     data = {
         'events': [
             {
                 'action': 'added',
                 'created_at': '2017-08-21T18:20:37.972Z',
                 'parent': {
                     'id': 10
                 },
                 'resource': 1337,
                 'type': 'task',
                 'user': 1123
             },
         ]
     }
     message = json.dumps(data)
     signature = sign_sha256_hmac(self.secret, message)
     request = self.factory.post('',
                                 content_type='application/json',
                                 data=message,
                                 **{'X-Hook-Signature': signature})
     views.WebhookView.as_view()(request, remote_id=3)
     self.assertEqual(2, models.Task.objects.count())
     parent, child = tuple(models.Task.objects.order_by('remote_id'))
     self.assertEqual(parent, child.parent)
コード例 #2
0
 def test_null_email_passes(self):
     null_user = user(email=None)
     self.command.client.users.find_by_id.return_value = null_user
     try:
         self.command._sync_user(user=null_user, workspace=None)
     except IntegrityError as error:
         self.fail(error)
コード例 #3
0
 def test_refresh_from_asana(self, mock_connect):
     mock_client = mock_connect.return_value
     user = fixtures.user()
     mock_client.users.find_by_id.return_value = user
     self.user.refresh_from_asana()
     self.assertTrue(mock_client.users.find_by_id.called)
     self.user.refresh_from_db()
     self.assertEqual(user['name'], self.user.name)
コード例 #4
0
ファイル: test_views.py プロジェクト: sbywater/django-asana
 def test_task_with_parent(self, mock_client):
     models.Webhook.objects.create(project=self.project, secret=self.secret)
     parent_task = task(id=10, assignee=user())
     child_task = task(id=11, assignee=user(), parent=parent_task.copy())
     mock_client.access_token().tasks.find_all.return_value = [child_task]
     mock_client.access_token().tasks.find_by_id.side_effect = [
         child_task,
         parent_task,
     ]
     data = {
         "events": [
             {
                 "action": "added",
                 "created_at": "2017-08-21T18:20:37.972Z",
                 "parent": {
                     "gid": "10"
                 },
                 "resource": {
                     "gid": "1337",
                     "resource_type": "task",
                 },
                 "user": {
                     "gid": "1123",
                     "resource_type": "user",
                 },
             },
         ]
     }
     message = json.dumps(data)
     signature = sign_sha256_hmac(self.secret, message)
     request = self.factory.post("",
                                 content_type="application/json",
                                 data=message,
                                 **{"X-Hook-Signature": signature})
     views.WebhookView.as_view()(request, remote_id=3)
     self.assertEqual(2, models.Task.objects.count())
     parent, child = tuple(models.Task.objects.order_by("remote_id"))
     self.assertEqual(parent, child.parent)
コード例 #5
0
 def test_sync_users(self):
     self.command.client.users.find_all.return_value = [user()]
     self.command.client.users.find_by_id.return_value = user()
     self.command.handle(interactive=False, model=['Workspace', 'User'])
     self.assertEqual(1, User.objects.count())