Files
test/keywords/k8s/certificate/object/kubectl_get_issuer_output.py
Abhishek jaiswal 58f2a34a4d Fixed importing issue
Change-Id: I293b6c88abf6287fe36b6aca1a749ff9a0e010d2
Signed-off-by: Abhishek jaiswal <abhishek.jaiswal@windriver.com>
2025-06-12 13:25:14 -04:00

58 lines
1.9 KiB
Python

from keywords.k8s.certificate.object.kubectl_get_issuer_table_parser import KubectlGetIssuerTableParser
from keywords.k8s.certificate.object.kubectl_issuer_object import KubectlIssuerObject
class KubectlGetIssuerOutput:
"""
This class represents the output of the 'kubectl get issuer' command.
It provides methods to parse and retrieve issuer information from the command output.
"""
def __init__(self, kubectl_get_issuer_output: str):
"""
Constructor
Args:
kubectl_get_issuer_output (str): Raw string output from running a "kubectl get issuer" command.
"""
self.kubectl_issuer: [KubectlIssuerObject] = []
kubectl_get_issuer_table_parser = KubectlGetIssuerTableParser(kubectl_get_issuer_output)
output_values_list = kubectl_get_issuer_table_parser.get_output_values_list()
for pod_dict in output_values_list:
if "NAME" not in pod_dict:
raise ValueError(f"There is no NAME associated with the issuer: {pod_dict}")
issuer = KubectlIssuerObject(pod_dict["NAME"])
if "READY" in pod_dict:
issuer.set_ready(pod_dict["READY"])
if "AGE" in pod_dict:
issuer.set_age(pod_dict["AGE"])
self.kubectl_issuer.append(issuer)
def get_issuer(self, issuer_name: str) -> KubectlIssuerObject:
"""
This function will get the pod with the name specified from this get_issuer_output.
Args:
issuer_name (str): The name of the issuer.
Returns:
KubectlIssuerObject: The issuer object with the specified name.
Raises:
ValueError: If no issuer with the specified name is found.
"""
for issuer in self.kubectl_issuer:
if issuer.get_name() == issuer_name:
return issuer
else:
raise ValueError(f"There is no issuer with the name {issuer_name}.")