Esempio n. 1
0
def test_valid_verify_envvar_has_val():
    output = Output()
    envvars = EnvVars(output)
    envvars.load()
    result = envvars.verify_envvar_has_val("RUNTIME_LOG_LEVEL",
                                           envvars.RUNTIME_LOG_LEVEL)
    assert not result
Esempio n. 2
0
def test_verify_envvar_has_val__valid():
    envvars = EnvVars(Output())
    envvars.load()
    result = envvars.verify_envvar_has_val(
        "DEPLOYMENT_CONFIG_TEMPLATE_FILE",
        envvars.DEPLOYMENT_CONFIG_TEMPLATE_FILE)
    assert not result
Esempio n. 3
0
def test_additional_container_registry_map_has_val(setup_test_env):
    output = Output()
    envvars = EnvVars(output)
    envvars.load()
    assert len(envvars.CONTAINER_REGISTRY_MAP) == 2
    assert 'UNITTEST' in envvars.CONTAINER_REGISTRY_MAP.keys()
    assert envvars.CONTAINER_REGISTRY_MAP['UNITTEST'].server == 'unittest.azurecr.io'
    assert envvars.CONTAINER_REGISTRY_MAP['UNITTEST'].username == 'username'
    assert envvars.CONTAINER_REGISTRY_MAP['UNITTEST'].password == 'password'
Esempio n. 4
0
def test_additional_container_registry_map_is_set_from_environ():
    envvars = EnvVars(Output())
    envvars.load()
    assert len(envvars.CONTAINER_REGISTRY_MAP) == 2
    assert 'UNITTEST' in envvars.CONTAINER_REGISTRY_MAP.keys()
    assert envvars.CONTAINER_REGISTRY_MAP[
        'UNITTEST'].server == 'unittest.azurecr.io'
    assert envvars.CONTAINER_REGISTRY_MAP['UNITTEST'].username == 'username'
    assert envvars.CONTAINER_REGISTRY_MAP['UNITTEST'].password == 'password'
Esempio n. 5
0
def test_envvar_clean():
    output = Output()
    envvars = EnvVars(output)
    envvar_clean_name = u"IOTEDGEDEV_ENVVAR_CLEAN_TEST"
    os.environ[envvar_clean_name] = u"test unicode string"

    envvars.clean()

    if PY2:
        assert isinstance(os.environ[envvar_clean_name], str)
Esempio n. 6
0
def deployment_manifest():
    output = Output()
    envvars = EnvVars(output)
    envvars.load()
    utility = Utility(envvars, output)

    def _deployment_manifest(path):
        return DeploymentManifest(envvars, output, utility, path, True)

    return _deployment_manifest
Esempio n. 7
0
def test_unique_envvar_tokens(envvar):
    unique = set()
    envvar_lenght = len(envvar)
    is_unique = True
    envvars = EnvVars(Output())
    envvars.load()
    for key in os.environ:
        if key.startswith(envvar):
            token = key[envvar_lenght:]
            if token not in unique:
                unique.add(token)
            else:
                is_unique = False
    assert is_unique
Esempio n. 8
0
def test_set_envvar():
    output = Output()
    envvars = EnvVars(output)
    loglevel = envvars.get_envvar("RUNTIME_LOG_LEVEL")
    envvars.set_envvar("RUNTIME_LOG_LEVEL", "debug")
    setlevel = envvars.get_envvar("RUNTIME_LOG_LEVEL")
    assert setlevel == "debug"
    envvars.set_envvar("RUNTIME_LOG_LEVEL", loglevel)
Esempio n. 9
0
def test_set_envvar():
    envvars = EnvVars(Output())
    registry_server = envvars.get_envvar("DEPLOYMENT_CONFIG_TEMPLATE_FILE")
    envvars.set_envvar("DEPLOYMENT_CONFIG_TEMPLATE_FILE",
                       "deployment.template_new.json")
    new_registry_server = envvars.get_envvar("DEPLOYMENT_CONFIG_TEMPLATE_FILE")
    assert new_registry_server == "deployment.template_new.json"
    envvars.set_envvar("DEPLOYMENT_CONFIG_TEMPLATE_FILE", registry_server)
Esempio n. 10
0
def test_unique_container_registry_password_tokens():
    unique = set()
    length_container_registry_password = len('container_registry_password')
    is_unique = True
    output = Output()
    envvars = EnvVars(output)
    envvars.load()
    for key in os.environ:
        key = key.lower()
        if key.startswith('container_registry_password'):
            token = key[length_container_registry_password:]
            if token not in unique:
                unique.add(token)
            else:
                is_unique = False
    assert is_unique
Esempio n. 11
0
def setup_test_env(request):
    output = Output()
    envvars = EnvVars(output)
    envvars.set_envvar("CONTAINER_REGISTRY_SERVER_UNITTEST", 'unittest.azurecr.io')
    envvars.set_envvar("CONTAINER_REGISTRY_USERNAME_UNITTEST", 'username')
    envvars.set_envvar("CONTAINER_REGISTRY_PASSWORD_UNITTEST", 'password')

    def clean():
        os.environ.pop("CONTAINER_REGISTRY_SERVER_UNITTEST")
        os.environ.pop("CONTAINER_REGISTRY_USERNAME_UNITTEST")
        os.environ.pop("CONTAINER_REGISTRY_PASSWORD_UNITTEST")
    request.addfinalizer(clean)

    return
Esempio n. 12
0
def test_invalid_get_envvar_key_if_val():
    output = Output()
    envvars = EnvVars(output)
    assert not envvars.get_envvar_key_if_val("TESTER")
Esempio n. 13
0
def test_envvar_clean():
    EnvVars(Output())
    envvar_clean_name = u"IOTEDGEDEV_ENVVAR_CLEAN_TEST"
    os.environ[envvar_clean_name] = u"test unicode string"
Esempio n. 14
0
def test_get_envvar_key_if_val__valid():
    envvars = EnvVars(Output())
    assert envvars.get_envvar_key_if_val("DEPLOYMENT_CONFIG_TEMPLATE_FILE")
Esempio n. 15
0
def test_get_envvar_key_if_val__invalid():
    envvars = EnvVars(Output())
    assert not envvars.get_envvar_key_if_val("TESTER")
Esempio n. 16
0
def test_valid_get_envvar_key_if_val():
    output = Output()
    envvars = EnvVars(output)
    assert envvars.get_envvar_key_if_val("RUNTIME_LOG_LEVEL")
Esempio n. 17
0
def test_valid_get_envvar():
    output = Output()
    envvars = EnvVars(output)
    loglevel = envvars.get_envvar("RUNTIME_LOG_LEVEL")
    assert loglevel == "info" or "debug"
Esempio n. 18
0
def test_get_envvar__valid():
    envvars = EnvVars(Output())
    deployment_template = envvars.get_envvar("DEPLOYMENT_CONFIG_TEMPLATE_FILE")
    assert deployment_template is not None
Esempio n. 19
0
def test_is_terse_command_false():
    envvars = EnvVars(Output())
    assert not envvars.is_terse_command("solution add")
Esempio n. 20
0
def test_in_command_list_false(command, command_list):
    envvars = EnvVars(Output())
    assert not envvars.in_command_list(command, command_list)
Esempio n. 21
0
def test_container_registry_server_key_missing_sys_exit():
    envvars = EnvVars(Output())
    with pytest.raises(ValueError):
        envvars.get_envvar("CONTAINER_REGISTRY_SERVER_UNITTEST", required=True)
Esempio n. 22
0
def test_default_envvar_value_exists(envvar):
    envvars = EnvVars(Output())
    server = envvars.get_envvar(envvar)
    assert server is not None
Esempio n. 23
0
def test_is_terse_command_true(command):
    envvars = EnvVars(Output())
    assert envvars.is_terse_command(command)
Esempio n. 24
0
import pytest
import shutil
import time

from iotedgedev.compat import PY35
from iotedgedev.envvars import EnvVars
from iotedgedev.output import Output

from .utility import get_docker_os_type
from .utility import get_platform_type
from .utility import runner_invoke

pytestmark = pytest.mark.e2e

output = Output()
envvars = EnvVars(output)

env_file_name = envvars.get_dotenv_file()
env_file_path = envvars.get_dotenv_path(env_file_name)

root_dir = os.getcwd()
tests_dir = os.path.join(root_dir, 'tests')

test_solution = 'test_solution'
test_solution_dir = os.path.join(tests_dir, test_solution)


@pytest.fixture(scope="module", autouse=True)
def create_solution(request):
    os.chdir(tests_dir)
    result = runner_invoke(['solution', 'new', test_solution])
Esempio n. 25
0
def test_default_container_registry_server_key_exists():
    envvars = EnvVars(Output())
    envvars.load()
    assert "CONTAINER_REGISTRY_SERVER" in os.environ
Esempio n. 26
0
def test_load_valid():
    envvars = EnvVars(Output())
    envvars.load()
    assert envvars.DEPLOYMENT_CONFIG_TEMPLATE_FILE == "deployment.template.json"
Esempio n. 27
0
def utility():
    output = Output()
    envvars = EnvVars(output)
    envvars.load()
    return Utility(envvars, output)
Esempio n. 28
0
def test_valid_load():
    output = Output()
    envvars = EnvVars(output)
    envvars.load()
    assert envvars.RUNTIME_LOG_LEVEL == "info" or "debug"
Esempio n. 29
0
import os
import uuid
from unittest import mock

import pytest
from iotedgedev.azurecli import AzureCli
from iotedgedev.envvars import EnvVars
from iotedgedev.output import Output
from iotedgedev.connectionstring import DeviceConnectionString

from .utility import get_platform_type, runner_invoke

pytestmark = pytest.mark.e2e

output = Output()
envvars = EnvVars(output)
test_solution_shared_lib_dir = os.path.join(os.getcwd(), "tests", "assets",
                                            "test_solution_shared_lib")


@pytest.mark.parametrize(
    "config, manifest",
    [("layered_deployment.flattened_props.template.json",
      "layered_deployment.flattened_props.json"),
     ("layered_deployment.no_modules.template.json",
      "layered_deployment.no_modules.json"),
     ("deployment.template.json", f"deployment.{get_platform_type()}.json")])
# Test that cmd line target condition (-t) overrides target condition from .env
@mock.patch.dict(os.environ,
                 {"IOTHUB_DEPLOYMENT_TARGET_CONDITION": "invalid_target"})
def test_iothub_deploy(config, manifest):
Esempio n. 30
0
def test_get_envvar__invalid():
    envvars = EnvVars(Output())
    testerval = envvars.get_envvar("TESTER")
    assert not testerval