Skip to content

Commit cbf9a48

Browse files
committed
Update
Signed-off-by: Alina Buzachis <[email protected]>
1 parent 27d5c89 commit cbf9a48

File tree

11 files changed

+33
-471
lines changed

11 files changed

+33
-471
lines changed

core/tasks.py

Lines changed: 0 additions & 103 deletions
This file was deleted.

core/tests/test_models.py

Lines changed: 0 additions & 83 deletions
This file was deleted.

core/tests/test_tasks.py

Lines changed: 0 additions & 116 deletions
This file was deleted.

core/tests/test_views.py

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from unittest.mock import patch
2-
31
from django.urls import reverse
42
from rest_framework import status
53
from rest_framework.test import APITestCase
@@ -9,7 +7,6 @@
97
from core.models import Pattern
108
from core.models import PatternInstance
119
from core.models import Task
12-
from core.tasks import run_pattern_task
1310

1411

1512
class SharedDataMixin:
@@ -59,12 +56,7 @@ def test_pattern_detail_view(self):
5956
self.assertEqual(response.status_code, status.HTTP_200_OK)
6057
self.assertEqual(response.data["collection_name"], "mynamespace.mycollection")
6158

62-
@patch("core.views.async_to_sync")
63-
def test_pattern_create_view(self, mock_async_to_sync):
64-
"""
65-
Test POST /patterns/ creates Pattern and Task,
66-
calls run_pattern_task and returns 202 with task_id.
67-
"""
59+
def test_pattern_create_view(self):
6860
url = reverse("pattern-list")
6961
data = {
7062
"collection_name": "new.namespace.collection",
@@ -80,17 +72,15 @@ def test_pattern_create_view(self, mock_async_to_sync):
8072
pattern = Pattern.objects.get(pattern_name="new_pattern")
8173
self.assertIsNotNone(pattern)
8274

83-
# Task created pointing to pattern id
84-
task_id = response.data["task_id"]
75+
# Task id returned directly
76+
task_id = response.data.get("task_id")
77+
self.assertIsInstance(task_id, int)
78+
79+
# Task exists
8580
task = Task.objects.get(id=task_id)
8681
self.assertEqual(task.status, "Initiated")
87-
88-
mock_async_to_sync.assert_called_once()
89-
args, kwargs = mock_async_to_sync.call_args
90-
# The first argument should be run_pattern_task
91-
self.assertEqual(args[0], run_pattern_task)
92-
self.assertIn("task_id", response.data)
93-
self.assertIn("message", response.data)
82+
self.assertEqual(task.details.get("model"), "Pattern")
83+
self.assertEqual(task.details.get("id"), pattern.id)
9484

9585

9686
class PatternInstanceViewSetTest(SharedDataMixin, APITestCase):
@@ -106,8 +96,7 @@ def test_pattern_instance_detail_view(self):
10696
self.assertEqual(response.status_code, status.HTTP_200_OK)
10797
self.assertEqual(response.data["organization_id"], 1)
10898

109-
@patch("core.views.async_to_sync")
110-
def test_pattern_instance_create_view(self, mock_async_to_sync):
99+
def test_pattern_instance_create_view(self):
111100
url = reverse("patterninstance-list")
112101
data = {
113102
"organization_id": 2,
@@ -124,13 +113,13 @@ def test_pattern_instance_create_view(self, mock_async_to_sync):
124113
instance = PatternInstance.objects.get(organization_id=2)
125114
self.assertIsNotNone(instance)
126115

127-
task_id = response.data["task_id"]
116+
task_id = response.data.get("task_id")
117+
self.assertIsInstance(task_id, int)
118+
128119
task = Task.objects.get(id=task_id)
129120
self.assertEqual(task.status, "Initiated")
130-
131-
mock_async_to_sync.assert_called_once()
132-
self.assertIn("task_id", response.data)
133-
self.assertIn("message", response.data)
121+
self.assertEqual(task.details.get("model"), "PatternInstance")
122+
self.assertEqual(task.details.get("id"), instance.id)
134123

135124

136125
class AutomationViewSetTest(SharedDataMixin, APITestCase):

0 commit comments

Comments
 (0)