Skip to content

Commit 5cb1401

Browse files
committed
feat(python): Add client for test results.
1 parent 39cfddb commit 5cb1401

22 files changed

Lines changed: 9499 additions & 27 deletions

File tree

protos/sift/test_reports/v1/test_reports.proto

Lines changed: 629 additions & 0 deletions
Large diffs are not rendered by default.

python/lib/sift/test_reports/__init__.py

Whitespace-only changes.

python/lib/sift/test_reports/v1/__init__.py

Whitespace-only changes.

python/lib/sift/test_reports/v1/test_reports_pb2.py

Lines changed: 296 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

python/lib/sift/test_reports/v1/test_reports_pb2.pyi

Lines changed: 1119 additions & 0 deletions
Large diffs are not rendered by default.

python/lib/sift/test_reports/v1/test_reports_pb2_grpc.py

Lines changed: 543 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 324 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,324 @@
1+
"""
2+
@generated by mypy-protobuf. Do not edit manually!
3+
isort:skip_file
4+
"""
5+
6+
import abc
7+
import collections.abc
8+
import grpc
9+
import grpc.aio
10+
import sift.test_reports.v1.test_reports_pb2
11+
import typing
12+
13+
_T = typing.TypeVar("_T")
14+
15+
class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
16+
17+
class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
18+
...
19+
20+
class TestReportServiceStub:
21+
def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
22+
ImportTestReport: grpc.UnaryUnaryMultiCallable[
23+
sift.test_reports.v1.test_reports_pb2.ImportTestReportRequest,
24+
sift.test_reports.v1.test_reports_pb2.ImportTestReportResponse,
25+
]
26+
"""Imports a test report from an already-uploaded file"""
27+
28+
CreateTestReport: grpc.UnaryUnaryMultiCallable[
29+
sift.test_reports.v1.test_reports_pb2.CreateTestReportRequest,
30+
sift.test_reports.v1.test_reports_pb2.CreateTestReportResponse,
31+
]
32+
"""Creates a test report"""
33+
34+
GetTestReport: grpc.UnaryUnaryMultiCallable[
35+
sift.test_reports.v1.test_reports_pb2.GetTestReportRequest,
36+
sift.test_reports.v1.test_reports_pb2.GetTestReportResponse,
37+
]
38+
"""Gets a single test report"""
39+
40+
ListTestReports: grpc.UnaryUnaryMultiCallable[
41+
sift.test_reports.v1.test_reports_pb2.ListTestReportsRequest,
42+
sift.test_reports.v1.test_reports_pb2.ListTestReportsResponse,
43+
]
44+
"""Lists test reports with optional filtering"""
45+
46+
UpdateTestReport: grpc.UnaryUnaryMultiCallable[
47+
sift.test_reports.v1.test_reports_pb2.UpdateTestReportRequest,
48+
sift.test_reports.v1.test_reports_pb2.UpdateTestReportResponse,
49+
]
50+
"""Updates a test report"""
51+
52+
DeleteTestReport: grpc.UnaryUnaryMultiCallable[
53+
sift.test_reports.v1.test_reports_pb2.DeleteTestReportRequest,
54+
sift.test_reports.v1.test_reports_pb2.DeleteTestReportResponse,
55+
]
56+
"""Deletes a test report"""
57+
58+
CreateTestStep: grpc.UnaryUnaryMultiCallable[
59+
sift.test_reports.v1.test_reports_pb2.CreateTestStepRequest,
60+
sift.test_reports.v1.test_reports_pb2.CreateTestStepResponse,
61+
]
62+
"""Creates a test step"""
63+
64+
ListTestSteps: grpc.UnaryUnaryMultiCallable[
65+
sift.test_reports.v1.test_reports_pb2.ListTestStepsRequest,
66+
sift.test_reports.v1.test_reports_pb2.ListTestStepsResponse,
67+
]
68+
"""Lists test steps with optional filtering"""
69+
70+
UpdateTestStep: grpc.UnaryUnaryMultiCallable[
71+
sift.test_reports.v1.test_reports_pb2.UpdateTestStepRequest,
72+
sift.test_reports.v1.test_reports_pb2.UpdateTestStepResponse,
73+
]
74+
"""Updates a test step"""
75+
76+
DeleteTestStep: grpc.UnaryUnaryMultiCallable[
77+
sift.test_reports.v1.test_reports_pb2.DeleteTestStepRequest,
78+
sift.test_reports.v1.test_reports_pb2.DeleteTestStepResponse,
79+
]
80+
"""Deletes a test step"""
81+
82+
CreateTestMeasurement: grpc.UnaryUnaryMultiCallable[
83+
sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementRequest,
84+
sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementResponse,
85+
]
86+
"""Creates a test measurement"""
87+
88+
CreateTestMeasurements: grpc.UnaryUnaryMultiCallable[
89+
sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementsRequest,
90+
sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementsResponse,
91+
]
92+
"""Creates multiple test measurements in a single request"""
93+
94+
ListTestMeasurements: grpc.UnaryUnaryMultiCallable[
95+
sift.test_reports.v1.test_reports_pb2.ListTestMeasurementsRequest,
96+
sift.test_reports.v1.test_reports_pb2.ListTestMeasurementsResponse,
97+
]
98+
"""Lists test measurements with optional filtering"""
99+
100+
UpdateTestMeasurement: grpc.UnaryUnaryMultiCallable[
101+
sift.test_reports.v1.test_reports_pb2.UpdateTestMeasurementRequest,
102+
sift.test_reports.v1.test_reports_pb2.UpdateTestMeasurementResponse,
103+
]
104+
"""Updates a test measurement"""
105+
106+
DeleteTestMeasurement: grpc.UnaryUnaryMultiCallable[
107+
sift.test_reports.v1.test_reports_pb2.DeleteTestMeasurementRequest,
108+
sift.test_reports.v1.test_reports_pb2.DeleteTestMeasurementResponse,
109+
]
110+
"""Deletes a test measurement"""
111+
112+
class TestReportServiceAsyncStub:
113+
ImportTestReport: grpc.aio.UnaryUnaryMultiCallable[
114+
sift.test_reports.v1.test_reports_pb2.ImportTestReportRequest,
115+
sift.test_reports.v1.test_reports_pb2.ImportTestReportResponse,
116+
]
117+
"""Imports a test report from an already-uploaded file"""
118+
119+
CreateTestReport: grpc.aio.UnaryUnaryMultiCallable[
120+
sift.test_reports.v1.test_reports_pb2.CreateTestReportRequest,
121+
sift.test_reports.v1.test_reports_pb2.CreateTestReportResponse,
122+
]
123+
"""Creates a test report"""
124+
125+
GetTestReport: grpc.aio.UnaryUnaryMultiCallable[
126+
sift.test_reports.v1.test_reports_pb2.GetTestReportRequest,
127+
sift.test_reports.v1.test_reports_pb2.GetTestReportResponse,
128+
]
129+
"""Gets a single test report"""
130+
131+
ListTestReports: grpc.aio.UnaryUnaryMultiCallable[
132+
sift.test_reports.v1.test_reports_pb2.ListTestReportsRequest,
133+
sift.test_reports.v1.test_reports_pb2.ListTestReportsResponse,
134+
]
135+
"""Lists test reports with optional filtering"""
136+
137+
UpdateTestReport: grpc.aio.UnaryUnaryMultiCallable[
138+
sift.test_reports.v1.test_reports_pb2.UpdateTestReportRequest,
139+
sift.test_reports.v1.test_reports_pb2.UpdateTestReportResponse,
140+
]
141+
"""Updates a test report"""
142+
143+
DeleteTestReport: grpc.aio.UnaryUnaryMultiCallable[
144+
sift.test_reports.v1.test_reports_pb2.DeleteTestReportRequest,
145+
sift.test_reports.v1.test_reports_pb2.DeleteTestReportResponse,
146+
]
147+
"""Deletes a test report"""
148+
149+
CreateTestStep: grpc.aio.UnaryUnaryMultiCallable[
150+
sift.test_reports.v1.test_reports_pb2.CreateTestStepRequest,
151+
sift.test_reports.v1.test_reports_pb2.CreateTestStepResponse,
152+
]
153+
"""Creates a test step"""
154+
155+
ListTestSteps: grpc.aio.UnaryUnaryMultiCallable[
156+
sift.test_reports.v1.test_reports_pb2.ListTestStepsRequest,
157+
sift.test_reports.v1.test_reports_pb2.ListTestStepsResponse,
158+
]
159+
"""Lists test steps with optional filtering"""
160+
161+
UpdateTestStep: grpc.aio.UnaryUnaryMultiCallable[
162+
sift.test_reports.v1.test_reports_pb2.UpdateTestStepRequest,
163+
sift.test_reports.v1.test_reports_pb2.UpdateTestStepResponse,
164+
]
165+
"""Updates a test step"""
166+
167+
DeleteTestStep: grpc.aio.UnaryUnaryMultiCallable[
168+
sift.test_reports.v1.test_reports_pb2.DeleteTestStepRequest,
169+
sift.test_reports.v1.test_reports_pb2.DeleteTestStepResponse,
170+
]
171+
"""Deletes a test step"""
172+
173+
CreateTestMeasurement: grpc.aio.UnaryUnaryMultiCallable[
174+
sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementRequest,
175+
sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementResponse,
176+
]
177+
"""Creates a test measurement"""
178+
179+
CreateTestMeasurements: grpc.aio.UnaryUnaryMultiCallable[
180+
sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementsRequest,
181+
sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementsResponse,
182+
]
183+
"""Creates multiple test measurements in a single request"""
184+
185+
ListTestMeasurements: grpc.aio.UnaryUnaryMultiCallable[
186+
sift.test_reports.v1.test_reports_pb2.ListTestMeasurementsRequest,
187+
sift.test_reports.v1.test_reports_pb2.ListTestMeasurementsResponse,
188+
]
189+
"""Lists test measurements with optional filtering"""
190+
191+
UpdateTestMeasurement: grpc.aio.UnaryUnaryMultiCallable[
192+
sift.test_reports.v1.test_reports_pb2.UpdateTestMeasurementRequest,
193+
sift.test_reports.v1.test_reports_pb2.UpdateTestMeasurementResponse,
194+
]
195+
"""Updates a test measurement"""
196+
197+
DeleteTestMeasurement: grpc.aio.UnaryUnaryMultiCallable[
198+
sift.test_reports.v1.test_reports_pb2.DeleteTestMeasurementRequest,
199+
sift.test_reports.v1.test_reports_pb2.DeleteTestMeasurementResponse,
200+
]
201+
"""Deletes a test measurement"""
202+
203+
class TestReportServiceServicer(metaclass=abc.ABCMeta):
204+
@abc.abstractmethod
205+
def ImportTestReport(
206+
self,
207+
request: sift.test_reports.v1.test_reports_pb2.ImportTestReportRequest,
208+
context: _ServicerContext,
209+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.ImportTestReportResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.ImportTestReportResponse]]:
210+
"""Imports a test report from an already-uploaded file"""
211+
212+
@abc.abstractmethod
213+
def CreateTestReport(
214+
self,
215+
request: sift.test_reports.v1.test_reports_pb2.CreateTestReportRequest,
216+
context: _ServicerContext,
217+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.CreateTestReportResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.CreateTestReportResponse]]:
218+
"""Creates a test report"""
219+
220+
@abc.abstractmethod
221+
def GetTestReport(
222+
self,
223+
request: sift.test_reports.v1.test_reports_pb2.GetTestReportRequest,
224+
context: _ServicerContext,
225+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.GetTestReportResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.GetTestReportResponse]]:
226+
"""Gets a single test report"""
227+
228+
@abc.abstractmethod
229+
def ListTestReports(
230+
self,
231+
request: sift.test_reports.v1.test_reports_pb2.ListTestReportsRequest,
232+
context: _ServicerContext,
233+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.ListTestReportsResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.ListTestReportsResponse]]:
234+
"""Lists test reports with optional filtering"""
235+
236+
@abc.abstractmethod
237+
def UpdateTestReport(
238+
self,
239+
request: sift.test_reports.v1.test_reports_pb2.UpdateTestReportRequest,
240+
context: _ServicerContext,
241+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.UpdateTestReportResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.UpdateTestReportResponse]]:
242+
"""Updates a test report"""
243+
244+
@abc.abstractmethod
245+
def DeleteTestReport(
246+
self,
247+
request: sift.test_reports.v1.test_reports_pb2.DeleteTestReportRequest,
248+
context: _ServicerContext,
249+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.DeleteTestReportResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.DeleteTestReportResponse]]:
250+
"""Deletes a test report"""
251+
252+
@abc.abstractmethod
253+
def CreateTestStep(
254+
self,
255+
request: sift.test_reports.v1.test_reports_pb2.CreateTestStepRequest,
256+
context: _ServicerContext,
257+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.CreateTestStepResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.CreateTestStepResponse]]:
258+
"""Creates a test step"""
259+
260+
@abc.abstractmethod
261+
def ListTestSteps(
262+
self,
263+
request: sift.test_reports.v1.test_reports_pb2.ListTestStepsRequest,
264+
context: _ServicerContext,
265+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.ListTestStepsResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.ListTestStepsResponse]]:
266+
"""Lists test steps with optional filtering"""
267+
268+
@abc.abstractmethod
269+
def UpdateTestStep(
270+
self,
271+
request: sift.test_reports.v1.test_reports_pb2.UpdateTestStepRequest,
272+
context: _ServicerContext,
273+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.UpdateTestStepResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.UpdateTestStepResponse]]:
274+
"""Updates a test step"""
275+
276+
@abc.abstractmethod
277+
def DeleteTestStep(
278+
self,
279+
request: sift.test_reports.v1.test_reports_pb2.DeleteTestStepRequest,
280+
context: _ServicerContext,
281+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.DeleteTestStepResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.DeleteTestStepResponse]]:
282+
"""Deletes a test step"""
283+
284+
@abc.abstractmethod
285+
def CreateTestMeasurement(
286+
self,
287+
request: sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementRequest,
288+
context: _ServicerContext,
289+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementResponse]]:
290+
"""Creates a test measurement"""
291+
292+
@abc.abstractmethod
293+
def CreateTestMeasurements(
294+
self,
295+
request: sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementsRequest,
296+
context: _ServicerContext,
297+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementsResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.CreateTestMeasurementsResponse]]:
298+
"""Creates multiple test measurements in a single request"""
299+
300+
@abc.abstractmethod
301+
def ListTestMeasurements(
302+
self,
303+
request: sift.test_reports.v1.test_reports_pb2.ListTestMeasurementsRequest,
304+
context: _ServicerContext,
305+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.ListTestMeasurementsResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.ListTestMeasurementsResponse]]:
306+
"""Lists test measurements with optional filtering"""
307+
308+
@abc.abstractmethod
309+
def UpdateTestMeasurement(
310+
self,
311+
request: sift.test_reports.v1.test_reports_pb2.UpdateTestMeasurementRequest,
312+
context: _ServicerContext,
313+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.UpdateTestMeasurementResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.UpdateTestMeasurementResponse]]:
314+
"""Updates a test measurement"""
315+
316+
@abc.abstractmethod
317+
def DeleteTestMeasurement(
318+
self,
319+
request: sift.test_reports.v1.test_reports_pb2.DeleteTestMeasurementRequest,
320+
context: _ServicerContext,
321+
) -> typing.Union[sift.test_reports.v1.test_reports_pb2.DeleteTestMeasurementResponse, collections.abc.Awaitable[sift.test_reports.v1.test_reports_pb2.DeleteTestMeasurementResponse]]:
322+
"""Deletes a test measurement"""
323+
324+
def add_TestReportServiceServicer_to_server(servicer: TestReportServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...

python/lib/sift_client/_internal/low_level_wrappers/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
from sift_client._internal.low_level_wrappers.ping import PingLowLevelClient
88
from sift_client._internal.low_level_wrappers.rules import RulesLowLevelClient
99
from sift_client._internal.low_level_wrappers.runs import RunsLowLevelClient
10+
from sift_client._internal.low_level_wrappers.test_results import TestResultsLowLevelClient
11+
from sift_client._internal.low_level_wrappers.upload import UploadLowLevelClient
1012

1113
__all__ = [
1214
"AssetsLowLevelClient",
@@ -16,4 +18,6 @@
1618
"PingLowLevelClient",
1719
"RulesLowLevelClient",
1820
"RunsLowLevelClient",
21+
"TestResultsLowLevelClient",
22+
"UploadLowLevelClient",
1923
]

0 commit comments

Comments
 (0)