holado 0.8.0__py3-none-any.whl → 0.8.1__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.
Potentially problematic release.
This version of holado might be problematic. Click here for more details.
- holado/common/context/context.py +1 -4
- holado/common/context/session_context.py +1 -2
- {holado-0.8.0.dist-info → holado-0.8.1.dist-info}/METADATA +3 -8
- {holado-0.8.0.dist-info → holado-0.8.1.dist-info}/RECORD +12 -12
- holado_docker/tools/docker_controller/server/rest/api/config.py +8 -0
- holado_docker/tools/docker_controller/server/rest/openapi.yaml +18 -1
- holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +16 -16
- holado_python/standard_library/ssl/resources/certificates/tcpbin.key +26 -26
- holado_system/tests/behave/steps/system/file_steps.py +13 -6
- holado_test/scenario/step_tools.py +22 -0
- {holado-0.8.0.dist-info → holado-0.8.1.dist-info}/WHEEL +0 -0
- {holado-0.8.0.dist-info → holado-0.8.1.dist-info}/licenses/LICENSE +0 -0
holado/common/context/context.py
CHANGED
|
@@ -39,10 +39,6 @@ class Context(DeleteableObject):
|
|
|
39
39
|
self.__persisted_method_to_call_manager_inst = None
|
|
40
40
|
self.__post_process_funcs = []
|
|
41
41
|
|
|
42
|
-
def initialize(self):
|
|
43
|
-
if self.__with_post_process:
|
|
44
|
-
self.__persisted_method_to_call_manager.ensure_persistent_db_exists()
|
|
45
|
-
|
|
46
42
|
@property
|
|
47
43
|
def __with_post_process(self):
|
|
48
44
|
return hasattr(self, '_Context__persisted_method_to_call_manager_inst')
|
|
@@ -61,6 +57,7 @@ class Context(DeleteableObject):
|
|
|
61
57
|
from holado_core.common.resource.persisted_method_to_call_manager import PersistedMethodToCallManager
|
|
62
58
|
self.__persisted_method_to_call_manager_inst = PersistedMethodToCallManager(scope_name=self.name, **self.__persisted_kwargs)
|
|
63
59
|
self.__persisted_method_to_call_manager_inst.initialize(SessionContext.instance().resource_manager, SessionContext.instance().expression_evaluator)
|
|
60
|
+
self.__persisted_method_to_call_manager_inst.ensure_persistent_db_exists()
|
|
64
61
|
return self.__persisted_method_to_call_manager_inst
|
|
65
62
|
|
|
66
63
|
def get_context_name(self):
|
|
@@ -120,7 +120,7 @@ class SessionContext(Context):
|
|
|
120
120
|
"""
|
|
121
121
|
Override this method to initialize the session context after its configuration and new session creation.
|
|
122
122
|
"""
|
|
123
|
-
|
|
123
|
+
pass
|
|
124
124
|
|
|
125
125
|
@property
|
|
126
126
|
def services(self):
|
|
@@ -292,7 +292,6 @@ class SessionContext(Context):
|
|
|
292
292
|
# Create and initialize ScenarioContext
|
|
293
293
|
scenario_context = ScenarioContext(scenario)
|
|
294
294
|
self.get_feature_context().add_scenario(scenario_context)
|
|
295
|
-
scenario_context.initialize()
|
|
296
295
|
|
|
297
296
|
# Set variable with scenario context instance
|
|
298
297
|
self.get_scenario_context().get_variable_manager().register_variable("SCENARIO_CONTEXT", self.get_scenario_context())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: holado
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.1
|
|
4
4
|
Summary: HolAdo framework
|
|
5
5
|
Project-URL: Homepage, https://gitlab.com/holado_framework/python
|
|
6
6
|
Project-URL: Issues, https://gitlab.com/holado_framework/python/-/issues
|
|
@@ -17,7 +17,9 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
17
17
|
Requires-Python: >=3.10
|
|
18
18
|
Requires-Dist: behave==1.2.7.dev6
|
|
19
19
|
Requires-Dist: psutil
|
|
20
|
+
Requires-Dist: pypika
|
|
20
21
|
Requires-Dist: python-dateutil
|
|
22
|
+
Requires-Dist: sql-metadata
|
|
21
23
|
Provides-Extra: ais
|
|
22
24
|
Requires-Dist: pyais; extra == 'ais'
|
|
23
25
|
Provides-Extra: all
|
|
@@ -43,25 +45,18 @@ Requires-Dist: psycopg-binary; extra == 'all'
|
|
|
43
45
|
Requires-Dist: pyais; extra == 'all'
|
|
44
46
|
Requires-Dist: pympler; extra == 'all'
|
|
45
47
|
Requires-Dist: pyopenssl; extra == 'all'
|
|
46
|
-
Requires-Dist: pypika; extra == 'all'
|
|
47
48
|
Requires-Dist: pysftp; extra == 'all'
|
|
48
49
|
Requires-Dist: redis; extra == 'all'
|
|
49
50
|
Requires-Dist: redis-om; extra == 'all'
|
|
50
51
|
Requires-Dist: ruamel-yaml; extra == 'all'
|
|
51
52
|
Requires-Dist: sftpserver; extra == 'all'
|
|
52
|
-
Requires-Dist: sql-metadata; extra == 'all'
|
|
53
53
|
Requires-Dist: truststore; extra == 'all'
|
|
54
54
|
Requires-Dist: zeep; extra == 'all'
|
|
55
55
|
Provides-Extra: api-connexion
|
|
56
56
|
Requires-Dist: connexion[flask,swagger-ui,uvicorn]; extra == 'api-connexion'
|
|
57
|
-
Provides-Extra: db
|
|
58
|
-
Requires-Dist: pypika; extra == 'db'
|
|
59
|
-
Requires-Dist: sql-metadata; extra == 'db'
|
|
60
57
|
Provides-Extra: db-postgresql
|
|
61
58
|
Requires-Dist: psycopg; extra == 'db-postgresql'
|
|
62
59
|
Requires-Dist: psycopg-binary; extra == 'db-postgresql'
|
|
63
|
-
Requires-Dist: pypika; extra == 'db-postgresql'
|
|
64
|
-
Requires-Dist: sql-metadata; extra == 'db-postgresql'
|
|
65
60
|
Provides-Extra: docker
|
|
66
61
|
Requires-Dist: docker; extra == 'docker'
|
|
67
62
|
Provides-Extra: docker-tools
|
|
@@ -2,9 +2,9 @@ holado/__init__.py,sha256=ibxjS0XIck0rguf8FT_3HftofWmJqyfWraxjczMzzrw,14895
|
|
|
2
2
|
holado/holado_config.py,sha256=H1Wgndhz133nm0OcqS5hD6oDxZbDD_DeHJsKOuenQrI,2588
|
|
3
3
|
holado/common/__init__.py,sha256=ZjXM-FRQgnfzRNXqcvJOGewDHVRR-U5-ugStSs8U2Xs,1525
|
|
4
4
|
holado/common/context/__init__.py,sha256=3jJBLm8myrYF9jbdV1EhIA6BtnlmjX33eeoDpTzwmLA,1604
|
|
5
|
-
holado/common/context/context.py,sha256=
|
|
5
|
+
holado/common/context/context.py,sha256=MV8A6JSpUcTcfia_QzjyDLybQC50rZ-NA0ffotnHXQY,11994
|
|
6
6
|
holado/common/context/service_manager.py,sha256=LaCn8ukE1aqJynmwoexAYj5hCkdb_F3hXRtUBGqorUE,14087
|
|
7
|
-
holado/common/context/session_context.py,sha256=
|
|
7
|
+
holado/common/context/session_context.py,sha256=pNiJlyLsIiwdBCUb3aMQmTJB7ZnO0NsDMvluSd7_ZjE,23122
|
|
8
8
|
holado/common/handlers/__init__.py,sha256=d0KDUpaAAw1eBXyX08gaRh4RECnJlXjYQ0TcU-Ndicc,1372
|
|
9
9
|
holado/common/handlers/enums.py,sha256=ieqKVoukEiNyfE3KrKmMOImdbFS1ocUMud8JHe2xNLs,1662
|
|
10
10
|
holado/common/handlers/object.py,sha256=rDaav8zHTYfKVEaLtEdeXMxYXATGVcs2a7um1f5MvCs,7205
|
|
@@ -204,10 +204,10 @@ holado_docker/tools/docker_controller/server/grpc/proto/compile_proto.py,sha256=
|
|
|
204
204
|
holado_docker/tools/docker_controller/server/grpc/proto/definitions/docker_controler.proto,sha256=n9bsXaQfnZX-R5HvfquCVt3QjpFtDJSH6p8gnTjm06k,1650
|
|
205
205
|
holado_docker/tools/docker_controller/server/rest/README,sha256=-uqu3drdPXkPkU4ha1IKcXGBHFIBEWH-uiTT74DExwE,167
|
|
206
206
|
holado_docker/tools/docker_controller/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
207
|
-
holado_docker/tools/docker_controller/server/rest/openapi.yaml,sha256=
|
|
207
|
+
holado_docker/tools/docker_controller/server/rest/openapi.yaml,sha256=HUD7CHasVGjpd6yW9mU0sWOKs4tuG_VSoefa7NuQWFI,6773
|
|
208
208
|
holado_docker/tools/docker_controller/server/rest/run.py,sha256=8w5Xl7uOnjsYW59cmuUMOUd71fcXQn30k2jVis7cVNs,1748
|
|
209
209
|
holado_docker/tools/docker_controller/server/rest/api/__init__.py,sha256=FlLRagAiw1LDxnF0CmW7Y6bVXuj8x6volT8-DuHTTVY,2427
|
|
210
|
-
holado_docker/tools/docker_controller/server/rest/api/config.py,sha256=
|
|
210
|
+
holado_docker/tools/docker_controller/server/rest/api/config.py,sha256=pe76IMkdNoljRsDRyhZW6BwkSSu6LsvnSEGqgd8_Ro4,2459
|
|
211
211
|
holado_docker/tools/docker_controller/server/rest/api/container.py,sha256=6D612WF4chpDCzr4MBzZXzELxi-yOwrgxCxSBBVMcVo,2673
|
|
212
212
|
holado_docker/tools/docker_controller/server/rest/api/os.py,sha256=ZdAbx_ZzwMaqHseOWWSf9ZPL_CEdRa2RvEXGvkk5c1o,1830
|
|
213
213
|
holado_docker/tools/docker_viewer/docker_viewer_manager.py,sha256=tSLuIUdYjJoZIFUc1k4WnrRTUtjjTAmNTbrDmS-8SjI,2287
|
|
@@ -363,8 +363,8 @@ holado_python/standard_library/ssl/resources/certificates/NOTES.txt,sha256=GlPGG
|
|
|
363
363
|
holado_python/standard_library/ssl/resources/certificates/localhost.crt,sha256=iLmZpDuOQVawUlbZkb72g2-uv1c4SAmRJOrm4Th5anY,1123
|
|
364
364
|
holado_python/standard_library/ssl/resources/certificates/localhost.key,sha256=lP2NCvB9mr2E5sk8whA8FyQRcyU6H7sdWkJeKz80Hyc,1704
|
|
365
365
|
holado_python/standard_library/ssl/resources/certificates/rootCACert.pem,sha256=ECQDZ8OHRfqpZHCu6JRLMUjiONaPIhKZQF0-kidVrWQ,1424
|
|
366
|
-
holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=
|
|
367
|
-
holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=
|
|
366
|
+
holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=a3fxUXYKjh5MpBo5vaFDlvGESD9n_HKWZ0GvKUjSBWE,1237
|
|
367
|
+
holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=FpUivY3CuG7xMiUcx-fdsIvaImzAJYJBOnxJ2GQevXI,1704
|
|
368
368
|
holado_python/tests/behave/steps/__init__.py,sha256=TWEk-kBTTDHi9I4nuu48nufmNMdZ9FHAhPZv0A_cWzc,1661
|
|
369
369
|
holado_python/tests/behave/steps/convert_steps.py,sha256=bZqRvJVp_u6fSPpdu4ne9NwVyZmui7R-AVdO2-H-I1A,2728
|
|
370
370
|
holado_python/tests/behave/steps/iterable_steps.py,sha256=f4vGIWBH8Qnjq69Q-ZBluYyctQ8SKauazTc41dsktZA,4041
|
|
@@ -483,7 +483,7 @@ holado_system/system/command/exceptions.py,sha256=InT6t8GVeGCiBE-NpRr4NzycWVAvzm
|
|
|
483
483
|
holado_system/system/filesystem/file.py,sha256=Y5uq2n-ttimdRvLh3QQjpECoOSUzcj9DesuT2HerYuk,2840
|
|
484
484
|
holado_system/tests/behave/steps/__init__.py,sha256=7LrCSTHk5oHNuEsr4IhJuNDsohtR2cq3YT1owXrhdjc,1351
|
|
485
485
|
holado_system/tests/behave/steps/system/commands_steps.py,sha256=uYiojPpYPkfif8l8afRrJ0sj-wFBE4j1x67BDMNs76Q,3901
|
|
486
|
-
holado_system/tests/behave/steps/system/file_steps.py,sha256=
|
|
486
|
+
holado_system/tests/behave/steps/system/file_steps.py,sha256=kJ7qEzaKkzErRpWCWmq1mJhqO3kHlMa-u5RmsG4664g,10388
|
|
487
487
|
holado_system/tests/behave/steps/system/system_steps.py,sha256=2XrZwuAaYDjB_HvPgxZq9MpYB_Zo7FVZ0DYcmtKht2s,3778
|
|
488
488
|
holado_test/__init__.py,sha256=A0edMOLhnuU-A_NazQ50WghvKvB889KNCBddtBPa9Ag,1539
|
|
489
489
|
holado_test/test_config.py,sha256=yQK2jNHEGltGc3fmsAgcsKN4y3_nuldZHD45XEMrsQA,1575
|
|
@@ -499,7 +499,7 @@ holado_test/common/context/feature_context.py,sha256=GhC0lihnvTBhv5tE4JzPt39eP7g
|
|
|
499
499
|
holado_test/common/context/scenario_context.py,sha256=x5q9AuBNkL9fG5LjiUzLOnqcyBLiOB_AlSPErKAcD1Y,7102
|
|
500
500
|
holado_test/common/context/step_context.py,sha256=j6S4ozTPrdlpV9Slopc998fYOV8KfMLAUSW4mcEFUI8,2383
|
|
501
501
|
holado_test/common/exceptions/undefined_step_exception.py,sha256=SHHX22iz4Ip-V4Y3aM2EJFDt30CCS5EaauN6KB-JORo,1461
|
|
502
|
-
holado_test/scenario/step_tools.py,sha256=
|
|
502
|
+
holado_test/scenario/step_tools.py,sha256=iNay6tQPUi4sG-a8PY5LbbLpX0PRakkOj3ls98aEbHM,26375
|
|
503
503
|
holado_test/scenario/tester_tools.py,sha256=Tv035FyXPjQ46Ep8KuPOjOvzJFvxnbv9EsrSihUzAwg,2479
|
|
504
504
|
holado_test/tests/behave/steps/__init__.py,sha256=rdqrp-UN7vRplIqORx4sXyKwMUkptRizyLWudsmYehM,1362
|
|
505
505
|
holado_test/tests/behave/steps/scenario/exception_steps.py,sha256=ZIE92Dz7a6O_c0jAP_0dj6Hc0tnW6YRgNKd4_aBpeR0,4054
|
|
@@ -655,7 +655,7 @@ test_holado/tools/django/api_rest/api_rest/api1/serializers.py,sha256=o_YxFr-tgC
|
|
|
655
655
|
test_holado/tools/django/api_rest/api_rest/api1/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
656
656
|
test_holado/tools/django/api_rest/api_rest/api1/views.py,sha256=kOt2xT6bxO47_z__5yYR9kcYIWWv4qYzpX0K8Tqonik,758
|
|
657
657
|
test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
658
|
-
holado-0.8.
|
|
659
|
-
holado-0.8.
|
|
660
|
-
holado-0.8.
|
|
661
|
-
holado-0.8.
|
|
658
|
+
holado-0.8.1.dist-info/METADATA,sha256=96tNajEz2ibDQX0118wv3VNay6ndeo-YNIOGQvMo2bI,7671
|
|
659
|
+
holado-0.8.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
660
|
+
holado-0.8.1.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
|
|
661
|
+
holado-0.8.1.dist-info/RECORD,,
|
|
@@ -20,6 +20,14 @@ def _get_session_context():
|
|
|
20
20
|
|
|
21
21
|
class YamlfileView(MethodView):
|
|
22
22
|
|
|
23
|
+
def get(self, body: dict):
|
|
24
|
+
file_path = body['file_path']
|
|
25
|
+
|
|
26
|
+
with open(file_path, 'rt') as fin:
|
|
27
|
+
res = fin.read()
|
|
28
|
+
|
|
29
|
+
return res
|
|
30
|
+
|
|
23
31
|
def patch(self, body: dict):
|
|
24
32
|
file_path = body['file_path']
|
|
25
33
|
yaml_string = body['yaml_string']
|
|
@@ -186,6 +186,23 @@ paths:
|
|
|
186
186
|
type: "string"
|
|
187
187
|
|
|
188
188
|
/config/yaml_file:
|
|
189
|
+
get:
|
|
190
|
+
description: "Get content of a YAML file"
|
|
191
|
+
requestBody:
|
|
192
|
+
content:
|
|
193
|
+
application/json:
|
|
194
|
+
schema:
|
|
195
|
+
type: "object"
|
|
196
|
+
properties:
|
|
197
|
+
file_path:
|
|
198
|
+
type: string
|
|
199
|
+
responses:
|
|
200
|
+
200:
|
|
201
|
+
description: ""
|
|
202
|
+
content:
|
|
203
|
+
application/text:
|
|
204
|
+
schema:
|
|
205
|
+
type: "string"
|
|
189
206
|
patch:
|
|
190
207
|
description: "Update a YAML file"
|
|
191
208
|
requestBody:
|
|
@@ -211,7 +228,7 @@ paths:
|
|
|
211
228
|
application/json:
|
|
212
229
|
schema:
|
|
213
230
|
type: "string"
|
|
214
|
-
|
|
231
|
+
put:
|
|
215
232
|
description: "Replace a YAML file"
|
|
216
233
|
requestBody:
|
|
217
234
|
content:
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
MIIDZTCCAk2gAwIBAgIBKjANBgkqhkiG9w0BAQsFADCBizELMAkGA1UEBhMCVVMx
|
|
3
3
|
CzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQ8wDQYDVQQKDAZ0
|
|
4
4
|
Y3BiaW4xDDAKBgNVBAsMA29wczETMBEGA1UEAwwKdGNwYmluLmNvbTEjMCEGCSqG
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
FOLuMowBSAZfV5v82LmlaIIOvU/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
5
|
+
SIb3DQEJARYUaGFycnliYWdkaUBnbWFpbC5jb20wHhcNMjUwOTAxMTAxNDQ4WhcN
|
|
6
|
+
MjUwOTAyMTAxNDQ4WjAcMRowGAYDVQQDDBF0Y3BiaW4uY29tLWNsaWVudDCCASIw
|
|
7
|
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMHQeuEPAhoVTo8M3sAmA6gDvsz6
|
|
8
|
+
6dZ8UvhuvT8euQWB2p37nrNy+/DskwdR5NYdyrqyJ8ZxgO9UGcOi6Kg/xpv5R4Hv
|
|
9
|
+
DKL5PJ1zVsG10pAY3zbAyVuw03S++tXhG910pTTUQyMEgXTxg18PBaA9ocW5VRCJ
|
|
10
|
+
cbjQVVLikaI+YzeeOmDbgEBys0svG5W8oDoTh+AcoKp6Jpoxh5mZ2TrVXgP0IAZY
|
|
11
|
+
5I1S7HJLTtd7DOLiyWg3OydHNvvZaJ8MJPxZWtRqJbjRVfKbctgCgXDsH0YPHatX
|
|
12
|
+
48Z7gOK17LUFQYOa4FAcT1wlrxKW6jE8tDRO3W4lyr7S3mzrsshxBzCcz7cCAwEA
|
|
13
|
+
AaNCMEAwHQYDVR0OBBYEFO3W/Yg4a3z1jH7AZOpc38UZy9onMB8GA1UdIwQYMBaA
|
|
14
|
+
FOLuMowBSAZfV5v82LmlaIIOvU/DMA0GCSqGSIb3DQEBCwUAA4IBAQAJ10bOcpm3
|
|
15
|
+
/CqQSf2Lz1P0Fcf/I2o2TnCUgrkDDKUVOEK7txnpc6Djz9KxSJiePM/U9NYOzFX1
|
|
16
|
+
48qpynGOlA2m/tR+56RVCvTI8yPIqKWk/NGU7TpDfxrbY4DKCqEnDewiiEx4+aJg
|
|
17
|
+
kwvoH4qClrt+PWY3NKpvFI9Bh1ilRTEB/bGqTwOZWMpv+s215SxywjXcXsZ49dFm
|
|
18
|
+
gebdkuQVnD4VkSvH8SjyT28H0Yk/GyCfjzRdKPR8PilHnkJLlO9tmBTyFJ6eSwdZ
|
|
19
|
+
fSxNqDyv9JwK7uGUZv5k4A7QZMLkSJNwAxyck8lLNW9YpY74wpaDqTB+ZUy8XNai
|
|
20
|
+
jpB+z/vD71Qg
|
|
21
21
|
-----END CERTIFICATE-----
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
-----BEGIN PRIVATE KEY-----
|
|
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
|
-
|
|
2
|
+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDB0HrhDwIaFU6P
|
|
3
|
+
DN7AJgOoA77M+unWfFL4br0/HrkFgdqd+56zcvvw7JMHUeTWHcq6sifGcYDvVBnD
|
|
4
|
+
ouioP8ab+UeB7wyi+Tydc1bBtdKQGN82wMlbsNN0vvrV4RvddKU01EMjBIF08YNf
|
|
5
|
+
DwWgPaHFuVUQiXG40FVS4pGiPmM3njpg24BAcrNLLxuVvKA6E4fgHKCqeiaaMYeZ
|
|
6
|
+
mdk61V4D9CAGWOSNUuxyS07Xewzi4sloNzsnRzb72WifDCT8WVrUaiW40VXym3LY
|
|
7
|
+
AoFw7B9GDx2rV+PGe4Ditey1BUGDmuBQHE9cJa8SluoxPLQ0Tt1uJcq+0t5s67LI
|
|
8
|
+
cQcwnM+3AgMBAAECggEAIIfVmCDkwWwCG5CVcrrusiyuwcj7pryHUJuFuCp386yv
|
|
9
|
+
/QRWxtft4apTo07jkey+Mkfk1TIH6iO7j1KwqkzKETPuBKkS/efHfMX3MdxK01TZ
|
|
10
|
+
Yl9JbNJpK5dCktON0cXaVNuryRzgfbhrzHDBCPxPQtiwpm3rYJHXQGo293xxOsxR
|
|
11
|
+
MzVn4oGjQIxQc49QAs0Xgqxn38wUPcgej3vCtSlaUIDxTwfugEoQQ1x5n2D6k7Re
|
|
12
|
+
7gPPrHskIr9YuuqQlDzyJ3qVAI/HQiQPQbJzwWgtRVSb12/Yzb0gSMi86kMvn4Oy
|
|
13
|
+
Zb3S+PSM+dKhMNLG/7QZHyc3R+Us3PMOnS/QiidvgQKBgQDp0zIluHEVcN6+wHsD
|
|
14
|
+
pugM4A1Rll1VY/tu8OIwb7X8Tb24wIKQyA64FkAz6BVriXBN5gqqgXclE5PNh34b
|
|
15
|
+
0FVfv0t0Hm9aVzxKXlfDVEFzIMQammKHZuVyHILNxNqggnTC4zzqrxUlITzqb+kc
|
|
16
|
+
7l0rb8aoc7HYsxq8ZWv6l+5LbwKBgQDUMegGYQ8S6QhJeRoO12E7tDFSJVXhjW3Z
|
|
17
|
+
jXsZaXgENI3d3wk2WUSQZK8D8fFoRM41ctfn9c4xm3vj1iDaGIYox76FCE4QyXez
|
|
18
|
+
mvQoVPz+3lBiTBQTQpcI3XLZPH+rjdM4M7WsAxd5yGaW2r23+8WNDdEdGd+P0sQ4
|
|
19
|
+
GnIEuyA8OQKBgQCuLY+2f41lbl3O9GzuTH+hT6k8NGk0ObVLcA7eC+khl/uSy3y3
|
|
20
|
+
Qv+L669Ju0FxiMDqlkktuCE7sjiwqpSrPWbLWyFmz2Edh8w2jc6Mh4/1pdvPAWAS
|
|
21
|
+
Avk6JrjddR1y4Zr+re1r2J5EuVy6OkEJNxqaR7pRM1Ww2cI5wsdLta9h6wKBgQCl
|
|
22
|
+
aYIF9wNZKm9bVxwJFbymXgFUl+YqvaU0QiYD2UPFg3JT0tnLlCrupI4J9UDKl1ho
|
|
23
|
+
Me481FC4OwyIvxM88IEkqRDLg33XeDXnvJM4HYha5dKjzcqYeQBj2Lz+uzqK8TQG
|
|
24
|
+
S8kDHiXeuWm/jyT1lz6YhnzMwq6T3yk20uau6XBngQKBgCpM3x2XqCiPzlQ/da84
|
|
25
|
+
7SsCJ1jp4PJt1PCjFbp6jzPw9FD7lj1nSzGvVAEwKyL0OXq4k3+o9Nj/KYqncXzJ
|
|
26
|
+
v8GmSyjEtSy1VynW8D1VAtCbfI7GHa+TflcjLqKb2BN+BpTGjeVPRbXVUlwqFF3I
|
|
27
|
+
ughugjyndVciKdl7MmifCz92
|
|
28
28
|
-----END PRIVATE KEY-----
|
|
@@ -126,24 +126,31 @@ def step_impl(context, var_name, is_text_file_str, path): # @DuplicatedSignatur
|
|
|
126
126
|
path = StepTools.evaluate_scenario_parameter(path)
|
|
127
127
|
|
|
128
128
|
mode = 'rt' if is_text_file else 'rb'
|
|
129
|
-
|
|
129
|
+
with open(path, mode) as fin:
|
|
130
|
+
res = fin.read()
|
|
130
131
|
|
|
131
|
-
__get_variable_manager().register_variable(var_name,
|
|
132
|
+
__get_variable_manager().register_variable(var_name, res)
|
|
132
133
|
|
|
133
134
|
@Given(r"(?P<var_name>{Variable}) = content of file (?P<path>{Str}) in base 64")
|
|
134
135
|
def step_impl(context, var_name, path): # @DuplicatedSignature
|
|
135
136
|
var_name = StepTools.evaluate_variable_name(var_name)
|
|
136
137
|
path = StepTools.evaluate_scenario_parameter(path)
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
|
|
139
|
+
with open(path, "rb") as fin:
|
|
140
|
+
content = fin.read()
|
|
141
|
+
res = base64.b64encode(content)
|
|
142
|
+
|
|
143
|
+
__get_variable_manager().register_variable(var_name, res)
|
|
140
144
|
|
|
141
145
|
@Given(r"(?P<var_name>{Variable}) = lines of file (?P<path>{Str})")
|
|
142
146
|
def step_impl(context, var_name, path): # @DuplicatedSignature
|
|
143
147
|
var_name = StepTools.evaluate_variable_name(var_name)
|
|
144
148
|
path = StepTools.evaluate_scenario_parameter(path)
|
|
145
|
-
|
|
149
|
+
|
|
150
|
+
with open(path, "r") as fin:
|
|
151
|
+
lines = fin.readlines()
|
|
146
152
|
res = list(map(lambda x: x.strip('\n'), lines))
|
|
153
|
+
|
|
147
154
|
__get_variable_manager().register_variable(var_name, res)
|
|
148
155
|
|
|
149
156
|
|
|
@@ -398,6 +398,28 @@ class StepTools(object):
|
|
|
398
398
|
except FunctionalException as exc:
|
|
399
399
|
raise FunctionalException(f"Obtained table contains at least a row of expected table (obtained = table 1 ; expected = table 2):\n{Tools.indent_string(4, exc.message)}") from exc
|
|
400
400
|
|
|
401
|
+
@classmethod
|
|
402
|
+
def format_step(cls, step_str, keyword=None, table=None, text=None):
|
|
403
|
+
step_str = step_str.strip()
|
|
404
|
+
|
|
405
|
+
if keyword is not None:
|
|
406
|
+
res = f"{keyword} {step_str}"
|
|
407
|
+
else:
|
|
408
|
+
res = step_str
|
|
409
|
+
|
|
410
|
+
if table is not None:
|
|
411
|
+
if isinstance(table, Table):
|
|
412
|
+
rendered_table = table.represent(indent=4)
|
|
413
|
+
else:
|
|
414
|
+
raise TechnicalException(f"Unmanaged table of type '{Typing.get_object_class_fullname(table)}'")
|
|
415
|
+
res = u"{res}\n{table}".format(res=res, table=rendered_table)
|
|
416
|
+
elif text is not None:
|
|
417
|
+
rendered_text = text.replace(u'"""', u'\\"\\"\\"')
|
|
418
|
+
rendered_text = Tools.indent_string(4, u'"""\n' + rendered_text + '\n"""\n')
|
|
419
|
+
res = u"{res}\n{text}".format(res=res, text=rendered_text)
|
|
420
|
+
|
|
421
|
+
return res
|
|
422
|
+
|
|
401
423
|
@classmethod
|
|
402
424
|
def format_steps_with(cls, steps, format_with_list):
|
|
403
425
|
res = steps
|
|
File without changes
|
|
File without changes
|