Skip to content
This repository was archived by the owner on Jun 13, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
315 changes: 14 additions & 301 deletions graphql_api/tests/test_test_result.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,34 +50,6 @@ def setUp(self):
flaky_fail_count=1,
)

def test_fetch_test_result_name(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
name
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][
0
]["node"]["name"] == self.test.name.replace("\x1f", " ")

def test_fetch_test_result_name_with_computed_name(self) -> None:
self.test.computed_name = "Computed Name"
self.test.save()
Expand All @@ -92,281 +64,14 @@ def test_fetch_test_result_name_with_computed_name(self) -> None:
edges {
node {
name
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert (
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
"node"
]["name"]
== self.test.computed_name
)

def test_fetch_test_result_updated_at(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
updatedAt
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert (
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
"node"
]["updatedAt"]
== datetime.now(UTC).isoformat()
)

def test_fetch_test_result_commits_failed(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
commitsFailed
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert (
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
"node"
]["commitsFailed"]
== 3
)

def test_fetch_test_result_failure_rate(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
failureRate
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert (
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
"node"
]["failureRate"]
== 0.75
)

def test_fetch_test_result_last_duration(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
lastDuration
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert (
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
"node"
]["lastDuration"]
== 1.0
)

def test_fetch_test_result_avg_duration(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
avgDuration
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][
0
]["node"]["avgDuration"] == (5.6 / 3)

def test_fetch_test_result_total_fail_count(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
totalFailCount
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert (
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
"node"
]["totalFailCount"]
== 9
)

def test_fetch_test_result_total_skip_count(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
totalSkipCount
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert (
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
"node"
]["totalSkipCount"]
== 6
)

def test_fetch_test_result_total_pass_count(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
totalPassCount
}
}
}
}
}
}
}
}
""" % (self.owner.username, self.repository.name)

result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert (
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
"node"
]["totalPassCount"]
== 3
)

def test_fetch_test_result_total_flaky_fail_count(self) -> None:
query = """
query {
owner(username: "%s") {
repository(name: "%s") {
... on Repository {
testAnalytics {
testResults {
edges {
node {
totalFlakyFailCount
}
}
Expand All @@ -381,9 +86,17 @@ def test_fetch_test_result_total_flaky_fail_count(self) -> None:
result = self.gql_request(query, owner=self.owner)

assert "errors" not in result
assert (
result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][0][
"node"
]["totalFlakyFailCount"]
== 2
)
assert result["owner"]["repository"]["testAnalytics"]["testResults"]["edges"][
0
]["node"] == {
"name": self.test.computed_name,
"updatedAt": datetime.now(UTC).isoformat(),
"commitsFailed": 3,
"failureRate": 0.75,
"lastDuration": 1.0,
"avgDuration": (5.6 / 3),
"totalFailCount": 9,
"totalSkipCount": 6,
"totalPassCount": 3,
"totalFlakyFailCount": 2,
}
Loading
Loading