
Change-Id: I97a68c3b557b223df7bfbecd309154455679f6ec Signed-off-by: Lucas Wizer da Silva <lucas.wizerdasilva@windriver.com>
44 lines
1.7 KiB
Python
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)
|