blob: 7425bef353ddf3429441e788439b204f9bdd285d [file]
import pytest
from app.utility.base_object import BaseObject
from app.utility.base_object import AppConfigGlobalVariableIdentifier
from app.utility.base_world import BaseWorld
@pytest.fixture
def base_world():
BaseWorld.apply_config(
name='main',
config={
'app.foo': 'foo',
'app.bar': 'bar',
'auth.baz': 'not an app. item'
}
)
yield BaseWorld
BaseWorld.clear_config()
def test_replace_app_props(base_world):
base_object = BaseObject()
command = 'echo #{foo} #{app.foo} #{app.bar} #{app.foo.do.not.replace.me}'
replaced = base_object.replace_app_props(BaseWorld.encode_string(command))
expected = 'echo #{foo} foo bar #{app.foo.do.not.replace.me}'
assert expected == BaseWorld.decode_bytes(replaced)
def test_is_global_variable_identifies_variable_starting_with_app(base_world):
global_variable_owner = AppConfigGlobalVariableIdentifier()
assert global_variable_owner.is_global_variable('app.foo')
assert global_variable_owner.is_global_variable('app.bar')
def test_is_global_variable_identifies_variable_ignores_non_config_key(base_world):
global_variable_owner = AppConfigGlobalVariableIdentifier()
# Starts with 'app.' but not a configuration key
assert global_variable_owner.is_global_variable('app.this.does.not.exist') is False
def test_is_global_variable_identifies_variable_ignores_config_keys_not_starting_with_app(base_world):
global_variable_owner = AppConfigGlobalVariableIdentifier()
# Is a config item but doesn't start with 'app.'
assert global_variable_owner.is_global_variable('auth.baz') is False