Fix GNP keywords type annotations

- Rename list_globalnetworkpolicies() to get_globalnetworkpolicies() for consistency
- Fix constructor parameter type from str to List[str] to match SSH output
- Add Optional[str] type annotation for age attribute
- Update get_age() return type to Optional[str]
- Update docstrings to align with types

Change-Id: Ied62a53d5d33a06bca1af4318b3c4c0082a0a604
Signed-off-by: Andrew Vaillancourt <andrew.vaillancourt@windriver.com>
This commit is contained in:
Andrew Vaillancourt
2025-12-02 16:13:37 -05:00
parent 6f6f32d2e1
commit 97204febd1
3 changed files with 11 additions and 8 deletions

View File

@@ -18,7 +18,7 @@ class KubectlGetGlobalNetworkPolicyKeywords(BaseKeyword):
"""
self.ssh_connection = ssh_connection
def list_globalnetworkpolicies(self) -> KubectlGetGlobalNetworkPolicyOutput:
def get_globalnetworkpolicies(self) -> KubectlGetGlobalNetworkPolicyOutput:
"""Gets the Calico GlobalNetworkPolicies available.
Returns:
@@ -43,7 +43,7 @@ class KubectlGetGlobalNetworkPolicyKeywords(BaseKeyword):
Raises:
ValueError: If the GlobalNetworkPolicy is not found.
"""
globalnetworkpolicy_output = self.list_globalnetworkpolicies()
globalnetworkpolicy_output = self.get_globalnetworkpolicies()
return globalnetworkpolicy_output.get_globalnetworkpolicy_by_name(policy_name)
def has_globalnetworkpolicy(self, policy_name: str) -> bool:
@@ -59,7 +59,7 @@ class KubectlGetGlobalNetworkPolicyKeywords(BaseKeyword):
bool: True if the policy exists, False otherwise.
"""
try:
globalnetworkpolicy_output = self.list_globalnetworkpolicies()
globalnetworkpolicy_output = self.get_globalnetworkpolicies()
return globalnetworkpolicy_output.has_globalnetworkpolicy(policy_name)
except Exception:
return False

View File

@@ -9,12 +9,12 @@ class KubectlGetGlobalNetworkPolicyOutput:
Class for 'kubectl get globalnetworkpolicies.crd.projectcalico.org output' keywords
"""
def __init__(self, kubectl_get_globalnetworkpolicy_output: str):
def __init__(self, kubectl_get_globalnetworkpolicy_output: List[str]):
"""
Constructor
Args:
kubectl_get_globalnetworkpolicy_output (str): Raw string output from running a "kubectl get globalnetworkpolicies.crd.projectcalico.org" command.
kubectl_get_globalnetworkpolicy_output (List[str]): Raw output lines from running a "kubectl get globalnetworkpolicies.crd.projectcalico.org" command.
"""
self.kubectl_globalnetworkpolicies: List[KubectlGlobalNetworkPolicyObject] = []

View File

@@ -1,3 +1,6 @@
from typing import Optional
class KubectlGlobalNetworkPolicyObject:
"""
Class to hold attributes of a 'kubectl get globalnetworkpolicies.crd.projectcalico.org' policy entry.
@@ -10,7 +13,7 @@ class KubectlGlobalNetworkPolicyObject:
name (str): Name of the GlobalNetworkPolicy.
"""
self.name = name
self.age = None
self.age: Optional[str] = None
def get_name(self) -> str:
"""Getter for NAME entry.
@@ -28,10 +31,10 @@ class KubectlGlobalNetworkPolicyObject:
"""
self.age = age
def get_age(self) -> str:
def get_age(self) -> Optional[str]:
"""Getter for AGE entry.
Returns:
str: The age of the GlobalNetworkPolicy.
Optional[str]: The age of the GlobalNetworkPolicy.
"""
return self.age