Files
test/keywords/cloud_platform/helm/helm_keywords.py
Lucas Wizer da Silva ef159854c2 Regenarate index file containing package charts after helm file delete
Change-Id: I97a68c3b557b223df7bfbecd309154455679f6ec
Signed-off-by: Lucas Wizer da Silva <lucas.wizerdasilva@windriver.com>
2025-10-02 13:52:49 -03:00

44 lines
1.7 KiB
Python

from config.configuration_manager import ConfigurationManager
from framework.ssh.prompt_response import PromptResponse
from framework.ssh.ssh_connection import SSHConnection
from keywords.base_keyword import BaseKeyword
class HelmKeywords(BaseKeyword):
"""
Class for helm keywords
"""
def __init__(self, ssh_connection: SSHConnection):
self.ssh_connection = ssh_connection
def helm_upload(self, repo_name: str, helm_file: str):
"""
Runs the helm-upload command
Args:
repo_name (str): the name of the repo ex. starlingx
helm_file (str): the helm tar file
"""
# setup expected prompts for password request
password_prompt = PromptResponse("assword", ConfigurationManager.get_lab_config().get_admin_credentials().get_password())
password_completed = PromptResponse("@")
expected_prompts = [password_prompt, password_completed]
output_list = self.ssh_connection.send_expect_prompts(f"helm-upload {repo_name} {helm_file}", expected_prompts)
# At this time the this will only fail. Once we have a passing test we can check if there are better assertion values
assert not any("Error" in output for output in output_list), f"There was an error running the command helm-upload {repo_name} {helm_file}"
def helm_repo_index(self, dir_path: str):
"""
Runs the helm repo index command
Args:
dir_path (str): the name of the repo ex. /var/www/pages/helm_charts/starlingx/
"""
self.ssh_connection.send_as_sudo(f"helm repo index {dir_path}")
self.validate_success_return_code(self.ssh_connection)