def test_executer_execute_verbose(self, mock_execute): mock_execute.side_effect = [("result", None)] executer = Executer("a_pod", "a-namespace", verbose=True) executer.execute("a_command") mock_execute.assert_called_once_with( "kubectl exec a_pod -n a-namespace -- a_command", verbose=True )
def test_executer_logs(self, mock_execute): mock_execute.side_effect = [("result", None)] executer = Executer("a_pod", "a-namespace") executer.logs() mock_execute.assert_called_once_with( "kubectl logs a_pod -n a-namespace --tail=-1", verbose=False )
def test_executer_logs_tail(self, mock_execute): mock_execute.side_effect = [("result", None)] executer = Executer("a_pod", "a-namespace", container="a_container") executer.logs(tail=10) mock_execute.assert_called_once_with( "kubectl logs a_pod -n a-namespace --container a_container --tail=10", )
def test_executer_logs_sincetime(self, mock_execute): mock_execute.side_effect = [("result", None)] executer = Executer("a_pod", "a-namespace") executer.logs(since_time="1970-01-01T00:00:00Z") mock_execute.assert_called_once_with( "kubectl logs a_pod -n a-namespace --tail=-1 --since-time='1970-01-01T00:00:00Z'", )
def test_executer_logs_tail(self, mock_execute): executer = Executer('a_pod', 'a-namespace', container='a_container', verbose=True) executer.logs(10) mock_execute.assert_called_once_with( 'kubectl logs a_pod -n a-namespace --container a_container --tail=10', verbose=True)
def test_executer_init_container(self): executer = Executer("a-pod", "a-namespace", container="a_container") assert executer.pod == "a-pod" assert ( executer.prefix_exec == "kubectl exec a-pod -n a-namespace --container a_container -- ") assert executer.verbose is False
def get_pod(namespace, release, app, verbose=False): node_pod = execute( ('kubectl get pods -n {ns} -l "app={app},release={release}" ' + '-o jsonpath="{{.items[0].metadata.name}}"').format(ns=namespace, app=app, release=release), verbose=verbose) if not node_pod: raise ValueError('"node_pod" should contain a value') pod_ex = Executer(node_pod, namespace=namespace, verbose=verbose) return pod_ex
def get_pod(namespace, identifier, item=0): """Get a pod object from K8S. Args: namespace (str): Namespace where pod is located. identifier (str): Name of pod, or a label descriptor. Returns: Executer: A pod object able to execute commands and return logs. """ node_pod, _ = execute((f"kubectl get pods -n {namespace} {identifier} " + f'-o jsonpath="{{.items[{item}].metadata.name}}"')) if not node_pod: raise ValueError('"node_pod" should contain a value') pod_ex = Executer(node_pod, namespace=namespace) return pod_ex
def get_pod(namespace, identifier, item=0, verbose=False): """Get a pod object from K8S. Args: namespace (str): Namespace where pod is located. identifier (str): Name of pod, or a label descriptor. verbose (bool): Verbosity. False by default. Returns: Executer: A pod object able to execute commands and return logs. """ node_pod, _ = execute( ("kubectl get pods -n {ns} {identifier} " + '-o jsonpath="{{.items[{item}].metadata.name}}"').format( ns=namespace, identifier=identifier, item=item), verbose=verbose, ) if not node_pod: raise ValueError('"node_pod" should contain a value') pod_ex = Executer(node_pod, namespace=namespace, verbose=verbose) return pod_ex
def get_pod(namespace, release, app, verbose=False): """Get a pod object from K8S. Args: namespace (str): Namespace where pod is located. release (str): Release name of pod. app (str): App type of pod. verbose (bool): Verbosity. False by default. Returns: Executer: A pod object able to execute commands and return logs. """ node_pod, _ = execute( ('kubectl get pods -n {ns} -l "app={app},release={release}" ' + '-o jsonpath="{{.items[0].metadata.name}}"').format(ns=namespace, app=app, release=release), verbose=verbose, ) if not node_pod: raise ValueError('"node_pod" should contain a value') pod_ex = Executer(node_pod, namespace=namespace, verbose=verbose) return pod_ex
def test_executer_init_verbose(self): executer = Executer("a-pod", "a-namespace", verbose=True) assert executer.pod == "a-pod" assert executer.prefix_exec == "kubectl exec a-pod -n a-namespace -- " assert executer.verbose is True
def test_executer_init(self): executer = Executer("a-pod", "a-namespace") assert executer.pod == "a-pod" assert executer.prefix_exec == "kubectl exec a-pod -n a-namespace -- " assert executer.verbose is False
def test_executer_logs(self, mock_execute): executer = Executer('a_pod', 'a-namespace') executer.logs() mock_execute.assert_called_once_with( 'kubectl logs a_pod -n a-namespace --tail=-1', verbose=False)
def test_executer_execute_verbose(self, mock_execute): executer = Executer('a_pod', 'a-namespace', verbose=True) executer.execute('a_command') mock_execute.assert_called_once_with( 'kubectl exec a_pod -n a-namespace -- a_command', verbose=True)
def test_executer_init_container(self): executer = Executer('a-pod', 'a-namespace', container='a_container') assert executer.pod == 'a-pod' assert executer.prefix_exec == "kubectl exec a-pod -n a-namespace --container a_container -- " assert executer.verbose is False
def test_executer_init(self): executer = Executer('a-pod', 'a-namespace') assert executer.pod == 'a-pod' assert executer.prefix_exec == "kubectl exec a-pod -n a-namespace -- " assert executer.verbose is False