robotframework-openapitools 1.0.0b3__py3-none-any.whl → 1.0.0b5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. OpenApiDriver/openapi_executors.py +15 -11
  2. OpenApiDriver/openapi_reader.py +12 -13
  3. OpenApiDriver/openapidriver.libspec +5 -42
  4. OpenApiLibCore/__init__.py +0 -2
  5. OpenApiLibCore/annotations.py +8 -1
  6. OpenApiLibCore/data_generation/__init__.py +0 -2
  7. OpenApiLibCore/data_generation/body_data_generation.py +54 -73
  8. OpenApiLibCore/data_generation/data_generation_core.py +75 -82
  9. OpenApiLibCore/data_invalidation.py +38 -25
  10. OpenApiLibCore/dto_base.py +48 -105
  11. OpenApiLibCore/dto_utils.py +31 -3
  12. OpenApiLibCore/localized_faker.py +88 -0
  13. OpenApiLibCore/models.py +723 -0
  14. OpenApiLibCore/openapi_libcore.libspec +48 -284
  15. OpenApiLibCore/openapi_libcore.py +54 -71
  16. OpenApiLibCore/parameter_utils.py +20 -14
  17. OpenApiLibCore/path_functions.py +10 -10
  18. OpenApiLibCore/path_invalidation.py +5 -7
  19. OpenApiLibCore/protocols.py +13 -5
  20. OpenApiLibCore/request_data.py +67 -102
  21. OpenApiLibCore/resource_relations.py +6 -5
  22. OpenApiLibCore/validation.py +50 -167
  23. OpenApiLibCore/value_utils.py +46 -358
  24. openapi_libgen/__init__.py +0 -46
  25. openapi_libgen/command_line.py +7 -19
  26. openapi_libgen/generator.py +84 -0
  27. openapi_libgen/parsing_utils.py +9 -5
  28. openapi_libgen/spec_parser.py +41 -114
  29. {robotframework_openapitools-1.0.0b3.dist-info → robotframework_openapitools-1.0.0b5.dist-info}/METADATA +2 -1
  30. robotframework_openapitools-1.0.0b5.dist-info/RECORD +40 -0
  31. robotframework_openapitools-1.0.0b3.dist-info/RECORD +0 -37
  32. {robotframework_openapitools-1.0.0b3.dist-info → robotframework_openapitools-1.0.0b5.dist-info}/LICENSE +0 -0
  33. {robotframework_openapitools-1.0.0b3.dist-info → robotframework_openapitools-1.0.0b5.dist-info}/WHEEL +0 -0
  34. {robotframework_openapitools-1.0.0b3.dist-info → robotframework_openapitools-1.0.0b5.dist-info}/entry_points.txt +0 -0
@@ -1,13 +1,13 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <keywordspec name="OpenApiLibCore" type="LIBRARY" format="HTML" scope="SUITE" generated="2025-04-10T08:09:02+00:00" specversion="6" source="/workspaces/robotframework-openapitools/src/OpenApiLibCore/openapi_libcore.py" lineno="170">
3
- <version>1.0.0b2</version>
2
+ <keywordspec name="OpenApiLibCore" type="LIBRARY" format="HTML" scope="SUITE" generated="2025-06-09T18:38:28+00:00" specversion="6" source="/workspaces/robotframework-openapitools/src/OpenApiLibCore/openapi_libcore.py" lineno="175">
3
+ <version>1.0.0b5</version>
4
4
  <doc>&lt;p&gt;Main class providing the keywords and core logic to interact with an OpenAPI server.&lt;/p&gt;
5
5
  &lt;p&gt;Visit the &lt;a href="https://github.com/MarketSquare/robotframework-openapi-libcore"&gt;library page&lt;/a&gt; for an introduction.&lt;/p&gt;</doc>
6
6
  <tags>
7
7
  </tags>
8
8
  <inits>
9
- <init name="__init__" lineno="178">
10
- <arguments repr="source: str, origin: str = , base_path: str = , response_validation: ValidationLevel = WARN, disable_server_validation: bool = True, mappings_path: str | Path = , invalid_property_default_response: int = 422, default_id_property_name: str = id, faker_locale: str | list[str] = , require_body_for_invalid_url: bool = False, recursion_limit: int = 1, recursion_default: dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None = {}, username: str = , password: str = , security_token: str = , auth: AuthBase | None = None, cert: str | tuple[str, str] = , verify_tls: bool | str = True, extra_headers: Mapping[str, str] = {}, cookies: MutableMapping[str, str] | RequestsCookieJar | None = None, proxies: MutableMapping[str, str] | None = None">
9
+ <init name="__init__" lineno="183">
10
+ <arguments repr="source: str, origin: str = , base_path: str = , response_validation: ValidationLevel = WARN, disable_server_validation: bool = True, mappings_path: str | Path = , invalid_property_default_response: int = 422, default_id_property_name: str = id, faker_locale: str | list[str] = , require_body_for_invalid_url: bool = False, recursion_limit: int = 1, recursion_default: JSON = {}, username: str = , password: str = , security_token: str = , auth: AuthBase | None = None, cert: str | tuple[str, str] = , verify_tls: bool | str = True, extra_headers: Mapping[str, str] = {}, cookies: MutableMapping[str, str] | RequestsCookieJar | None = None, proxies: MutableMapping[str, str] | None = None">
11
11
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="source: str">
12
12
  <name>source</name>
13
13
  <type name="str" typedoc="string"/>
@@ -70,23 +70,9 @@
70
70
  <type name="int" typedoc="integer"/>
71
71
  <default>1</default>
72
72
  </arg>
73
- <arg kind="POSITIONAL_OR_NAMED" required="false" repr="recursion_default: dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None = {}">
73
+ <arg kind="POSITIONAL_OR_NAMED" required="false" repr="recursion_default: JSON = {}">
74
74
  <name>recursion_default</name>
75
- <type name="Union" union="true">
76
- <type name="dict" typedoc="dictionary">
77
- <type name="str" typedoc="string"/>
78
- <type name="JSON"/>
79
- </type>
80
- <type name="list" typedoc="list">
81
75
  <type name="JSON"/>
82
- </type>
83
- <type name="str" typedoc="string"/>
84
- <type name="bytes" typedoc="bytes"/>
85
- <type name="int" typedoc="integer"/>
86
- <type name="float" typedoc="float"/>
87
- <type name="bool" typedoc="boolean"/>
88
- <type name="None" typedoc="None"/>
89
- </type>
90
76
  <default>{}</default>
91
77
  </arg>
92
78
  <arg kind="POSITIONAL_OR_NAMED" required="false" repr="username: str = ">
@@ -222,39 +208,25 @@
222
208
  </init>
223
209
  </inits>
224
210
  <keywords>
225
- <kw name="Assert Href To Resource Is Valid" lineno="735">
226
- <arguments repr="href: str, referenced_resource: dict[str, dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None]">
211
+ <kw name="Assert Href To Resource Is Valid" lineno="729">
212
+ <arguments repr="href: str, referenced_resource: dict[str, JSON]">
227
213
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="href: str">
228
214
  <name>href</name>
229
215
  <type name="str" typedoc="string"/>
230
216
  </arg>
231
- <arg kind="POSITIONAL_OR_NAMED" required="true" repr="referenced_resource: dict[str, dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None]">
217
+ <arg kind="POSITIONAL_OR_NAMED" required="true" repr="referenced_resource: dict[str, JSON]">
232
218
  <name>referenced_resource</name>
233
219
  <type name="dict" typedoc="dictionary">
234
220
  <type name="str" typedoc="string"/>
235
- <type name="Union" union="true">
236
- <type name="dict" typedoc="dictionary">
237
- <type name="str" typedoc="string"/>
238
- <type name="JSON"/>
239
- </type>
240
- <type name="list" typedoc="list">
241
221
  <type name="JSON"/>
242
222
  </type>
243
- <type name="str" typedoc="string"/>
244
- <type name="bytes" typedoc="bytes"/>
245
- <type name="int" typedoc="integer"/>
246
- <type name="float" typedoc="float"/>
247
- <type name="bool" typedoc="boolean"/>
248
- <type name="None" typedoc="None"/>
249
- </type>
250
- </type>
251
223
  </arg>
252
224
  </arguments>
253
225
  <doc>&lt;p&gt;Attempt to GET the resource referenced by the &lt;span class="name"&gt;href&lt;/span&gt; and validate it's equal to the provided &lt;span class="name"&gt;referenced_resource&lt;/span&gt; object / dictionary.&lt;/p&gt;</doc>
254
226
  <shortdoc>Attempt to GET the resource referenced by the `href` and validate it's equal to the provided `referenced_resource` object / dictionary.</shortdoc>
255
227
  </kw>
256
- <kw name="Authorized Request" lineno="655">
257
- <arguments repr="url: str, method: str, params: dict[str, Any] | None = None, headers: dict[str, str] | None = None, json_data: dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None = None, data: Any | None = None, files: Any | None = None">
228
+ <kw name="Authorized Request" lineno="649">
229
+ <arguments repr="url: str, method: str, params: dict[str, Any] | None = None, headers: dict[str, str] | None = None, json_data: JSON | None = None, data: Any | None = None, files: Any | None = None">
258
230
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="url: str">
259
231
  <name>url</name>
260
232
  <type name="str" typedoc="string"/>
@@ -285,21 +257,10 @@
285
257
  </type>
286
258
  <default>None</default>
287
259
  </arg>
288
- <arg kind="POSITIONAL_OR_NAMED" required="false" repr="json_data: dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None = None">
260
+ <arg kind="POSITIONAL_OR_NAMED" required="false" repr="json_data: JSON | None = None">
289
261
  <name>json_data</name>
290
262
  <type name="Union" union="true">
291
- <type name="dict" typedoc="dictionary">
292
- <type name="str" typedoc="string"/>
293
- <type name="JSON"/>
294
- </type>
295
- <type name="list" typedoc="list">
296
263
  <type name="JSON"/>
297
- </type>
298
- <type name="str" typedoc="string"/>
299
- <type name="bytes" typedoc="bytes"/>
300
- <type name="int" typedoc="integer"/>
301
- <type name="float" typedoc="float"/>
302
- <type name="bool" typedoc="boolean"/>
303
264
  <type name="None" typedoc="None"/>
304
265
  </type>
305
266
  <default>None</default>
@@ -327,7 +288,7 @@
327
288
  &lt;p&gt;&amp;gt; Note: provided username / password or auth objects take precedence over token based security&lt;/p&gt;</doc>
328
289
  <shortdoc>Perform a request using the security token or authentication set in the library.</shortdoc>
329
290
  </kw>
330
- <kw name="Ensure In Use" lineno="640">
291
+ <kw name="Ensure In Use" lineno="634">
331
292
  <arguments repr="url: str, resource_relation: IdReference">
332
293
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="url: str">
333
294
  <name>url</name>
@@ -341,7 +302,7 @@
341
302
  <doc>&lt;p&gt;Ensure that the (right-most) &lt;span class="name"&gt;id&lt;/span&gt; of the resource referenced by the &lt;span class="name"&gt;url&lt;/span&gt; is used by the resource defined by the &lt;span class="name"&gt;resource_relation&lt;/span&gt;.&lt;/p&gt;</doc>
342
303
  <shortdoc>Ensure that the (right-most) `id` of the resource referenced by the `url` is used by the resource defined by the `resource_relation`.</shortdoc>
343
304
  </kw>
344
- <kw name="Get Ids From Url" lineno="605">
305
+ <kw name="Get Ids From Url" lineno="599">
345
306
  <arguments repr="url: str">
346
307
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="url: str">
347
308
  <name>url</name>
@@ -354,7 +315,7 @@
354
315
  <doc>&lt;p&gt;Perform a GET request on the &lt;span class="name"&gt;url&lt;/span&gt; and return the list of resource &lt;span class="name"&gt;ids&lt;/span&gt; from the response.&lt;/p&gt;</doc>
355
316
  <shortdoc>Perform a GET request on the `url` and return the list of resource `ids` from the response.</shortdoc>
356
317
  </kw>
357
- <kw name="Get Invalid Json Data" lineno="502">
318
+ <kw name="Get Invalid Body Data" lineno="496">
358
319
  <arguments repr="url: str, method: str, status_code: int, request_data: RequestData">
359
320
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="url: str">
360
321
  <name>url</name>
@@ -375,27 +336,13 @@
375
336
  </arguments>
376
337
  <returntype name="dict" typedoc="dictionary">
377
338
  <type name="str" typedoc="string"/>
378
- <type name="Union" union="true">
379
- <type name="dict" typedoc="dictionary">
380
- <type name="str" typedoc="string"/>
381
- <type name="JSON"/>
382
- </type>
383
- <type name="list" typedoc="list">
384
339
  <type name="JSON"/>
385
- </type>
386
- <type name="str" typedoc="string"/>
387
- <type name="bytes" typedoc="bytes"/>
388
- <type name="int" typedoc="integer"/>
389
- <type name="float" typedoc="float"/>
390
- <type name="bool" typedoc="boolean"/>
391
- <type name="None" typedoc="None"/>
392
- </type>
393
340
  </returntype>
394
341
  <doc>&lt;p&gt;Return &lt;span class="name"&gt;json_data&lt;/span&gt; based on the &lt;span class="name"&gt;dto&lt;/span&gt; on the &lt;span class="name"&gt;request_data&lt;/span&gt; that will cause the provided &lt;span class="name"&gt;status_code&lt;/span&gt; for the &lt;span class="name"&gt;method&lt;/span&gt; operation on the &lt;span class="name"&gt;url&lt;/span&gt;.&lt;/p&gt;
395
342
  &lt;p&gt;&amp;gt; Note: applicable UniquePropertyValueConstraint and IdReference Relations are considered before changes to &lt;span class="name"&gt;json_data&lt;/span&gt; are made.&lt;/p&gt;</doc>
396
343
  <shortdoc>Return `json_data` based on the `dto` on the `request_data` that will cause the provided `status_code` for the `method` operation on the `url`.</shortdoc>
397
344
  </kw>
398
- <kw name="Get Invalidated Parameters" lineno="525">
345
+ <kw name="Get Invalidated Parameters" lineno="519">
399
346
  <arguments repr="status_code: int, request_data: RequestData">
400
347
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="status_code: int">
401
348
  <name>status_code</name>
@@ -409,31 +356,17 @@
409
356
  <returntype name="tuple" typedoc="tuple">
410
357
  <type name="dict" typedoc="dictionary">
411
358
  <type name="str" typedoc="string"/>
412
- <type name="Union" union="true">
413
- <type name="dict" typedoc="dictionary">
414
- <type name="str" typedoc="string"/>
415
- <type name="JSON"/>
416
- </type>
417
- <type name="list" typedoc="list">
418
359
  <type name="JSON"/>
419
360
  </type>
420
- <type name="str" typedoc="string"/>
421
- <type name="bytes" typedoc="bytes"/>
422
- <type name="int" typedoc="integer"/>
423
- <type name="float" typedoc="float"/>
424
- <type name="bool" typedoc="boolean"/>
425
- <type name="None" typedoc="None"/>
426
- </type>
427
- </type>
428
361
  <type name="dict" typedoc="dictionary">
429
362
  <type name="str" typedoc="string"/>
430
- <type name="str" typedoc="string"/>
363
+ <type name="JSON"/>
431
364
  </type>
432
365
  </returntype>
433
366
  <doc>&lt;p&gt;Returns a version of &lt;span class="name"&gt;params, headers&lt;/span&gt; as present on &lt;span class="name"&gt;request_data&lt;/span&gt; that has been modified to cause the provided &lt;span class="name"&gt;status_code&lt;/span&gt;.&lt;/p&gt;</doc>
434
367
  <shortdoc>Returns a version of `params, headers` as present on `request_data` that has been modified to cause the provided `status_code`.</shortdoc>
435
368
  </kw>
436
- <kw name="Get Invalidated Url" lineno="615">
369
+ <kw name="Get Invalidated Url" lineno="609">
437
370
  <arguments repr="valid_url: str, path: str = , expected_status_code: int = 404">
438
371
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="valid_url: str">
439
372
  <name>valid_url</name>
@@ -452,63 +385,10 @@
452
385
  </arguments>
453
386
  <returntype name="str" typedoc="string"/>
454
387
  <doc>&lt;p&gt;Return an url with all the path parameters in the &lt;span class="name"&gt;valid_url&lt;/span&gt; replaced by a random UUID if no PathPropertiesConstraint is mapped for the &lt;span class="name"&gt;"get"&lt;/span&gt; operation on the mapped &lt;a href="#type-Path" class="name"&gt;path&lt;/a&gt; and &lt;span class="name"&gt;expected_status_code&lt;/span&gt;. If a PathPropertiesConstraint is mapped, the &lt;span class="name"&gt;invalid_value&lt;/span&gt; is returned.&lt;/p&gt;
455
- &lt;p&gt;Raises ValueError if the valid_url cannot be invalidated.&lt;/p&gt;</doc>
388
+ &lt;p&gt;Raises: ValueError if the valid_url cannot be invalidated.&lt;/p&gt;</doc>
456
389
  <shortdoc>Return an url with all the path parameters in the `valid_url` replaced by a random UUID if no PathPropertiesConstraint is mapped for the `"get"` operation on the mapped `path` and `expected_status_code`. If a PathPropertiesConstraint is mapped, the `invalid_value` is returned.</shortdoc>
457
390
  </kw>
458
- <kw name="Get Json Data For Dto Class" lineno="485">
459
- <arguments repr="schema: dict[str, dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None], dto_class: type[Dto], operation_id: str = ">
460
- <arg kind="POSITIONAL_OR_NAMED" required="true" repr="schema: dict[str, dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None]">
461
- <name>schema</name>
462
- <type name="dict" typedoc="dictionary">
463
- <type name="str" typedoc="string"/>
464
- <type name="Union" union="true">
465
- <type name="dict" typedoc="dictionary">
466
- <type name="str" typedoc="string"/>
467
- <type name="JSON"/>
468
- </type>
469
- <type name="list" typedoc="list">
470
- <type name="JSON"/>
471
- </type>
472
- <type name="str" typedoc="string"/>
473
- <type name="bytes" typedoc="bytes"/>
474
- <type name="int" typedoc="integer"/>
475
- <type name="float" typedoc="float"/>
476
- <type name="bool" typedoc="boolean"/>
477
- <type name="None" typedoc="None"/>
478
- </type>
479
- </type>
480
- </arg>
481
- <arg kind="POSITIONAL_OR_NAMED" required="true" repr="dto_class: type[Dto]">
482
- <name>dto_class</name>
483
- <type name="type">
484
- <type name="Dto"/>
485
- </type>
486
- </arg>
487
- <arg kind="POSITIONAL_OR_NAMED" required="false" repr="operation_id: str = ">
488
- <name>operation_id</name>
489
- <type name="str" typedoc="string"/>
490
- <default/>
491
- </arg>
492
- </arguments>
493
- <returntype name="Union" union="true">
494
- <type name="dict" typedoc="dictionary">
495
- <type name="str" typedoc="string"/>
496
- <type name="JSON"/>
497
- </type>
498
- <type name="list" typedoc="list">
499
- <type name="JSON"/>
500
- </type>
501
- <type name="str" typedoc="string"/>
502
- <type name="bytes" typedoc="bytes"/>
503
- <type name="int" typedoc="integer"/>
504
- <type name="float" typedoc="float"/>
505
- <type name="bool" typedoc="boolean"/>
506
- <type name="None" typedoc="None"/>
507
- </returntype>
508
- <doc>&lt;p&gt;Generate valid (json-compatible) data for the &lt;span class="name"&gt;dto_class&lt;/span&gt;.&lt;/p&gt;</doc>
509
- <shortdoc>Generate valid (json-compatible) data for the `dto_class`.</shortdoc>
510
- </kw>
511
- <kw name="Get Json Data With Conflict" lineno="541">
391
+ <kw name="Get Json Data With Conflict" lineno="535">
512
392
  <arguments repr="url: str, method: str, dto: Dto, conflict_status_code: int">
513
393
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="url: str">
514
394
  <name>url</name>
@@ -529,26 +409,12 @@
529
409
  </arguments>
530
410
  <returntype name="dict" typedoc="dictionary">
531
411
  <type name="str" typedoc="string"/>
532
- <type name="Union" union="true">
533
- <type name="dict" typedoc="dictionary">
534
- <type name="str" typedoc="string"/>
535
- <type name="JSON"/>
536
- </type>
537
- <type name="list" typedoc="list">
538
412
  <type name="JSON"/>
539
- </type>
540
- <type name="str" typedoc="string"/>
541
- <type name="bytes" typedoc="bytes"/>
542
- <type name="int" typedoc="integer"/>
543
- <type name="float" typedoc="float"/>
544
- <type name="bool" typedoc="boolean"/>
545
- <type name="None" typedoc="None"/>
546
- </type>
547
413
  </returntype>
548
414
  <doc>&lt;p&gt;Return &lt;span class="name"&gt;json_data&lt;/span&gt; based on the &lt;span class="name"&gt;UniquePropertyValueConstraint&lt;/span&gt; that must be returned by the &lt;span class="name"&gt;get_relations&lt;/span&gt; implementation on the &lt;span class="name"&gt;dto&lt;/span&gt; for the given &lt;span class="name"&gt;conflict_status_code&lt;/span&gt;.&lt;/p&gt;</doc>
549
415
  <shortdoc>Return `json_data` based on the `UniquePropertyValueConstraint` that must be returned by the `get_relations` implementation on the `dto` for the given `conflict_status_code`.</shortdoc>
550
416
  </kw>
551
- <kw name="Get Parameterized Path From Url" lineno="591">
417
+ <kw name="Get Parameterized Path From Url" lineno="585">
552
418
  <arguments repr="url: str">
553
419
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="url: str">
554
420
  <name>url</name>
@@ -559,7 +425,7 @@
559
425
  <doc>&lt;p&gt;Return the path as found in the &lt;span class="name"&gt;paths&lt;/span&gt; section based on the given &lt;span class="name"&gt;url&lt;/span&gt;.&lt;/p&gt;</doc>
560
426
  <shortdoc>Return the path as found in the `paths` section based on the given `url`.</shortdoc>
561
427
  </kw>
562
- <kw name="Get Request Data" lineno="474">
428
+ <kw name="Get Request Data" lineno="485">
563
429
  <arguments repr="path: str, method: str">
564
430
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="path: str">
565
431
  <name>path</name>
@@ -574,8 +440,8 @@
574
440
  <doc>&lt;p&gt;Return an object with valid request data for body, headers and query params.&lt;/p&gt;</doc>
575
441
  <shortdoc>Return an object with valid request data for body, headers and query params.</shortdoc>
576
442
  </kw>
577
- <kw name="Get Request Values" lineno="433">
578
- <arguments repr="path: str, method: str, overrides: Mapping[str, object] = {}">
443
+ <kw name="Get Request Values" lineno="444">
444
+ <arguments repr="path: str, method: str, overrides: Mapping[str, JSON] = {}">
579
445
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="path: str">
580
446
  <name>path</name>
581
447
  <type name="str" typedoc="string"/>
@@ -584,11 +450,11 @@
584
450
  <name>method</name>
585
451
  <type name="str" typedoc="string"/>
586
452
  </arg>
587
- <arg kind="POSITIONAL_OR_NAMED" required="false" repr="overrides: Mapping[str, object] = {}">
453
+ <arg kind="POSITIONAL_OR_NAMED" required="false" repr="overrides: Mapping[str, JSON] = {}">
588
454
  <name>overrides</name>
589
455
  <type name="Mapping" typedoc="dictionary">
590
456
  <type name="str" typedoc="string"/>
591
- <type name="object"/>
457
+ <type name="JSON"/>
592
458
  </type>
593
459
  <default>{}</default>
594
460
  </arg>
@@ -597,7 +463,7 @@
597
463
  <doc>&lt;p&gt;Return an object with all (valid) request values needed to make a request.&lt;/p&gt;</doc>
598
464
  <shortdoc>Return an object with all (valid) request values needed to make a request.</shortdoc>
599
465
  </kw>
600
- <kw name="Get Valid Id For Path" lineno="579">
466
+ <kw name="Get Valid Id For Path" lineno="573">
601
467
  <arguments repr="path: str">
602
468
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="path: str">
603
469
  <name>path</name>
@@ -613,7 +479,7 @@
613
479
  &lt;p&gt;To prevent resource conflicts with other test cases, a new resource is created (by a POST operation) if possible.&lt;/p&gt;</doc>
614
480
  <shortdoc>Support keyword that returns the `id` for an existing resource at `path`.</shortdoc>
615
481
  </kw>
616
- <kw name="Get Valid Url" lineno="560">
482
+ <kw name="Get Valid Url" lineno="554">
617
483
  <arguments repr="path: str">
618
484
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="path: str">
619
485
  <name>path</name>
@@ -626,8 +492,8 @@
626
492
  &lt;p&gt;&amp;gt; Note: if valid ids cannot be retrieved within the scope of the API, the &lt;span class="name"&gt;PathPropertiesConstraint&lt;/span&gt; Relation can be used. More information can be found &lt;a href="https://marketsquare.github.io/robotframework-openapitools/advanced_use.html"&gt;here&lt;/a&gt;.&lt;/p&gt;</doc>
627
493
  <shortdoc>This keyword returns a valid url for the given `path`.</shortdoc>
628
494
  </kw>
629
- <kw name="Perform Validated Request" lineno="704">
630
- <arguments repr="path: str, status_code: int, request_values: RequestValues, original_data: Mapping[str, object] = {}">
495
+ <kw name="Perform Validated Request" lineno="698">
496
+ <arguments repr="path: str, status_code: int, request_values: RequestValues, original_data: Mapping[str, JSON] = {}">
631
497
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="path: str">
632
498
  <name>path</name>
633
499
  <type name="str" typedoc="string"/>
@@ -640,11 +506,11 @@
640
506
  <name>request_values</name>
641
507
  <type name="RequestValues"/>
642
508
  </arg>
643
- <arg kind="POSITIONAL_OR_NAMED" required="false" repr="original_data: Mapping[str, object] = {}">
509
+ <arg kind="POSITIONAL_OR_NAMED" required="false" repr="original_data: Mapping[str, JSON] = {}">
644
510
  <name>original_data</name>
645
511
  <type name="Mapping" typedoc="dictionary">
646
512
  <type name="str" typedoc="string"/>
647
- <type name="object"/>
513
+ <type name="JSON"/>
648
514
  </type>
649
515
  <default>{}</default>
650
516
  </arg>
@@ -652,7 +518,7 @@
652
518
  <doc>&lt;p&gt;This keyword first calls the Authorized Request keyword, then the Validate Response keyword and finally validates, for &lt;span class="name"&gt;DELETE&lt;/span&gt; operations, whether the target resource was indeed deleted (OK response) or not (error responses).&lt;/p&gt;</doc>
653
519
  <shortdoc>This keyword first calls the Authorized Request keyword, then the Validate Response keyword and finally validates, for `DELETE` operations, whether the target resource was indeed deleted (OK response) or not (error responses).</shortdoc>
654
520
  </kw>
655
- <kw name="Set Auth" lineno="411">
521
+ <kw name="Set Auth" lineno="422">
656
522
  <arguments repr="auth: AuthBase">
657
523
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="auth: AuthBase">
658
524
  <name>auth</name>
@@ -663,7 +529,7 @@
663
529
  &lt;p&gt;After calling this keyword, subsequent requests will use the provided &lt;span class="name"&gt;auth&lt;/span&gt; instance.&lt;/p&gt;</doc>
664
530
  <shortdoc>Set the `auth` used for authentication after the library is imported.</shortdoc>
665
531
  </kw>
666
- <kw name="Set Basic Auth" lineno="399">
532
+ <kw name="Set Basic Auth" lineno="410">
667
533
  <arguments repr="username: str, password: str">
668
534
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="username: str">
669
535
  <name>username</name>
@@ -678,7 +544,7 @@
678
544
  &lt;p&gt;After calling this keyword, subsequent requests will use the provided credentials.&lt;/p&gt;</doc>
679
545
  <shortdoc>Set the `username` and `password` used for basic authentication after the library is imported.</shortdoc>
680
546
  </kw>
681
- <kw name="Set Extra Headers" lineno="421">
547
+ <kw name="Set Extra Headers" lineno="432">
682
548
  <arguments repr="extra_headers: dict[str, str]">
683
549
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="extra_headers: dict[str, str]">
684
550
  <name>extra_headers</name>
@@ -692,7 +558,7 @@
692
558
  &lt;p&gt;After calling this keyword, subsequent requests will use the provided &lt;span class="name"&gt;extra_headers&lt;/span&gt;.&lt;/p&gt;</doc>
693
559
  <shortdoc>Set the `extra_headers` used in requests after the library is imported.</shortdoc>
694
560
  </kw>
695
- <kw name="Set Origin" lineno="376">
561
+ <kw name="Set Origin" lineno="387">
696
562
  <arguments repr="origin: str">
697
563
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="origin: str">
698
564
  <name>origin</name>
@@ -704,7 +570,7 @@
704
570
  &lt;p&gt;In combination with OpenApiLibCore, the &lt;span class="name"&gt;origin&lt;/span&gt; can be used at any point to target another server that hosts an API that complies to the same OAS.&lt;/p&gt;</doc>
705
571
  <shortdoc>Set the `origin` after the library is imported.</shortdoc>
706
572
  </kw>
707
- <kw name="Set Security Token" lineno="390">
573
+ <kw name="Set Security Token" lineno="401">
708
574
  <arguments repr="security_token: str">
709
575
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="security_token: str">
710
576
  <name>security_token</name>
@@ -715,56 +581,8 @@
715
581
  &lt;p&gt;After calling this keyword, subsequent requests will use the provided token.&lt;/p&gt;</doc>
716
582
  <shortdoc>Set the `security_token` after the library is imported.</shortdoc>
717
583
  </kw>
718
- <kw name="Validate Resource Properties" lineno="779">
719
- <arguments repr="resource: dict[str, dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None], schema: dict[str, dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None]">
720
- <arg kind="POSITIONAL_OR_NAMED" required="true" repr="resource: dict[str, dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None]">
721
- <name>resource</name>
722
- <type name="dict" typedoc="dictionary">
723
- <type name="str" typedoc="string"/>
724
- <type name="Union" union="true">
725
- <type name="dict" typedoc="dictionary">
726
- <type name="str" typedoc="string"/>
727
- <type name="JSON"/>
728
- </type>
729
- <type name="list" typedoc="list">
730
- <type name="JSON"/>
731
- </type>
732
- <type name="str" typedoc="string"/>
733
- <type name="bytes" typedoc="bytes"/>
734
- <type name="int" typedoc="integer"/>
735
- <type name="float" typedoc="float"/>
736
- <type name="bool" typedoc="boolean"/>
737
- <type name="None" typedoc="None"/>
738
- </type>
739
- </type>
740
- </arg>
741
- <arg kind="POSITIONAL_OR_NAMED" required="true" repr="schema: dict[str, dict[str, JSON] | list[JSON] | str | bytes | int | float | bool | None]">
742
- <name>schema</name>
743
- <type name="dict" typedoc="dictionary">
744
- <type name="str" typedoc="string"/>
745
- <type name="Union" union="true">
746
- <type name="dict" typedoc="dictionary">
747
- <type name="str" typedoc="string"/>
748
- <type name="JSON"/>
749
- </type>
750
- <type name="list" typedoc="list">
751
- <type name="JSON"/>
752
- </type>
753
- <type name="str" typedoc="string"/>
754
- <type name="bytes" typedoc="bytes"/>
755
- <type name="int" typedoc="integer"/>
756
- <type name="float" typedoc="float"/>
757
- <type name="bool" typedoc="boolean"/>
758
- <type name="None" typedoc="None"/>
759
- </type>
760
- </type>
761
- </arg>
762
- </arguments>
763
- <doc>&lt;p&gt;Validate that the &lt;span class="name"&gt;resource&lt;/span&gt; does not contain any properties that are not defined in the &lt;span class="name"&gt;schema_properties&lt;/span&gt;.&lt;/p&gt;</doc>
764
- <shortdoc>Validate that the `resource` does not contain any properties that are not defined in the `schema_properties`.</shortdoc>
765
- </kw>
766
- <kw name="Validate Response" lineno="750">
767
- <arguments repr="path: str, response: Response, original_data: Mapping[str, object] = {}">
584
+ <kw name="Validate Response" lineno="744">
585
+ <arguments repr="path: str, response: Response, original_data: Mapping[str, JSON] = {}">
768
586
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="path: str">
769
587
  <name>path</name>
770
588
  <type name="str" typedoc="string"/>
@@ -773,11 +591,11 @@
773
591
  <name>response</name>
774
592
  <type name="Response"/>
775
593
  </arg>
776
- <arg kind="POSITIONAL_OR_NAMED" required="false" repr="original_data: Mapping[str, object] = {}">
594
+ <arg kind="POSITIONAL_OR_NAMED" required="false" repr="original_data: Mapping[str, JSON] = {}">
777
595
  <name>original_data</name>
778
596
  <type name="Mapping" typedoc="dictionary">
779
597
  <type name="str" typedoc="string"/>
780
- <type name="object"/>
598
+ <type name="JSON"/>
781
599
  </type>
782
600
  <default>{}</default>
783
601
  </arg>
@@ -793,7 +611,7 @@
793
611
  &lt;/ul&gt;</doc>
794
612
  <shortdoc>Validate the `response` by performing the following validations: - validate the `response` against the openapi schema for the `path` - validate that the response does not contain extra properties - validate that a href, if present, refers to the correct resource - validate that the value for a property that is in the response is equal to the property value that was send - validate that no `original_data` is preserved when performing a PUT operation - validate that a PATCH operation only updates the provided properties</shortdoc>
795
613
  </kw>
796
- <kw name="Validate Response Using Validator" lineno="724">
614
+ <kw name="Validate Response Using Validator" lineno="718">
797
615
  <arguments repr="response: Response">
798
616
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="response: Response">
799
617
  <name>response</name>
@@ -803,17 +621,17 @@
803
621
  <doc>&lt;p&gt;Validate the &lt;span class="name"&gt;response&lt;/span&gt; against the OpenAPI Spec that is loaded during library initialization.&lt;/p&gt;</doc>
804
622
  <shortdoc>Validate the `response` against the OpenAPI Spec that is loaded during library initialization.</shortdoc>
805
623
  </kw>
806
- <kw name="Validate Send Response" lineno="793">
807
- <arguments repr="response: Response, original_data: Mapping[str, object] = {}">
624
+ <kw name="Validate Send Response" lineno="774">
625
+ <arguments repr="response: Response, original_data: Mapping[str, JSON] = {}">
808
626
  <arg kind="POSITIONAL_OR_NAMED" required="true" repr="response: Response">
809
627
  <name>response</name>
810
628
  <type name="Response"/>
811
629
  </arg>
812
- <arg kind="POSITIONAL_OR_NAMED" required="false" repr="original_data: Mapping[str, object] = {}">
630
+ <arg kind="POSITIONAL_OR_NAMED" required="false" repr="original_data: Mapping[str, JSON] = {}">
813
631
  <name>original_data</name>
814
632
  <type name="Mapping" typedoc="dictionary">
815
633
  <type name="str" typedoc="string"/>
816
- <type name="object"/>
634
+ <type name="JSON"/>
817
635
  </type>
818
636
  <default>{}</default>
819
637
  </arg>
@@ -843,31 +661,6 @@
843
661
  </accepts>
844
662
  <usages>
845
663
  <usage>__init__</usage>
846
- <usage>Assert Href To Resource Is Valid</usage>
847
- <usage>Authorized Request</usage>
848
- <usage>Get Invalid Json Data</usage>
849
- <usage>Get Invalidated Parameters</usage>
850
- <usage>Get Json Data For Dto Class</usage>
851
- <usage>Get Json Data With Conflict</usage>
852
- <usage>Validate Resource Properties</usage>
853
- </usages>
854
- </type>
855
- <type name="bytes" type="Standard">
856
- <doc>&lt;p&gt;Strings are converted to bytes so that each Unicode code point below 256 is directly mapped to a matching byte. Higher code points are not allowed. Robot Framework's &lt;code&gt;\xHH&lt;/code&gt; escape syntax is convenient with bytes having non-printable values.&lt;/p&gt;
857
- &lt;p&gt;Examples: &lt;code&gt;good&lt;/code&gt;, &lt;code&gt;hyvä&lt;/code&gt; (same as &lt;code&gt;hyv\xE4&lt;/code&gt;), &lt;code&gt;\x00&lt;/code&gt; (the null byte)&lt;/p&gt;</doc>
858
- <accepts>
859
- <type>string</type>
860
- <type>bytearray</type>
861
- </accepts>
862
- <usages>
863
- <usage>__init__</usage>
864
- <usage>Assert Href To Resource Is Valid</usage>
865
- <usage>Authorized Request</usage>
866
- <usage>Get Invalid Json Data</usage>
867
- <usage>Get Invalidated Parameters</usage>
868
- <usage>Get Json Data For Dto Class</usage>
869
- <usage>Get Json Data With Conflict</usage>
870
- <usage>Validate Resource Properties</usage>
871
664
  </usages>
872
665
  </type>
873
666
  <type name="dictionary" type="Standard">
@@ -882,14 +675,12 @@
882
675
  <usage>__init__</usage>
883
676
  <usage>Assert Href To Resource Is Valid</usage>
884
677
  <usage>Authorized Request</usage>
885
- <usage>Get Invalid Json Data</usage>
678
+ <usage>Get Invalid Body Data</usage>
886
679
  <usage>Get Invalidated Parameters</usage>
887
- <usage>Get Json Data For Dto Class</usage>
888
680
  <usage>Get Json Data With Conflict</usage>
889
681
  <usage>Get Request Values</usage>
890
682
  <usage>Perform Validated Request</usage>
891
683
  <usage>Set Extra Headers</usage>
892
- <usage>Validate Resource Properties</usage>
893
684
  <usage>Validate Response</usage>
894
685
  <usage>Validate Send Response</usage>
895
686
  </usages>
@@ -903,15 +694,7 @@
903
694
  <type>Real</type>
904
695
  </accepts>
905
696
  <usages>
906
- <usage>__init__</usage>
907
- <usage>Assert Href To Resource Is Valid</usage>
908
- <usage>Authorized Request</usage>
909
- <usage>Get Invalid Json Data</usage>
910
- <usage>Get Invalidated Parameters</usage>
911
- <usage>Get Json Data For Dto Class</usage>
912
- <usage>Get Json Data With Conflict</usage>
913
697
  <usage>Get Valid Id For Path</usage>
914
- <usage>Validate Resource Properties</usage>
915
698
  </usages>
916
699
  </type>
917
700
  <type name="integer" type="Standard">
@@ -925,16 +708,12 @@
925
708
  </accepts>
926
709
  <usages>
927
710
  <usage>__init__</usage>
928
- <usage>Assert Href To Resource Is Valid</usage>
929
- <usage>Authorized Request</usage>
930
- <usage>Get Invalid Json Data</usage>
711
+ <usage>Get Invalid Body Data</usage>
931
712
  <usage>Get Invalidated Parameters</usage>
932
713
  <usage>Get Invalidated Url</usage>
933
- <usage>Get Json Data For Dto Class</usage>
934
714
  <usage>Get Json Data With Conflict</usage>
935
715
  <usage>Get Valid Id For Path</usage>
936
716
  <usage>Perform Validated Request</usage>
937
- <usage>Validate Resource Properties</usage>
938
717
  </usages>
939
718
  </type>
940
719
  <type name="list" type="Standard">
@@ -947,14 +726,7 @@
947
726
  </accepts>
948
727
  <usages>
949
728
  <usage>__init__</usage>
950
- <usage>Assert Href To Resource Is Valid</usage>
951
- <usage>Authorized Request</usage>
952
729
  <usage>Get Ids From Url</usage>
953
- <usage>Get Invalid Json Data</usage>
954
- <usage>Get Invalidated Parameters</usage>
955
- <usage>Get Json Data For Dto Class</usage>
956
- <usage>Get Json Data With Conflict</usage>
957
- <usage>Validate Resource Properties</usage>
958
730
  </usages>
959
731
  </type>
960
732
  <type name="None" type="Standard">
@@ -964,13 +736,7 @@
964
736
  </accepts>
965
737
  <usages>
966
738
  <usage>__init__</usage>
967
- <usage>Assert Href To Resource Is Valid</usage>
968
739
  <usage>Authorized Request</usage>
969
- <usage>Get Invalid Json Data</usage>
970
- <usage>Get Invalidated Parameters</usage>
971
- <usage>Get Json Data For Dto Class</usage>
972
- <usage>Get Json Data With Conflict</usage>
973
- <usage>Validate Resource Properties</usage>
974
740
  </usages>
975
741
  </type>
976
742
  <type name="Path" type="Standard">
@@ -995,10 +761,9 @@
995
761
  <usage>Authorized Request</usage>
996
762
  <usage>Ensure In Use</usage>
997
763
  <usage>Get Ids From Url</usage>
998
- <usage>Get Invalid Json Data</usage>
764
+ <usage>Get Invalid Body Data</usage>
999
765
  <usage>Get Invalidated Parameters</usage>
1000
766
  <usage>Get Invalidated Url</usage>
1001
- <usage>Get Json Data For Dto Class</usage>
1002
767
  <usage>Get Json Data With Conflict</usage>
1003
768
  <usage>Get Parameterized Path From Url</usage>
1004
769
  <usage>Get Request Data</usage>
@@ -1010,7 +775,6 @@
1010
775
  <usage>Set Extra Headers</usage>
1011
776
  <usage>Set Origin</usage>
1012
777
  <usage>Set Security Token</usage>
1013
- <usage>Validate Resource Properties</usage>
1014
778
  <usage>Validate Response</usage>
1015
779
  <usage>Validate Send Response</usage>
1016
780
  </usages>