Пример #1
0
def test_postgresql_config(env_name):
    env = Environment(
        DefaultPaths(env_name, environments_dir=TEST_ENVIRONMENTS_DIR))

    if not os.path.exists(env.paths.generated_yml):
        raise SkipTest

    with open(env.paths.generated_yml, encoding='utf-8') as f:
        generated = yaml.safe_load(f)
        assert list(generated.keys()) == ['postgresql_dbs']

    expected_json = generated['postgresql_dbs']

    actual_json = env.postgresql_config.to_generated_variables(
        env)['postgresql_dbs']

    assert_equal(
        actual_json,
        expected_json,
        msg=('\n\n' + '\n'.join(
            difflib.unified_diff(
                list(
                    yaml.dump(actual_json,
                              Dumper=PreserveUnsafeDumper).splitlines()),
                list(
                    yaml.dump(expected_json,
                              Dumper=PreserveUnsafeDumper).splitlines()),
                'Actual',
                'Expected',
                lineterm=''))))
Пример #2
0
def test_csv_inventory(env_name):
    env = Environment(
        DefaultPaths(env_name, environments_dir=TEST_ENVIRONMENTS_DIR))

    for group, hosts in env.sshable_hostnames_by_group.items():
        assert set(hosts) == set(HOSTS_BY_GROUP[group]), "{}: {}".format(
            group, hosts)

    inventory = env.inventory_manager
    for name, group in inventory.groups.items():
        expected = EXPECTED_OUTPUT[name]
        assert group.vars == expected.get('vars', {}), "{}: {}".format(
            name, group.vars)
        hosts = {host.name for host in group.hosts}
        assert hosts == set(expected.get('hosts', [])), "{}: {}".format(
            name, group.hosts)
        children = {child.name for child in group.child_groups}
        assert children == set(expected.get('children', [])), "{}: {}".format(
            name, group.child_groups)

    for name, host in inventory.hosts.items():
        expected_vars = EXPECTED_OUTPUT["hostvars"][name]
        host_vars = {
            var: val
            for var, val in host.vars.items() if var not in INTERNAL_HOST_VARS
        }
        assert host_vars == expected_vars, "{}: {}".format(name, host_vars)
Пример #3
0
def test_postgresql_config(env_name):
    env = Environment(
        DefaultPaths(env_name, environments_dir=TEST_ENVIRONMENTS_DIR))

    with open(env.paths.generated_yml) as f:
        generated = yaml.safe_load(f)
        assert generated.keys() == ['postgresql_dbs']

    expected_json = generated['postgresql_dbs']

    actual_json = env.postgresql_config.to_generated_variables(
        env)['postgresql_dbs']

    assert_equal(actual_json, expected_json)
Пример #4
0
def get_environment(env_name):
    return Environment(DefaultPaths(env_name))
def test_python_version():
    env = Environment(DefaultPaths('travis', environments_dir=ENVS_DIR))
    assert 'python_version' not in env.public_vars, env.public_vars[
        'python_version']
    assert env.python_version == env.group_vars["python_version"], \
        (env.python_version, env.group_vars["python_version"])
Пример #6
0
def update_configs():
    for env_name in TEST_ENVIRONMENTS:
        env = Environment(DefaultPaths(env_name, environments_dir=TEST_ENVIRONMENTS_DIR))
        if os.path.exists(env.paths.generated_yml):
            print("updating config:", env_name)
            update_config(env)