1use super::{configuration, ContentType, Error};
12use crate::{apis::ResponseContent, models};
13use reqwest;
14use serde::{de::Error as _, Deserialize, Serialize};
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
18#[serde(untagged)]
19pub enum TestSuiteTestControllerCreateError {
20 UnknownValue(serde_json::Value),
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
25#[serde(untagged)]
26pub enum TestSuiteTestControllerFindAllPaginatedError {
27 UnknownValue(serde_json::Value),
28}
29
30#[derive(Debug, Clone, Serialize, Deserialize)]
32#[serde(untagged)]
33pub enum TestSuiteTestControllerFindOneError {
34 UnknownValue(serde_json::Value),
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
39#[serde(untagged)]
40pub enum TestSuiteTestControllerRemoveError {
41 UnknownValue(serde_json::Value),
42}
43
44#[derive(Debug, Clone, Serialize, Deserialize)]
46#[serde(untagged)]
47pub enum TestSuiteTestControllerUpdateError {
48 UnknownValue(serde_json::Value),
49}
50
51pub async fn test_suite_test_controller_create(
52 configuration: &configuration::Configuration,
53 test_suite_id: &str,
54 test_suite_test_controller_create_request: models::TestSuiteTestControllerCreateRequest,
55) -> Result<
56 models::TestSuiteTestControllerCreate201Response,
57 Error<TestSuiteTestControllerCreateError>,
58> {
59 let p_test_suite_id = test_suite_id;
61 let p_test_suite_test_controller_create_request = test_suite_test_controller_create_request;
62
63 let uri_str = format!(
64 "{}/test-suite/{testSuiteId}/test",
65 configuration.base_path,
66 testSuiteId = crate::apis::urlencode(p_test_suite_id)
67 );
68 let mut req_builder = configuration
69 .client
70 .request(reqwest::Method::POST, &uri_str);
71
72 if let Some(ref user_agent) = configuration.user_agent {
73 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
74 }
75 if let Some(ref token) = configuration.bearer_access_token {
76 req_builder = req_builder.bearer_auth(token.to_owned());
77 };
78 req_builder = req_builder.json(&p_test_suite_test_controller_create_request);
79
80 let req = req_builder.build()?;
81 let resp = configuration.client.execute(req).await?;
82
83 let status = resp.status();
84 let content_type = resp
85 .headers()
86 .get("content-type")
87 .and_then(|v| v.to_str().ok())
88 .unwrap_or("application/octet-stream");
89 let content_type = super::ContentType::from(content_type);
90
91 if !status.is_client_error() && !status.is_server_error() {
92 let content = resp.text().await?;
93 match content_type {
94 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
95 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TestSuiteTestControllerCreate201Response`"))),
96 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TestSuiteTestControllerCreate201Response`")))),
97 }
98 } else {
99 let content = resp.text().await?;
100 let entity: Option<TestSuiteTestControllerCreateError> =
101 serde_json::from_str(&content).ok();
102 Err(Error::ResponseError(ResponseContent {
103 status,
104 content,
105 entity,
106 }))
107 }
108}
109
110pub async fn test_suite_test_controller_find_all_paginated(
111 configuration: &configuration::Configuration,
112 test_suite_id: &str,
113 page: Option<f64>,
114 sort_order: Option<&str>,
115 limit: Option<f64>,
116 created_at_gt: Option<String>,
117 created_at_lt: Option<String>,
118 created_at_ge: Option<String>,
119 created_at_le: Option<String>,
120 updated_at_gt: Option<String>,
121 updated_at_lt: Option<String>,
122 updated_at_ge: Option<String>,
123 updated_at_le: Option<String>,
124) -> Result<
125 models::TestSuiteTestsPaginatedResponse,
126 Error<TestSuiteTestControllerFindAllPaginatedError>,
127> {
128 let p_test_suite_id = test_suite_id;
130 let p_page = page;
131 let p_sort_order = sort_order;
132 let p_limit = limit;
133 let p_created_at_gt = created_at_gt;
134 let p_created_at_lt = created_at_lt;
135 let p_created_at_ge = created_at_ge;
136 let p_created_at_le = created_at_le;
137 let p_updated_at_gt = updated_at_gt;
138 let p_updated_at_lt = updated_at_lt;
139 let p_updated_at_ge = updated_at_ge;
140 let p_updated_at_le = updated_at_le;
141
142 let uri_str = format!(
143 "{}/test-suite/{testSuiteId}/test",
144 configuration.base_path,
145 testSuiteId = crate::apis::urlencode(p_test_suite_id)
146 );
147 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
148
149 if let Some(ref param_value) = p_page {
150 req_builder = req_builder.query(&[("page", ¶m_value.to_string())]);
151 }
152 if let Some(ref param_value) = p_sort_order {
153 req_builder = req_builder.query(&[("sortOrder", ¶m_value.to_string())]);
154 }
155 if let Some(ref param_value) = p_limit {
156 req_builder = req_builder.query(&[("limit", ¶m_value.to_string())]);
157 }
158 if let Some(ref param_value) = p_created_at_gt {
159 req_builder = req_builder.query(&[("createdAtGt", ¶m_value.to_string())]);
160 }
161 if let Some(ref param_value) = p_created_at_lt {
162 req_builder = req_builder.query(&[("createdAtLt", ¶m_value.to_string())]);
163 }
164 if let Some(ref param_value) = p_created_at_ge {
165 req_builder = req_builder.query(&[("createdAtGe", ¶m_value.to_string())]);
166 }
167 if let Some(ref param_value) = p_created_at_le {
168 req_builder = req_builder.query(&[("createdAtLe", ¶m_value.to_string())]);
169 }
170 if let Some(ref param_value) = p_updated_at_gt {
171 req_builder = req_builder.query(&[("updatedAtGt", ¶m_value.to_string())]);
172 }
173 if let Some(ref param_value) = p_updated_at_lt {
174 req_builder = req_builder.query(&[("updatedAtLt", ¶m_value.to_string())]);
175 }
176 if let Some(ref param_value) = p_updated_at_ge {
177 req_builder = req_builder.query(&[("updatedAtGe", ¶m_value.to_string())]);
178 }
179 if let Some(ref param_value) = p_updated_at_le {
180 req_builder = req_builder.query(&[("updatedAtLe", ¶m_value.to_string())]);
181 }
182 if let Some(ref user_agent) = configuration.user_agent {
183 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
184 }
185 if let Some(ref token) = configuration.bearer_access_token {
186 req_builder = req_builder.bearer_auth(token.to_owned());
187 };
188
189 let req = req_builder.build()?;
190 let resp = configuration.client.execute(req).await?;
191
192 let status = resp.status();
193 let content_type = resp
194 .headers()
195 .get("content-type")
196 .and_then(|v| v.to_str().ok())
197 .unwrap_or("application/octet-stream");
198 let content_type = super::ContentType::from(content_type);
199
200 if !status.is_client_error() && !status.is_server_error() {
201 let content = resp.text().await?;
202 match content_type {
203 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
204 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TestSuiteTestsPaginatedResponse`"))),
205 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TestSuiteTestsPaginatedResponse`")))),
206 }
207 } else {
208 let content = resp.text().await?;
209 let entity: Option<TestSuiteTestControllerFindAllPaginatedError> =
210 serde_json::from_str(&content).ok();
211 Err(Error::ResponseError(ResponseContent {
212 status,
213 content,
214 entity,
215 }))
216 }
217}
218
219pub async fn test_suite_test_controller_find_one(
220 configuration: &configuration::Configuration,
221 test_suite_id: &str,
222 id: &str,
223) -> Result<
224 models::TestSuiteTestControllerCreate201Response,
225 Error<TestSuiteTestControllerFindOneError>,
226> {
227 let p_test_suite_id = test_suite_id;
229 let p_id = id;
230
231 let uri_str = format!(
232 "{}/test-suite/{testSuiteId}/test/{id}",
233 configuration.base_path,
234 testSuiteId = crate::apis::urlencode(p_test_suite_id),
235 id = crate::apis::urlencode(p_id)
236 );
237 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
238
239 if let Some(ref user_agent) = configuration.user_agent {
240 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
241 }
242 if let Some(ref token) = configuration.bearer_access_token {
243 req_builder = req_builder.bearer_auth(token.to_owned());
244 };
245
246 let req = req_builder.build()?;
247 let resp = configuration.client.execute(req).await?;
248
249 let status = resp.status();
250 let content_type = resp
251 .headers()
252 .get("content-type")
253 .and_then(|v| v.to_str().ok())
254 .unwrap_or("application/octet-stream");
255 let content_type = super::ContentType::from(content_type);
256
257 if !status.is_client_error() && !status.is_server_error() {
258 let content = resp.text().await?;
259 match content_type {
260 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
261 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TestSuiteTestControllerCreate201Response`"))),
262 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TestSuiteTestControllerCreate201Response`")))),
263 }
264 } else {
265 let content = resp.text().await?;
266 let entity: Option<TestSuiteTestControllerFindOneError> =
267 serde_json::from_str(&content).ok();
268 Err(Error::ResponseError(ResponseContent {
269 status,
270 content,
271 entity,
272 }))
273 }
274}
275
276pub async fn test_suite_test_controller_remove(
277 configuration: &configuration::Configuration,
278 test_suite_id: &str,
279 id: &str,
280) -> Result<
281 models::TestSuiteTestControllerCreate201Response,
282 Error<TestSuiteTestControllerRemoveError>,
283> {
284 let p_test_suite_id = test_suite_id;
286 let p_id = id;
287
288 let uri_str = format!(
289 "{}/test-suite/{testSuiteId}/test/{id}",
290 configuration.base_path,
291 testSuiteId = crate::apis::urlencode(p_test_suite_id),
292 id = crate::apis::urlencode(p_id)
293 );
294 let mut req_builder = configuration
295 .client
296 .request(reqwest::Method::DELETE, &uri_str);
297
298 if let Some(ref user_agent) = configuration.user_agent {
299 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
300 }
301 if let Some(ref token) = configuration.bearer_access_token {
302 req_builder = req_builder.bearer_auth(token.to_owned());
303 };
304
305 let req = req_builder.build()?;
306 let resp = configuration.client.execute(req).await?;
307
308 let status = resp.status();
309 let content_type = resp
310 .headers()
311 .get("content-type")
312 .and_then(|v| v.to_str().ok())
313 .unwrap_or("application/octet-stream");
314 let content_type = super::ContentType::from(content_type);
315
316 if !status.is_client_error() && !status.is_server_error() {
317 let content = resp.text().await?;
318 match content_type {
319 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
320 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TestSuiteTestControllerCreate201Response`"))),
321 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TestSuiteTestControllerCreate201Response`")))),
322 }
323 } else {
324 let content = resp.text().await?;
325 let entity: Option<TestSuiteTestControllerRemoveError> =
326 serde_json::from_str(&content).ok();
327 Err(Error::ResponseError(ResponseContent {
328 status,
329 content,
330 entity,
331 }))
332 }
333}
334
335pub async fn test_suite_test_controller_update(
336 configuration: &configuration::Configuration,
337 test_suite_id: &str,
338 id: &str,
339 test_suite_test_controller_update_request: models::TestSuiteTestControllerUpdateRequest,
340) -> Result<
341 models::TestSuiteTestControllerCreate201Response,
342 Error<TestSuiteTestControllerUpdateError>,
343> {
344 let p_test_suite_id = test_suite_id;
346 let p_id = id;
347 let p_test_suite_test_controller_update_request = test_suite_test_controller_update_request;
348
349 let uri_str = format!(
350 "{}/test-suite/{testSuiteId}/test/{id}",
351 configuration.base_path,
352 testSuiteId = crate::apis::urlencode(p_test_suite_id),
353 id = crate::apis::urlencode(p_id)
354 );
355 let mut req_builder = configuration
356 .client
357 .request(reqwest::Method::PATCH, &uri_str);
358
359 if let Some(ref user_agent) = configuration.user_agent {
360 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
361 }
362 if let Some(ref token) = configuration.bearer_access_token {
363 req_builder = req_builder.bearer_auth(token.to_owned());
364 };
365 req_builder = req_builder.json(&p_test_suite_test_controller_update_request);
366
367 let req = req_builder.build()?;
368 let resp = configuration.client.execute(req).await?;
369
370 let status = resp.status();
371 let content_type = resp
372 .headers()
373 .get("content-type")
374 .and_then(|v| v.to_str().ok())
375 .unwrap_or("application/octet-stream");
376 let content_type = super::ContentType::from(content_type);
377
378 if !status.is_client_error() && !status.is_server_error() {
379 let content = resp.text().await?;
380 match content_type {
381 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
382 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TestSuiteTestControllerCreate201Response`"))),
383 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TestSuiteTestControllerCreate201Response`")))),
384 }
385 } else {
386 let content = resp.text().await?;
387 let entity: Option<TestSuiteTestControllerUpdateError> =
388 serde_json::from_str(&content).ok();
389 Err(Error::ResponseError(ResponseContent {
390 status,
391 content,
392 entity,
393 }))
394 }
395}