Skip to content

Commit c5c3598

Browse files
committed
Update api example names and add conftest.py
1 parent 8c102b5 commit c5c3598

File tree

4 files changed

+134
-126
lines changed

4 files changed

+134
-126
lines changed

core/api_examples.py

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from drf_spectacular.utils import OpenApiExample
22

3-
automation_response = OpenApiExample(
4-
"Sample automation response",
3+
automation_get_response = OpenApiExample(
4+
"Sample automation GET response",
55
value={
66
"id": 1,
77
"url": "/api/pattern-service/v1/automations/1/",
@@ -19,8 +19,8 @@
1919
response_only=True,
2020
)
2121

22-
controller_label_response = OpenApiExample(
23-
"Sample controller label response",
22+
controller_label_get_response = OpenApiExample(
23+
"Sample controller label GET response",
2424
value={
2525
"id": 1,
2626
"url": "/api/pattern-service/v1/controller_labels/1/",
@@ -35,26 +35,7 @@
3535
response_only=True,
3636
)
3737

38-
pattern_post = OpenApiExample(
39-
"Sample pattern POST",
40-
value={
41-
"collection_name": "mynamespace.mycollection",
42-
"collection_version": "1.0.0",
43-
"pattern_name": "mypattern",
44-
},
45-
request_only=True,
46-
)
47-
48-
pattern_post_response = OpenApiExample(
49-
"Sample pattern POST response",
50-
value={
51-
"message": "Pattern creation initiated. Check task status for progress.",
52-
"task_id": 1,
53-
},
54-
response_only=True,
55-
)
56-
57-
pattern_response = OpenApiExample(
38+
pattern_get_response = OpenApiExample(
5839
"Sample pattern GET response",
5940
value={
6041
"id": 1,
@@ -74,36 +55,27 @@
7455
response_only=True,
7556
)
7657

77-
pattern_instance_post = OpenApiExample(
78-
"Sample pattern instance POST",
58+
pattern_post_request = OpenApiExample(
59+
"Sample pattern POST request",
7960
value={
80-
"organization_id": 1,
81-
"credentials": {
82-
"ee": 1,
83-
"project": 2,
84-
},
85-
"executors": {
86-
"teams": [1, 2],
87-
"users": [1, 2, 3],
88-
},
89-
"pattern": 1,
61+
"collection_name": "mynamespace.mycollection",
62+
"collection_version": "1.0.0",
63+
"pattern_name": "mypattern",
9064
},
9165
request_only=True,
9266
)
9367

94-
pattern_instance_post_response = OpenApiExample(
95-
"Sample pattern instance POST response",
68+
pattern_post_response = OpenApiExample(
69+
"Sample pattern POST response",
9670
value={
97-
"message": (
98-
"Pattern instance creation initiated. Check task status for progress."
99-
),
71+
"message": "Pattern creation initiated. Check task status for progress.",
10072
"task_id": 1,
10173
},
10274
response_only=True,
10375
)
10476

105-
pattern_instance_response = OpenApiExample(
106-
"Sample pattern instance response",
77+
pattern_instance_get_response = OpenApiExample(
78+
"Sample pattern instance GET response",
10779
value={
10880
"id": 1,
10981
"url": "/api/pattern-service/v1/pattern_instances/1/",
@@ -127,8 +99,36 @@
12799
response_only=True,
128100
)
129101

130-
task_response = OpenApiExample(
131-
"Sample task response",
102+
pattern_instance_post_request = OpenApiExample(
103+
"Sample pattern instance POST request",
104+
value={
105+
"organization_id": 1,
106+
"credentials": {
107+
"ee": 1,
108+
"project": 2,
109+
},
110+
"executors": {
111+
"teams": [1, 2],
112+
"users": [1, 2, 3],
113+
},
114+
"pattern": 1,
115+
},
116+
request_only=True,
117+
)
118+
119+
pattern_instance_post_response = OpenApiExample(
120+
"Sample pattern instance POST response",
121+
value={
122+
"message": (
123+
"Pattern instance creation initiated. Check task status for progress."
124+
),
125+
"task_id": 1,
126+
},
127+
response_only=True,
128+
)
129+
130+
task_get_response = OpenApiExample(
131+
"Sample task GET response",
132132
value={
133133
"id": 1,
134134
"url": "/api/pattern-service/v1/tasks/1/",

core/tests/conftest.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import pytest
2+
from rest_framework.test import APIClient
3+
4+
from core import api_examples
5+
from core import models
6+
7+
8+
@pytest.fixture()
9+
def client():
10+
client = APIClient()
11+
return client
12+
13+
14+
@pytest.fixture()
15+
def automation(db, pattern_instance) -> models.Automation:
16+
automation = models.Automation.objects.create(
17+
automation_type=api_examples.automation_get_response.value["automation_type"],
18+
automation_id=api_examples.automation_get_response.value["automation_id"],
19+
pattern_instance=pattern_instance,
20+
primary=api_examples.automation_get_response.value["primary"],
21+
)
22+
return automation
23+
24+
25+
@pytest.fixture()
26+
def controller_label(db) -> models.ControllerLabel:
27+
controller_label = models.ControllerLabel.objects.create(
28+
label_id=api_examples.controller_label_get_response.value["label_id"]
29+
)
30+
return controller_label
31+
32+
33+
@pytest.fixture()
34+
def pattern(db) -> models.Pattern:
35+
pattern = models.Pattern.objects.create(
36+
collection_name=api_examples.pattern_post_request.value["collection_name"],
37+
collection_version=api_examples.pattern_post_request.value[
38+
"collection_version"
39+
],
40+
pattern_name=api_examples.pattern_post_request.value["pattern_name"],
41+
)
42+
return pattern
43+
44+
45+
@pytest.fixture()
46+
def pattern_instance(db, pattern) -> models.PatternInstance:
47+
pattern_instance = models.PatternInstance.objects.create(
48+
credentials=api_examples.pattern_instance_post_request.value["credentials"],
49+
executors=api_examples.pattern_instance_post_request.value["executors"],
50+
organization_id=1,
51+
pattern=pattern,
52+
)
53+
return pattern_instance
54+
55+
56+
@pytest.fixture()
57+
def task(db) -> models.Task:
58+
task = models.Task.objects.create(
59+
status=api_examples.task_get_response.value["status"],
60+
details=api_examples.task_get_response.value["details"],
61+
)
62+
return task

core/tests/test_api_v1.py

Lines changed: 12 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import pytest
22
from freezegun import freeze_time
33
from rest_framework import status
4-
from rest_framework.test import APIClient
54

65
from core import api_examples
7-
from core import models
86

97

108
@pytest.fixture(autouse=True)
@@ -13,92 +11,37 @@ def frozen_time():
1311
yield
1412

1513

16-
@pytest.fixture()
17-
def client():
18-
client = APIClient()
19-
return client
20-
21-
22-
@pytest.fixture()
23-
def automation(db, pattern_instance) -> models.Automation:
24-
automation = models.Automation.objects.create(
25-
automation_type=api_examples.automation_response.value["automation_type"],
26-
automation_id=api_examples.automation_response.value["automation_id"],
27-
pattern_instance=pattern_instance,
28-
primary=api_examples.automation_response.value["primary"],
29-
)
30-
return automation
31-
32-
33-
@pytest.fixture()
34-
def controller_label(db) -> models.ControllerLabel:
35-
controller_label = models.ControllerLabel.objects.create(
36-
label_id=api_examples.controller_label_response.value["label_id"]
37-
)
38-
return controller_label
39-
40-
41-
@pytest.fixture()
42-
def pattern(db) -> models.Pattern:
43-
pattern = models.Pattern.objects.create(
44-
collection_name=api_examples.pattern_post.value["collection_name"],
45-
collection_version=api_examples.pattern_post.value["collection_version"],
46-
pattern_name=api_examples.pattern_post.value["pattern_name"],
47-
)
48-
return pattern
49-
50-
51-
@pytest.fixture()
52-
def pattern_instance(db, pattern) -> models.PatternInstance:
53-
pattern_instance = models.PatternInstance.objects.create(
54-
credentials=api_examples.pattern_instance_post.value["credentials"],
55-
executors=api_examples.pattern_instance_post.value["executors"],
56-
organization_id=1,
57-
pattern=pattern,
58-
)
59-
return pattern_instance
60-
61-
62-
@pytest.fixture()
63-
def task(db) -> models.Task:
64-
task = models.Task.objects.create(
65-
status=api_examples.task_response.value["status"],
66-
details=api_examples.task_response.value["details"],
67-
)
68-
return task
69-
70-
7114
def test_retrieve_automation_success(client, automation):
7215
url = f"/api/pattern-service/v1/automations/{automation.pk}/"
7316
response = client.get(url)
7417
assert response.status_code == status.HTTP_200_OK
75-
assert response.json() == api_examples.automation_response.value
18+
assert response.json() == api_examples.automation_get_response.value
7619

7720

7821
def test_list_automations_success(client, automation):
7922
url = "/api/pattern-service/v1/automations/"
8023
response = client.get(url)
8124
assert response.status_code == status.HTTP_200_OK
82-
assert response.json() == [api_examples.automation_response.value]
25+
assert response.json() == [api_examples.automation_get_response.value]
8326

8427

8528
def test_retrieve_controller_label_success(client, controller_label):
8629
url = f"/api/pattern-service/v1/controller_labels/{controller_label.pk}/"
8730
response = client.get(url)
8831
assert response.status_code == status.HTTP_200_OK
89-
assert response.json() == api_examples.controller_label_response.value
32+
assert response.json() == api_examples.controller_label_get_response.value
9033

9134

9235
def test_list_controller_labels_success(client, controller_label):
9336
url = "/api/pattern-service/v1/controller_labels/"
9437
response = client.get(url)
9538
assert response.status_code == status.HTTP_200_OK
96-
assert response.json() == [api_examples.controller_label_response.value]
39+
assert response.json() == [api_examples.controller_label_get_response.value]
9740

9841

9942
def test_create_pattern_success(client, db):
10043
url = "/api/pattern-service/v1/patterns/"
101-
data = api_examples.pattern_post.value
44+
data = api_examples.pattern_post_request.value
10245
response = client.post(url, data, format="json")
10346
assert response.status_code == status.HTTP_202_ACCEPTED
10447
assert response.json() == api_examples.pattern_post_response.value
@@ -108,19 +51,19 @@ def test_retrieve_pattern_success(client, pattern):
10851
url = f"/api/pattern-service/v1/patterns/{pattern.pk}/"
10952
response = client.get(url)
11053
assert response.status_code == status.HTTP_200_OK
111-
assert response.json() == api_examples.pattern_response.value
54+
assert response.json() == api_examples.pattern_get_response.value
11255

11356

11457
def test_list_patterns_success(client, pattern):
11558
url = "/api/pattern-service/v1/patterns/"
11659
response = client.get(url)
11760
assert response.status_code == status.HTTP_200_OK
118-
assert response.json() == [api_examples.pattern_response.value]
61+
assert response.json() == [api_examples.pattern_get_response.value]
11962

12063

12164
def test_create_pattern_instance_success(client, pattern):
12265
url = "/api/pattern-service/v1/pattern_instances/"
123-
data = api_examples.pattern_instance_post.value
66+
data = api_examples.pattern_instance_post_request.value
12467
data["pattern"] = pattern.pk
12568
response = client.post(url, data, format="json")
12669
assert response.status_code == status.HTTP_202_ACCEPTED
@@ -132,26 +75,26 @@ def test_retrieve_pattern_instance_success(client, controller_label, pattern_ins
13275
url = f"/api/pattern-service/v1/pattern_instances/{pattern_instance.pk}/"
13376
response = client.get(url)
13477
assert response.status_code == status.HTTP_200_OK
135-
assert response.json() == api_examples.pattern_instance_response.value
78+
assert response.json() == api_examples.pattern_instance_get_response.value
13679

13780

13881
def test_list_pattern_instances_success(client, controller_label, pattern_instance):
13982
pattern_instance.controller_labels.add(controller_label)
14083
url = "/api/pattern-service/v1/pattern_instances/"
14184
response = client.get(url)
14285
assert response.status_code == status.HTTP_200_OK
143-
assert response.json() == [api_examples.pattern_instance_response.value]
86+
assert response.json() == [api_examples.pattern_instance_get_response.value]
14487

14588

14689
def test_retrieve_task_success(client, task):
14790
url = f"/api/pattern-service/v1/tasks/{task.pk}/"
14891
response = client.get(url)
14992
assert response.status_code == status.HTTP_200_OK
150-
assert response.json() == api_examples.task_response.value
93+
assert response.json() == api_examples.task_get_response.value
15194

15295

15396
def test_list_tasks_success(client, task):
15497
url = "/api/pattern-service/v1/tasks/"
15598
response = client.get(url)
15699
assert response.status_code == status.HTTP_200_OK
157-
assert response.json() == [api_examples.task_response.value]
100+
assert response.json() == [api_examples.task_get_response.value]

0 commit comments

Comments
 (0)