Exemple #1
0
def test_start_deploys_runtime():
    pod_name = 'executor'
    namespace = 'ns'
    pod = get_k8s_pod(pod_name, namespace)

    assert len(pod.k8s_deployments) > 0
    for deployment in pod.k8s_deployments:
        deployment._construct_runtime_container_args = Mock()
    kubernetes_deployment.deploy_service = Mock()

    pod.start()

    kubernetes_deployment.deploy_service.assert_called_once()
    dns_name = kubernetes_deployment.deploy_service.call_args[0][0]
    kwargs = kubernetes_deployment.deploy_service.call_args[1]

    assert dns_name == pod_name
    assert kwargs['namespace'] == namespace
    assert kwargs['image_name'] == f'jinaai/jina:{pod.version}-py38-perf'
    assert kwargs['replicas'] == 1
    assert kwargs['init_container'] is None
    assert kwargs['custom_resource_dir'] is None

    assert len(pod.k8s_deployments) > 0
    for i, deployment in enumerate(pod.k8s_deployments):
        deployment._construct_runtime_container_args.assert_called_once()
        call_args = deployment._construct_runtime_container_args.call_args[0]
        assert call_args[0] == deployment.deployment_args
        assert call_args[1] == pod.args.uses
        assert call_args[2] == kubernetes_deployment.dictionary_to_cli_param(
            {'pea_id': i}
        )
        assert call_args[3] == ''
Exemple #2
0
def test_dictionary_to_cli_param():
    assert (dictionary_to_cli_param({
        'k1': 'v1',
        'k2': {
            'k3': 'v3'
        }
    }) == '{\\"k1\\": \\"v1\\", \\"k2\\": {\\"k3\\": \\"v3\\"}}')
def test_dictionary_to_cli_param(dictionary: Dict, expected_string: str):
    assert dictionary_to_cli_param(dictionary) == expected_string