Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python_keywords: Change parsing container ID from a given CLI output #577

Merged
merged 1 commit into from
Jun 21, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 9 additions & 12 deletions robot/resources/lib/python_keywords/container.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,9 +206,9 @@ def delete_container(
def _parse_cid(output: str) -> str:
"""
Parses container ID from a given CLI output. The input string we expect:
any lines or empty
container ID: 2tz86kVTDpJxWHrhw3h6PbKMwkLtBEwoqhHQCKTre1FN
awaiting...
container has been persisted on sidechain
any lines or empty
We want to take 'container ID' value from the string.

Args:
Expand All @@ -217,16 +217,13 @@ def _parse_cid(output: str) -> str:
Returns:
(str): extracted CID
"""
try:
# taking first line from command's output
first_line = output.split("\n")[0]
except Exception:
first_line = ""
logger.error(f"Got empty output: {output}")
splitted = first_line.split(": ")
if len(splitted) != 2:
raise ValueError(f"no CID was parsed from command output: \t{first_line}")
return splitted[1]
lines = output.split("\n")
for line in lines:
if line.startswith("container ID:"):
cid = line.split(": ")[1]
return cid
logger.error(f"No CID found in output: {output}")
raise ValueError("No CID was parsed from command output.")


@allure.step("Search container by name")
Expand Down
Loading