robotframework-robotlog2rqm 1.6.0__py3-none-any.whl → 1.7.0__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.
- RobotLog2RQM/RobotLog2RQM.pdf +0 -0
- RobotLog2RQM/rqmtool.py +52 -4
- RobotLog2RQM/version.py +2 -2
- {robotframework_robotlog2rqm-1.6.0.dist-info → robotframework_robotlog2rqm-1.7.0.dist-info}/METADATA +1 -1
- {robotframework_robotlog2rqm-1.6.0.dist-info → robotframework_robotlog2rqm-1.7.0.dist-info}/RECORD +9 -9
- {robotframework_robotlog2rqm-1.6.0.dist-info → robotframework_robotlog2rqm-1.7.0.dist-info}/WHEEL +0 -0
- {robotframework_robotlog2rqm-1.6.0.dist-info → robotframework_robotlog2rqm-1.7.0.dist-info}/entry_points.txt +0 -0
- {robotframework_robotlog2rqm-1.6.0.dist-info → robotframework_robotlog2rqm-1.7.0.dist-info}/licenses/LICENSE +0 -0
- {robotframework_robotlog2rqm-1.6.0.dist-info → robotframework_robotlog2rqm-1.7.0.dist-info}/top_level.txt +0 -0
RobotLog2RQM/RobotLog2RQM.pdf
CHANGED
|
Binary file
|
RobotLog2RQM/rqmtool.py
CHANGED
|
@@ -30,6 +30,7 @@ import argparse
|
|
|
30
30
|
import os
|
|
31
31
|
import csv
|
|
32
32
|
import json
|
|
33
|
+
import base64
|
|
33
34
|
|
|
34
35
|
from RobotLog2RQM.CRQM import CRQMClient
|
|
35
36
|
from RobotLog2RQM.logger import Logger
|
|
@@ -78,12 +79,22 @@ Process provided argument(s) from command line.
|
|
|
78
79
|
required=True,
|
|
79
80
|
help="RQM username."
|
|
80
81
|
)
|
|
81
|
-
|
|
82
|
+
# exclusive group to provide only --password, --password-enc or --password-file
|
|
83
|
+
group_password = parser.add_mutually_exclusive_group(required=True)
|
|
84
|
+
group_password.add_argument(
|
|
82
85
|
"--password",
|
|
83
|
-
required=True,
|
|
84
86
|
help="RQM password."
|
|
85
87
|
)
|
|
86
|
-
|
|
88
|
+
group_password.add_argument(
|
|
89
|
+
"--password-enc",
|
|
90
|
+
help="RQM password as base64-encoded string."
|
|
91
|
+
)
|
|
92
|
+
group_password.add_argument(
|
|
93
|
+
"--password-file",
|
|
94
|
+
help="Path to a file containing the password. If the content starts with 'b64:', "
|
|
95
|
+
"the remainder is treated as base64-encoded."
|
|
96
|
+
)
|
|
97
|
+
# exclusive group to provide only --testsuite or --testplan
|
|
87
98
|
group = parser.add_mutually_exclusive_group(required=True)
|
|
88
99
|
group.add_argument(
|
|
89
100
|
"--testplan",
|
|
@@ -126,6 +137,36 @@ Process provided argument(s) from command line.
|
|
|
126
137
|
help="Base name for output files.")
|
|
127
138
|
return parser.parse_args()
|
|
128
139
|
|
|
140
|
+
def __resolve_password(args):
|
|
141
|
+
"""
|
|
142
|
+
Resolve password from --password-enc, --password-file, or --password.
|
|
143
|
+
Order of precedence: password-enc > password-file > password.
|
|
144
|
+
"""
|
|
145
|
+
if args.password_enc:
|
|
146
|
+
try:
|
|
147
|
+
return base64.b64decode(args.password_enc).decode("utf-8")
|
|
148
|
+
except Exception as e:
|
|
149
|
+
raise ValueError(f"Failed to decode --password-enc: {e}")
|
|
150
|
+
|
|
151
|
+
if args.password_file:
|
|
152
|
+
if not os.path.isfile(args.password_file):
|
|
153
|
+
raise FileNotFoundError(f"Password file not found: {args.password_file}")
|
|
154
|
+
with open(args.password_file, "r", encoding="utf-8") as f:
|
|
155
|
+
content = f.read().strip()
|
|
156
|
+
# If file content starts with 'b64:', decode the remainder
|
|
157
|
+
if content.startswith("b64:"):
|
|
158
|
+
enc = content[4:]
|
|
159
|
+
try:
|
|
160
|
+
return base64.b64decode(enc).decode("utf-8")
|
|
161
|
+
except Exception as e:
|
|
162
|
+
raise ValueError(f"Failed to decode base64 in password file: {e}")
|
|
163
|
+
return content
|
|
164
|
+
|
|
165
|
+
if args.password:
|
|
166
|
+
return args.password
|
|
167
|
+
|
|
168
|
+
raise ValueError("No password provided. Use --password-enc, --password-file, or --password.")
|
|
169
|
+
|
|
129
170
|
def __validate_arguments(arguments):
|
|
130
171
|
"""
|
|
131
172
|
Validate and normalize command line arguments.
|
|
@@ -345,7 +386,14 @@ Main entry point for RQMTool CLI.
|
|
|
345
386
|
__validate_arguments(args)
|
|
346
387
|
Logger.config(dryrun=args.dryrun)
|
|
347
388
|
|
|
348
|
-
|
|
389
|
+
# Resolve password securely (supports base64 and file-based)
|
|
390
|
+
try:
|
|
391
|
+
resolved_password = __resolve_password(args)
|
|
392
|
+
except Exception as reason:
|
|
393
|
+
Logger.log_error(f"Could not resolve password: '{str(reason)}'.")
|
|
394
|
+
return
|
|
395
|
+
|
|
396
|
+
RQMClient = CRQMClient(args.user, resolved_password, args.project, args.host)
|
|
349
397
|
try:
|
|
350
398
|
bSuccess = RQMClient.login()
|
|
351
399
|
RQMClient.config(stream=args.stream, baseline=args.baseline)
|
RobotLog2RQM/version.py
CHANGED
{robotframework_robotlog2rqm-1.6.0.dist-info → robotframework_robotlog2rqm-1.7.0.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robotframework-robotlog2rqm
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.7.0
|
|
4
4
|
Summary: Imports robot result(s) to IBM Rational Quality Manager (RQM)
|
|
5
5
|
Home-page: https://github.com/test-fullautomation/robotframework-robotlog2rqm
|
|
6
6
|
Author: Tran Duy Ngoan
|
{robotframework_robotlog2rqm-1.6.0.dist-info → robotframework_robotlog2rqm-1.7.0.dist-info}/RECORD
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
RobotLog2RQM/CRQM.py,sha256=NxFbIKvTOepkdNmv0V9aQCaU2jSGhuHO707XTglMF_A,69357
|
|
2
|
-
RobotLog2RQM/RobotLog2RQM.pdf,sha256
|
|
2
|
+
RobotLog2RQM/RobotLog2RQM.pdf,sha256=juRMokH0l5nlXxS4j3UYWOZSwzJ6e3PbvXGor1dDeoA,359822
|
|
3
3
|
RobotLog2RQM/__init__.py,sha256=YKDTJjDsnQkr5X-gjjO8opwKUVKm6kc8sIUpURYMk48,596
|
|
4
4
|
RobotLog2RQM/__main__.py,sha256=JabttEncy80antJWeGVmjoXyiF1DyXxkxdW4xLuHzT0,681
|
|
5
5
|
RobotLog2RQM/logger.py,sha256=FnZZqssOcrF5yK6wxkgifScoQcFGrqrvzLvXWY3V-9A,4252
|
|
6
6
|
RobotLog2RQM/robotlog2rqm.py,sha256=zX8ibJqeQTPwtRF6zX-qHtT1d6jj1EI90vpaUL77FEM,30161
|
|
7
|
-
RobotLog2RQM/rqmtool.py,sha256=
|
|
8
|
-
RobotLog2RQM/version.py,sha256=
|
|
7
|
+
RobotLog2RQM/rqmtool.py,sha256=Lz4KSP3cDhrurbqdI1KHtCB-5a8-_oZIGidkpMpy4Tg,12400
|
|
8
|
+
RobotLog2RQM/version.py,sha256=oVbL29-7ny1ggCEV0zCBPuQgsLryCuPzFd5UnzXAU5M,916
|
|
9
9
|
RobotLog2RQM/RQM_templates/buildrecord.xml,sha256=uGot7pNOjPR8do0JsJi0Lz3OCU9NMhODRd428QgvHh4,1498
|
|
10
10
|
RobotLog2RQM/RQM_templates/configuration.xml,sha256=NrFDv51fuGhgeMiZuRhQ5q_UJ0u_pWzdxisIF5AJs74,1378
|
|
11
11
|
RobotLog2RQM/RQM_templates/executionresult.xml,sha256=WTp4qDk29peBc0ll6GHVXX_kF_YBsOVjy9vBzoz7_2k,2160
|
|
@@ -14,9 +14,9 @@ RobotLog2RQM/RQM_templates/suiteexecutionrecord.xml,sha256=9GAs2WqZMkFJSNEZULm9B
|
|
|
14
14
|
RobotLog2RQM/RQM_templates/testcase.xml,sha256=zovFKj-37QHn2S8mMA_9RnAJ3zBmDJkJj31yelsnFFI,2167
|
|
15
15
|
RobotLog2RQM/RQM_templates/testsuite.xml,sha256=r2ijEsyPoE7qzCtUxgIHDOEcqUveDN4SMf9HSE9b0ZU,1326
|
|
16
16
|
RobotLog2RQM/RQM_templates/testsuitelog.xml,sha256=l-NlaCyk6Ben76PElXKOHfMlEvyQ-e9MOZ6-F9HvwDQ,1920
|
|
17
|
-
robotframework_robotlog2rqm-1.
|
|
18
|
-
robotframework_robotlog2rqm-1.
|
|
19
|
-
robotframework_robotlog2rqm-1.
|
|
20
|
-
robotframework_robotlog2rqm-1.
|
|
21
|
-
robotframework_robotlog2rqm-1.
|
|
22
|
-
robotframework_robotlog2rqm-1.
|
|
17
|
+
robotframework_robotlog2rqm-1.7.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
18
|
+
robotframework_robotlog2rqm-1.7.0.dist-info/METADATA,sha256=zvP30zO-1p_yQhu3Hne9TOLGu8KU0Ucj-RmsdctwrsI,12028
|
|
19
|
+
robotframework_robotlog2rqm-1.7.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
20
|
+
robotframework_robotlog2rqm-1.7.0.dist-info/entry_points.txt,sha256=yLoNhxm2lfj3FxMx3Orct8db4qkPLII8u241GAH6BB0,111
|
|
21
|
+
robotframework_robotlog2rqm-1.7.0.dist-info/top_level.txt,sha256=jb_Gt6W44FoOLtGfBe7RzqCLaquhihkEWvSI1zjXDHc,13
|
|
22
|
+
robotframework_robotlog2rqm-1.7.0.dist-info/RECORD,,
|
{robotframework_robotlog2rqm-1.6.0.dist-info → robotframework_robotlog2rqm-1.7.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|