-
Notifications
You must be signed in to change notification settings - Fork 30
Expand file tree
/
Copy pathtreeClient.py
More file actions
137 lines (122 loc) · 4.59 KB
/
Copy pathtreeClient.py
File metadata and controls
137 lines (122 loc) · 4.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
from typing import Any, Literal
from django.urls import reverse
import requests
from kernelCI_app.helpers.filters import FilterFields
from kernelCI_app.tests.utils.client.baseClient import BaseClient
from kernelCI_app.typeModels.treeDetails import (
DirectTreePathParameters,
DirectTreeQueryParameters,
TreeQueryParameters,
)
class TreeClient(BaseClient):
def get_tree_listing(self, *, query: dict) -> requests.Response:
path = reverse("tree")
url = self.get_endpoint(path=path, query=query)
return requests.get(url)
def get_tree_report(self, *, query: dict) -> requests.Response:
path = reverse("treeReportView")
url = self.get_endpoint(path=path, query=query)
return requests.get(url)
def get_tree_latest(
self, *, tree_name: str, git_branch: str, query: dict
) -> requests.Response:
path = reverse(
"treeLatest",
kwargs={
"tree_name": tree_name,
"git_branch": git_branch,
},
)
url = self.get_endpoint(path=path, query=query)
return requests.get(url)
def get_tree_details_summary(
self,
*,
tree_id: str,
query: TreeQueryParameters,
filters: dict[FilterFields, Any] | None = None,
) -> requests.Response:
path = reverse("treeDetailsSummaryView", kwargs={"commit_hash": tree_id})
url = self.get_endpoint(path=path, query=query.model_dump(), filters=filters)
return requests.get(url)
def get_tree_commit_history(
self,
*,
tree_id: str,
query: dict,
filters: dict[FilterFields, Any] | None = None,
) -> requests.Response:
path = reverse("treeCommits", kwargs={"commit_hash": tree_id})
url = self.get_endpoint(path=path, query=query, filters=filters)
return requests.get(url)
def get_tree_details_full(
self,
*,
tree_id: str,
query: TreeQueryParameters,
filters: dict[FilterFields, Any] | None = None,
) -> requests.Response:
path = reverse("treeDetailsView", kwargs={"commit_hash": tree_id})
url = self.get_endpoint(path=path, query=query.model_dump(), filters=filters)
return requests.get(url)
def get_tree_details_builds(
self,
*,
tree_id: str,
query: TreeQueryParameters,
filters: dict[FilterFields, Any] | None = None,
) -> requests.Response:
path = reverse("treeDetailsBuildsView", kwargs={"commit_hash": tree_id})
url = self.get_endpoint(path=path, query=query.model_dump(), filters=filters)
return requests.get(url)
def get_tree_details_boots(
self,
*,
tree_id: str,
query: TreeQueryParameters,
filters: dict[FilterFields, Any] | None = None,
) -> requests.Response:
path = reverse("treeDetailsBootsView", kwargs={"commit_hash": tree_id})
url = self.get_endpoint(path=path, query=query.model_dump(), filters=filters)
return requests.get(url)
def get_tree_details_tests(
self,
*,
tree_id: str,
query: TreeQueryParameters,
filters: dict[FilterFields, Any] | None = None,
) -> requests.Response:
path = reverse("treeDetailsTestsView", kwargs={"commit_hash": tree_id})
url = self.get_endpoint(path=path, query=query.model_dump(), filters=filters)
return requests.get(url)
def get_tree_details_specific_direct(
self,
*,
base_path: Literal[
"treeDetailsBootsDirectView",
"treeDetailsBuildsDirectView",
"treeDetailsTestsDirectView",
],
query: DirectTreeQueryParameters,
filters: dict[FilterFields, Any] | None = None,
path_params: DirectTreePathParameters,
) -> requests.Response:
path = reverse(base_path, kwargs=path_params.model_dump())
url = self.get_endpoint(path=path, query=query.model_dump(), filters=filters)
return requests.get(url)
def get_tree_commits_history_list(self, *, query: dict) -> requests.Response:
path = reverse("treeCommitsHistory")
url = self.get_endpoint(path=path, query=query)
return requests.get(url)
def get_tree_commits_list(
self, *, tree_name: str, git_branch: str, query: dict
) -> requests.Response:
path = reverse(
"treeCommitsList",
kwargs={
"tree_name": tree_name,
"git_branch": git_branch,
},
)
url = self.get_endpoint(path=path, query=query)
return requests.get(url)