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
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
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'
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'
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)
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
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
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)
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)
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
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
def test_invalid_get_envvar_key_if_val(): output = Output() envvars = EnvVars(output) assert not envvars.get_envvar_key_if_val("TESTER")
def test_envvar_clean(): EnvVars(Output()) envvar_clean_name = u"IOTEDGEDEV_ENVVAR_CLEAN_TEST" os.environ[envvar_clean_name] = u"test unicode string"
def test_get_envvar_key_if_val__valid(): envvars = EnvVars(Output()) assert envvars.get_envvar_key_if_val("DEPLOYMENT_CONFIG_TEMPLATE_FILE")
def test_get_envvar_key_if_val__invalid(): envvars = EnvVars(Output()) assert not envvars.get_envvar_key_if_val("TESTER")
def test_valid_get_envvar_key_if_val(): output = Output() envvars = EnvVars(output) assert envvars.get_envvar_key_if_val("RUNTIME_LOG_LEVEL")
def test_valid_get_envvar(): output = Output() envvars = EnvVars(output) loglevel = envvars.get_envvar("RUNTIME_LOG_LEVEL") assert loglevel == "info" or "debug"
def test_get_envvar__valid(): envvars = EnvVars(Output()) deployment_template = envvars.get_envvar("DEPLOYMENT_CONFIG_TEMPLATE_FILE") assert deployment_template is not None
def test_is_terse_command_false(): envvars = EnvVars(Output()) assert not envvars.is_terse_command("solution add")
def test_in_command_list_false(command, command_list): envvars = EnvVars(Output()) assert not envvars.in_command_list(command, command_list)
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)
def test_default_envvar_value_exists(envvar): envvars = EnvVars(Output()) server = envvars.get_envvar(envvar) assert server is not None
def test_is_terse_command_true(command): envvars = EnvVars(Output()) assert envvars.is_terse_command(command)
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])
def test_default_container_registry_server_key_exists(): envvars = EnvVars(Output()) envvars.load() assert "CONTAINER_REGISTRY_SERVER" in os.environ
def test_load_valid(): envvars = EnvVars(Output()) envvars.load() assert envvars.DEPLOYMENT_CONFIG_TEMPLATE_FILE == "deployment.template.json"
def utility(): output = Output() envvars = EnvVars(output) envvars.load() return Utility(envvars, output)
def test_valid_load(): output = Output() envvars = EnvVars(output) envvars.load() assert envvars.RUNTIME_LOG_LEVEL == "info" or "debug"
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):
def test_get_envvar__invalid(): envvars = EnvVars(Output()) testerval = envvars.get_envvar("TESTER") assert not testerval