Skip to content
This repository was archived by the owner on Jun 13, 2025. It is now read-only.

Commit 009d9ae

Browse files
committed
refactor: test results GQL endpoints
this refactor simplifies the tests from test results aggregates and flake aggregates and adds some typing to the generate_test_results function. It also changes the arguments passed to the generate_test_results function so handling them is simpler and changes some things regarding error handling in that function.
1 parent 4e9c42d commit 009d9ae

File tree

8 files changed

+305
-631
lines changed

8 files changed

+305
-631
lines changed

graphql_api/tests/test_test_result.py

Lines changed: 14 additions & 301 deletions
Original file line numberDiff line numberDiff line change
@@ -50,34 +50,6 @@ def setUp(self):
5050
flaky_fail_count=1,
5151
)
5252

53-
def test_fetch_test_result_name(self) -> None:
54-
query = """
55-
query {
56-
owner(username: "%s") {
57-
repository(name: "%s") {
58-
... on Repository {
59-
testAnalytics {
60-
testResults {
61-
edges {
62-
node {
63-
name
64-
}
65-
}
66-
}
67-
}
68-
}
69-
}
70-
}
71-
}
72-
""" % (self.owner.username, self.repository.name)
73-
74-
result = self.gql_request(query, owner=self.owner)
75-
76-
assert "errors" not in result
77-
assert result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][
78-
0
79-
]["node"]["name"] == self.test.name.replace("\x1f", " ")
80-
8153
def test_fetch_test_result_name_with_computed_name(self) -> None:
8254
self.test.computed_name = "Computed Name"
8355
self.test.save()
@@ -92,281 +64,14 @@ def test_fetch_test_result_name_with_computed_name(self) -> None:
9264
edges {
9365
node {
9466
name
95-
}
96-
}
97-
}
98-
}
99-
}
100-
}
101-
}
102-
}
103-
""" % (self.owner.username, self.repository.name)
104-
105-
result = self.gql_request(query, owner=self.owner)
106-
107-
assert "errors" not in result
108-
assert (
109-
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
110-
"node"
111-
]["name"]
112-
== self.test.computed_name
113-
)
114-
115-
def test_fetch_test_result_updated_at(self) -> None:
116-
query = """
117-
query {
118-
owner(username: "%s") {
119-
repository(name: "%s") {
120-
... on Repository {
121-
testAnalytics {
122-
testResults {
123-
edges {
124-
node {
12567
updatedAt
126-
}
127-
}
128-
}
129-
}
130-
}
131-
}
132-
}
133-
}
134-
""" % (self.owner.username, self.repository.name)
135-
136-
result = self.gql_request(query, owner=self.owner)
137-
138-
assert "errors" not in result
139-
assert (
140-
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
141-
"node"
142-
]["updatedAt"]
143-
== datetime.now(UTC).isoformat()
144-
)
145-
146-
def test_fetch_test_result_commits_failed(self) -> None:
147-
query = """
148-
query {
149-
owner(username: "%s") {
150-
repository(name: "%s") {
151-
... on Repository {
152-
testAnalytics {
153-
testResults {
154-
edges {
155-
node {
15668
commitsFailed
157-
}
158-
}
159-
}
160-
}
161-
}
162-
}
163-
}
164-
}
165-
""" % (self.owner.username, self.repository.name)
166-
167-
result = self.gql_request(query, owner=self.owner)
168-
169-
assert "errors" not in result
170-
assert (
171-
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
172-
"node"
173-
]["commitsFailed"]
174-
== 3
175-
)
176-
177-
def test_fetch_test_result_failure_rate(self) -> None:
178-
query = """
179-
query {
180-
owner(username: "%s") {
181-
repository(name: "%s") {
182-
... on Repository {
183-
testAnalytics {
184-
testResults {
185-
edges {
186-
node {
18769
failureRate
188-
}
189-
}
190-
}
191-
}
192-
}
193-
}
194-
}
195-
}
196-
""" % (self.owner.username, self.repository.name)
197-
198-
result = self.gql_request(query, owner=self.owner)
199-
200-
assert "errors" not in result
201-
assert (
202-
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
203-
"node"
204-
]["failureRate"]
205-
== 0.75
206-
)
207-
208-
def test_fetch_test_result_last_duration(self) -> None:
209-
query = """
210-
query {
211-
owner(username: "%s") {
212-
repository(name: "%s") {
213-
... on Repository {
214-
testAnalytics {
215-
testResults {
216-
edges {
217-
node {
21870
lastDuration
219-
}
220-
}
221-
}
222-
}
223-
}
224-
}
225-
}
226-
}
227-
""" % (self.owner.username, self.repository.name)
228-
229-
result = self.gql_request(query, owner=self.owner)
230-
231-
assert "errors" not in result
232-
assert (
233-
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
234-
"node"
235-
]["lastDuration"]
236-
== 1.0
237-
)
238-
239-
def test_fetch_test_result_avg_duration(self) -> None:
240-
query = """
241-
query {
242-
owner(username: "%s") {
243-
repository(name: "%s") {
244-
... on Repository {
245-
testAnalytics {
246-
testResults {
247-
edges {
248-
node {
24971
avgDuration
250-
}
251-
}
252-
}
253-
}
254-
}
255-
}
256-
}
257-
}
258-
""" % (self.owner.username, self.repository.name)
259-
260-
result = self.gql_request(query, owner=self.owner)
261-
262-
assert "errors" not in result
263-
assert result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][
264-
0
265-
]["node"]["avgDuration"] == (5.6 / 3)
266-
267-
def test_fetch_test_result_total_fail_count(self) -> None:
268-
query = """
269-
query {
270-
owner(username: "%s") {
271-
repository(name: "%s") {
272-
... on Repository {
273-
testAnalytics {
274-
testResults {
275-
edges {
276-
node {
27772
totalFailCount
278-
}
279-
}
280-
}
281-
}
282-
}
283-
}
284-
}
285-
}
286-
""" % (self.owner.username, self.repository.name)
287-
288-
result = self.gql_request(query, owner=self.owner)
289-
290-
assert "errors" not in result
291-
assert (
292-
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
293-
"node"
294-
]["totalFailCount"]
295-
== 9
296-
)
297-
298-
def test_fetch_test_result_total_skip_count(self) -> None:
299-
query = """
300-
query {
301-
owner(username: "%s") {
302-
repository(name: "%s") {
303-
... on Repository {
304-
testAnalytics {
305-
testResults {
306-
edges {
307-
node {
30873
totalSkipCount
309-
}
310-
}
311-
}
312-
}
313-
}
314-
}
315-
}
316-
}
317-
""" % (self.owner.username, self.repository.name)
318-
319-
result = self.gql_request(query, owner=self.owner)
320-
321-
assert "errors" not in result
322-
assert (
323-
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
324-
"node"
325-
]["totalSkipCount"]
326-
== 6
327-
)
328-
329-
def test_fetch_test_result_total_pass_count(self) -> None:
330-
query = """
331-
query {
332-
owner(username: "%s") {
333-
repository(name: "%s") {
334-
... on Repository {
335-
testAnalytics {
336-
testResults {
337-
edges {
338-
node {
33974
totalPassCount
340-
}
341-
}
342-
}
343-
}
344-
}
345-
}
346-
}
347-
}
348-
""" % (self.owner.username, self.repository.name)
349-
350-
result = self.gql_request(query, owner=self.owner)
351-
352-
assert "errors" not in result
353-
assert (
354-
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
355-
"node"
356-
]["totalPassCount"]
357-
== 3
358-
)
359-
360-
def test_fetch_test_result_total_flaky_fail_count(self) -> None:
361-
query = """
362-
query {
363-
owner(username: "%s") {
364-
repository(name: "%s") {
365-
... on Repository {
366-
testAnalytics {
367-
testResults {
368-
edges {
369-
node {
37075
totalFlakyFailCount
37176
}
37277
}
@@ -381,9 +86,17 @@ def test_fetch_test_result_total_flaky_fail_count(self) -> None:
38186
result = self.gql_request(query, owner=self.owner)
38287

38388
assert "errors" not in result
384-
assert (
385-
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
386-
"node"
387-
]["totalFlakyFailCount"]
388-
== 2
389-
)
89+
assert result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][
90+
0
91+
]["node"] == {
92+
"name": self.test.computed_name,
93+
"updatedAt": datetime.now(UTC).isoformat(),
94+
"commitsFailed": 3,
95+
"failureRate": 0.75,
96+
"lastDuration": 1.0,
97+
"avgDuration": (5.6 / 3),
98+
"totalFailCount": 9,
99+
"totalSkipCount": 6,
100+
"totalPassCount": 3,
101+
"totalFlakyFailCount": 2,
102+
}

0 commit comments

Comments
 (0)