robotframework-openapitools 1.0.0b4__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 (30) hide show
  1. OpenApiDriver/openapi_executors.py +7 -3
  2. OpenApiDriver/openapidriver.libspec +3 -3
  3. OpenApiLibCore/__init__.py +0 -0
  4. OpenApiLibCore/data_generation/__init__.py +0 -0
  5. OpenApiLibCore/data_generation/body_data_generation.py +4 -4
  6. OpenApiLibCore/data_generation/data_generation_core.py +18 -45
  7. OpenApiLibCore/data_invalidation.py +1 -5
  8. OpenApiLibCore/dto_base.py +31 -22
  9. OpenApiLibCore/dto_utils.py +31 -3
  10. OpenApiLibCore/localized_faker.py +0 -0
  11. OpenApiLibCore/models.py +26 -18
  12. OpenApiLibCore/openapi_libcore.libspec +26 -26
  13. OpenApiLibCore/openapi_libcore.py +35 -26
  14. OpenApiLibCore/parameter_utils.py +3 -3
  15. OpenApiLibCore/path_functions.py +5 -6
  16. OpenApiLibCore/path_invalidation.py +5 -7
  17. OpenApiLibCore/protocols.py +6 -0
  18. OpenApiLibCore/request_data.py +0 -0
  19. OpenApiLibCore/resource_relations.py +4 -2
  20. OpenApiLibCore/validation.py +4 -9
  21. OpenApiLibCore/value_utils.py +1 -1
  22. openapi_libgen/generator.py +2 -2
  23. openapi_libgen/parsing_utils.py +9 -5
  24. openapi_libgen/spec_parser.py +4 -4
  25. {robotframework_openapitools-1.0.0b4.dist-info → robotframework_openapitools-1.0.0b5.dist-info}/METADATA +1 -1
  26. robotframework_openapitools-1.0.0b5.dist-info/RECORD +40 -0
  27. robotframework_openapitools-1.0.0b4.dist-info/RECORD +0 -40
  28. {robotframework_openapitools-1.0.0b4.dist-info → robotframework_openapitools-1.0.0b5.dist-info}/LICENSE +0 -0
  29. {robotframework_openapitools-1.0.0b4.dist-info → robotframework_openapitools-1.0.0b5.dist-info}/WHEEL +0 -0
  30. {robotframework_openapitools-1.0.0b4.dist-info → robotframework_openapitools-1.0.0b5.dist-info}/entry_points.txt +0 -0
@@ -8,16 +8,20 @@ def remove_unsafe_characters_from_string(string: str) -> str:
8
8
  string_iterator = iter(string)
9
9
  capitalize_next_character = False
10
10
 
11
- for character in string_iterator:
12
- if character.isalpha():
13
- yield character
14
- break
11
+ # The first character must be A-z or _
12
+ first_character = next(string_iterator, "_")
13
+ if first_character.isalpha() or first_character == "_":
14
+ yield first_character
15
+ elif first_character.isnumeric():
16
+ yield "_" + first_character
15
17
 
16
18
  for character in string_iterator:
17
19
  if character.isalnum():
18
20
  if capitalize_next_character:
19
21
  capitalize_next_character = False
20
- yield character
22
+ yield character.upper()
23
+ else:
24
+ yield character
21
25
 
22
26
  elif not capitalize_next_character:
23
27
  capitalize_next_character = True
@@ -79,7 +79,7 @@ def get_keyword_signature(operation_details: OperationDetails) -> str:
79
79
  else:
80
80
  keyword_name = remove_unsafe_characters_from_string(
81
81
  f"{operation_details.method}_{operation_details.path}"
82
- )
82
+ ).lower()
83
83
 
84
84
  parameters = operation_details.parameters or []
85
85
  path_parameters = [p for p in parameters if p.in_ == "path" and p.schema_]
@@ -93,7 +93,7 @@ def get_keyword_signature(operation_details: OperationDetails) -> str:
93
93
  keyword_argument_names: set[str] = set()
94
94
 
95
95
  for parameter in path_parameters:
96
- annotation = f"{parameter.schema_.annotation_string} = UNSET"
96
+ annotation = f"{parameter.schema_.annotation_string} = UNSET" # type: ignore[union-attr]
97
97
  safe_name = get_safe_name_for_oas_name(parameter.name)
98
98
  keyword_argument_names.add(safe_name)
99
99
  argument = f", {safe_name}: {annotation}"
@@ -120,7 +120,7 @@ def get_keyword_signature(operation_details: OperationDetails) -> str:
120
120
  arguments += argument
121
121
 
122
122
  for parameter in query_parameters:
123
- annotation = f"{parameter.schema_.annotation_string} = UNSET"
123
+ annotation = f"{parameter.schema_.annotation_string} = UNSET" # type: ignore[union-attr]
124
124
  safe_name = get_safe_name_for_oas_name(parameter.name)
125
125
  if safe_name in keyword_argument_names:
126
126
  safe_name = "query_" + safe_name
@@ -129,7 +129,7 @@ def get_keyword_signature(operation_details: OperationDetails) -> str:
129
129
  arguments += argument
130
130
 
131
131
  for parameter in header_parameters:
132
- annotation = f"{parameter.schema_.annotation_string} = UNSET"
132
+ annotation = f"{parameter.schema_.annotation_string} = UNSET" # type: ignore[union-attr]
133
133
  safe_name = get_safe_name_for_oas_name(parameter.name)
134
134
  if safe_name in keyword_argument_names:
135
135
  safe_name = "header_" + safe_name
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: robotframework-openapitools
3
- Version: 1.0.0b4
3
+ Version: 1.0.0b5
4
4
  Summary: A set of Robot Framework libraries to test APIs for which the OAS is available.
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -0,0 +1,40 @@
1
+ OpenApiDriver/__init__.py,sha256=YjHr-j8g9KwRriNCw_ABvCEbUEp118J70xeJ_t7qcas,1453
2
+ OpenApiDriver/openapi_executors.py,sha256=uVXECVQV6cn7dwJ1so_A736f_ziPUi55094UKA2SNoE,12721
3
+ OpenApiDriver/openapi_reader.py,sha256=1M3nFRRLgD3Vepiru_jqYgVrnkRznFpR7lzdUKetxYw,4340
4
+ OpenApiDriver/openapidriver.libspec,sha256=0wDFhYoYqsP8lfkgVZ5IVokpmwAtb8k3EFeQL6_s26s,26481
5
+ OpenApiDriver/openapidriver.py,sha256=vypR00YZS3ygGfFxdUedLdCm_f_bWDLMpD1vb49-O0A,15321
6
+ OpenApiDriver/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ OpenApiLibCore/__init__.py,sha256=CGfgD0W2GcRDc5Q-tDpWk4IDpUmdCSZVPZ18a_KN-co,1733
8
+ OpenApiLibCore/annotations.py,sha256=YmvWKTbhyxRk2aWFra3v-3p30e96TFJ-CV9f3X90rPs,238
9
+ OpenApiLibCore/data_generation/__init__.py,sha256=NJViPQGHkczF2gxfS0wE2vE3wCRU9ixDEwHPMZApu6A,206
10
+ OpenApiLibCore/data_generation/body_data_generation.py,sha256=GkoQec3hEbpRr_hMwFJjFDjACQ776Uj3x3bhmB4TJVo,8348
11
+ OpenApiLibCore/data_generation/data_generation_core.py,sha256=MUjMJR5luhuPIU9fO5DflJhB0a6LVrHHoTqpEajXqxM,7938
12
+ OpenApiLibCore/data_invalidation.py,sha256=UqCQe62fkTUQdYofbVpBBS11kFeOsN6DJHCRFy0FC9w,11158
13
+ OpenApiLibCore/dto_base.py,sha256=r7tek0Ui-Zl05Dk1jXAUT00SfcUuN7mprXolHSMXMaI,9313
14
+ OpenApiLibCore/dto_utils.py,sha256=-mpG2tsjRuldDH9hms1hay6kDNNvVXl7XzLu8RUxjIg,4173
15
+ OpenApiLibCore/localized_faker.py,sha256=-Z3ry6V7xIkmAlUq70a1L_OspAPZTDFt4RFo3zj4Llo,2205
16
+ OpenApiLibCore/models.py,sha256=EfSxhcY78qTVyzWp4wHLE5h1kYR4QhjGQ-mkmIwgxg4,22813
17
+ OpenApiLibCore/oas_cache.py,sha256=Z2v0mn6JwKchbUKojYVt9sXi8Mc4LoENtN_ekTUtzfI,387
18
+ OpenApiLibCore/openapi_libcore.libspec,sha256=YQUtfd21f2UKKGPItrhqkDzS7Enk_z6hAwiXgxE9O4M,44120
19
+ OpenApiLibCore/openapi_libcore.py,sha256=P2Uxd5QNM8bFKPHnNPl-Kjh-3Qf_3oKTn1frbD-FxRg,36070
20
+ OpenApiLibCore/parameter_utils.py,sha256=Df1RajxtZNLD5UDFEBxprxKpGiUn52SeG04Ms96JnDA,3527
21
+ OpenApiLibCore/path_functions.py,sha256=8WW4BA14hNDx4dD_F40EGZSgDWO3yk5CxhrjqGpIkeU,8002
22
+ OpenApiLibCore/path_invalidation.py,sha256=RIf6pZIszz13nfuIQzOzK8sXZCrFSmEbXivfpc1jGRg,1435
23
+ OpenApiLibCore/protocols.py,sha256=qvCLUohC8OZhTxtabYPLJE0gGWB9L6GHwdGT1T8zKpM,1072
24
+ OpenApiLibCore/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ OpenApiLibCore/request_data.py,sha256=KK-pPyfZUJGh9uPNUrvYb-DxumPGH9vcqJ_bdKJnmYw,8887
26
+ OpenApiLibCore/resource_relations.py,sha256=38Cd9FVvV0FCiTMc5uQleRVyQFbvnGaoiXOruKcOpag,1773
27
+ OpenApiLibCore/validation.py,sha256=xdWLaYslwlbBesaBzJfoQeCuseiCSZyCdFC7JLGqGQQ,14977
28
+ OpenApiLibCore/value_utils.py,sha256=6DcTSpYlo_moAY04K45iSvREQXtO5d9IK8ln5RAaims,7545
29
+ openapi_libgen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ openapi_libgen/command_line.py,sha256=rWByjZDPYYra6WOsINL2zj5Ny3YSIXiTrhRjSBA4FRE,2380
31
+ openapi_libgen/generator.py,sha256=tO-ZKVqk9s5lx0Pz7Mzq5ChiZp-hOVomrrI3yiCqU_g,2767
32
+ openapi_libgen/parsing_utils.py,sha256=ORJJq8QNPMFUI_shdzeRFYydyy9YsEm0TaWrpqqZubI,1039
33
+ openapi_libgen/spec_parser.py,sha256=lfYwwmGO0gsZH5gHttccxIxltI-2JSAAJma0k03tmRg,6414
34
+ openapi_libgen/templates/__init__.jinja,sha256=92OFwNzeO7lEiUBv04GfjKXA1088V7GbeneASBShbmc,102
35
+ openapi_libgen/templates/library.jinja,sha256=tIwJuGerOUJmMt928P_38MMfcnSHZqcPDPEJ56R6wT0,952
36
+ robotframework_openapitools-1.0.0b5.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
37
+ robotframework_openapitools-1.0.0b5.dist-info/METADATA,sha256=cAM9pwMYq_C2u-ZE-79_w-gmamnhSHrLpC5Ps3zYTck,19102
38
+ robotframework_openapitools-1.0.0b5.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
39
+ robotframework_openapitools-1.0.0b5.dist-info/entry_points.txt,sha256=_yd5PITEJf85hIEsrRkkWxXePf_O9YOOUjON3TYLy0c,69
40
+ robotframework_openapitools-1.0.0b5.dist-info/RECORD,,
@@ -1,40 +0,0 @@
1
- OpenApiDriver/__init__.py,sha256=YjHr-j8g9KwRriNCw_ABvCEbUEp118J70xeJ_t7qcas,1453
2
- OpenApiDriver/openapi_executors.py,sha256=4rBaRiVquPkWgTFMSeKbDqWi6ZlYOwcHDkNwotb9TPc,12536
3
- OpenApiDriver/openapi_reader.py,sha256=1M3nFRRLgD3Vepiru_jqYgVrnkRznFpR7lzdUKetxYw,4340
4
- OpenApiDriver/openapidriver.libspec,sha256=fxh2m7HAO_xK-TyEWlgbm8SeFC-iKcJD4vbHM-uCHvM,26481
5
- OpenApiDriver/openapidriver.py,sha256=vypR00YZS3ygGfFxdUedLdCm_f_bWDLMpD1vb49-O0A,15321
6
- OpenApiDriver/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- OpenApiLibCore/__init__.py,sha256=CGfgD0W2GcRDc5Q-tDpWk4IDpUmdCSZVPZ18a_KN-co,1733
8
- OpenApiLibCore/annotations.py,sha256=YmvWKTbhyxRk2aWFra3v-3p30e96TFJ-CV9f3X90rPs,238
9
- OpenApiLibCore/data_generation/__init__.py,sha256=NJViPQGHkczF2gxfS0wE2vE3wCRU9ixDEwHPMZApu6A,206
10
- OpenApiLibCore/data_generation/body_data_generation.py,sha256=s7lBsh3Tr9lMKfgDYhY2ROTKVIpVGHDUgNh-65U5i-4,8266
11
- OpenApiLibCore/data_generation/data_generation_core.py,sha256=UKtKnD7nnOZhiZOIHTZh5Fg5xMMW3M10ofgmGjiRhtI,9004
12
- OpenApiLibCore/data_invalidation.py,sha256=UjNUWXASk7AqqDkGx-3mU7SFb46pjP-A5Q5u1xXksrA,11293
13
- OpenApiLibCore/dto_base.py,sha256=CF7a8XPcRjWnHuRap_dV8Pcw3f18vxzEHQ5bhO0-FiE,9108
14
- OpenApiLibCore/dto_utils.py,sha256=5dvMYM2Nt9gXq6GGTGJjU5Z75x9p9ky-1V01aLTZgX8,3177
15
- OpenApiLibCore/localized_faker.py,sha256=-Z3ry6V7xIkmAlUq70a1L_OspAPZTDFt4RFo3zj4Llo,2205
16
- OpenApiLibCore/models.py,sha256=dHpduBUtbLkxJHsVF5kgt-qCku6Lq1TijD-8-U5By2Q,22423
17
- OpenApiLibCore/oas_cache.py,sha256=Z2v0mn6JwKchbUKojYVt9sXi8Mc4LoENtN_ekTUtzfI,387
18
- OpenApiLibCore/openapi_libcore.libspec,sha256=VX97Z7bPQLdt7uuhskGgUGoZc1klE7m63i5mrWtUPVM,44119
19
- OpenApiLibCore/openapi_libcore.py,sha256=xyHVShyEvSmBNMVlyK1N8TOT4QReTfvZ3vF7HrsB-Gw,35432
20
- OpenApiLibCore/parameter_utils.py,sha256=SifTQu-VyPw5jvAbzHdPBHX04PeF2Y5HEp-UNBk_9Ho,3530
21
- OpenApiLibCore/path_functions.py,sha256=JYsJT76DdQtlGLqMwzYKj_EkSkNkRrVcXN3JfTe0CDg,8097
22
- OpenApiLibCore/path_invalidation.py,sha256=2iYjkskMV-7lWu_id_LbVIiumffMWZicqoIKeewqpFA,1539
23
- OpenApiLibCore/protocols.py,sha256=lzUJ2meBvqUoJrqBa3mS-63SaPeNelQngkMvW_BgzG4,877
24
- OpenApiLibCore/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- OpenApiLibCore/request_data.py,sha256=KK-pPyfZUJGh9uPNUrvYb-DxumPGH9vcqJ_bdKJnmYw,8887
26
- OpenApiLibCore/resource_relations.py,sha256=m2MDNIqhyCgnJCJ9nTLG4P_T7RflkCVyUM9V82VxKI0,1733
27
- OpenApiLibCore/validation.py,sha256=q5qeAVKKmLkCMCPRt7-SG0IXSCk3F_USy-7kPQ5tjOQ,15235
28
- OpenApiLibCore/value_utils.py,sha256=_x7bjrSyozIqzlnoo9KjguM322q-pDob5EOMpDpH7do,7519
29
- openapi_libgen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- openapi_libgen/command_line.py,sha256=rWByjZDPYYra6WOsINL2zj5Ny3YSIXiTrhRjSBA4FRE,2380
31
- openapi_libgen/generator.py,sha256=kK5SxhTJ4uFBoKegXuYwlE-qMMKEccC4T3_BHYZ3yBg,2727
32
- openapi_libgen/parsing_utils.py,sha256=d_N-v619SR6iyolz65IGN12H5wMUA8dzPuG1l7rv5gg,821
33
- openapi_libgen/spec_parser.py,sha256=6yZTJOdzXZ-ew__0dpm6XOAmBSfC3e91URI333ujIAg,6322
34
- openapi_libgen/templates/__init__.jinja,sha256=92OFwNzeO7lEiUBv04GfjKXA1088V7GbeneASBShbmc,102
35
- openapi_libgen/templates/library.jinja,sha256=tIwJuGerOUJmMt928P_38MMfcnSHZqcPDPEJ56R6wT0,952
36
- robotframework_openapitools-1.0.0b4.dist-info/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
37
- robotframework_openapitools-1.0.0b4.dist-info/METADATA,sha256=Zy0USPxvhvKpVnVSBeR0-bAc3560wWZ2tFAB69Rap7c,19102
38
- robotframework_openapitools-1.0.0b4.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
39
- robotframework_openapitools-1.0.0b4.dist-info/entry_points.txt,sha256=_yd5PITEJf85hIEsrRkkWxXePf_O9YOOUjON3TYLy0c,69
40
- robotframework_openapitools-1.0.0b4.dist-info/RECORD,,