"""Unit tests: private_dirs"""
import pytest


@pytest.mark.parametrize(
    'gnupghome',
    [True, False],
    ids=['gnupghome-set', 'gnupghome-unset'],
)
@pytest.mark.parametrize('param', ['all', 'gnupg'])
def test_relative_path(runner, paths, gnupghome, param):
    """Test translate_to_relative"""

    alt_gnupghome = 'alt/gnupghome'
    env_gnupghome = paths.work.join(alt_gnupghome)

    script = f"""
        YADM_TEST=1 source {paths.pgm}
        YADM_WORK={paths.work}
        private_dirs {param}
    """

    env = {}
    if gnupghome:
        env['GNUPGHOME'] = env_gnupghome

    expected = alt_gnupghome if gnupghome else '.gnupg'
    if param == 'all':
        expected = f'.ssh {expected}'

    run = runner(command=['bash'], inp=script, env=env)
    assert run.success
    assert run.err == ''
    assert run.out.strip() == expected