Esempio n. 1
0
def mock_group(monkeypatch):
    gid = 1000 if is_windows() else 5566
    if not is_windows():
        monkeypatch.setattr(os, 'getgid', lambda: gid)

        import grp

        class MockGroup:
            gr_name = 'test_group'

        monkeypatch.setattr(grp, 'getgrgid', lambda x: MockGroup())
Esempio n. 2
0
def mock_env_user(monkeypatch, home_temp_dir):
    if is_windows():
        monkeypatch.setenv('USERNAME', 'dog_test_user')
    else:
        monkeypatch.setenv('USER', 'dog_test_user')
    monkeypatch.setenv('P4USER', 'dog_test_user')
    monkeypatch.setenv('P4PORT', 'my_perforce_server:5000')
Esempio n. 3
0
def test_auto_mount(
    basic_dog_config,
    call_main,
    tmp_path,
    mock_execvp,
    home_temp_dir,
    extra_dog_conf: str,
    default_mount_point: bool,
):
    append_to_dog_config(tmp_path, ['image=my_image', extra_dog_conf])
    call_main('my_inside_cmd')
    args_left = assert_docker_std_cmdline(mock_execvp)
    args_left = assert_docker_image_and_cmd_inside_docker(
        args_left, 'my_image', ['my_inside_cmd']
    )
    args_left = assert_workdir_param(args_left, get_workdir(tmp_path))
    args_left = std_assert_hostname_param(args_left)
    if default_mount_point:
        if is_windows():
            args_left = assert_volume_params(args_left, [('/C', 'C:\\')])
        else:
            mount_point = str(find_mount_point(tmp_path))
            args_left = assert_volume_params(args_left, [(mount_point, mount_point)])
    else:
        args_left = assert_volume_params(args_left, [])
    args_left = std_assert_interactive(args_left)
    args_left = std_assert_env_params(home_temp_dir, args_left)
    assert args_left == []
Esempio n. 4
0
def std_assert_env_params(home_temp_dir, args_left):
    if is_windows():
        return assert_env_params(
            args_left,
            [
                'DOG_UID=1000',
                'DOG_GID=1000',
                'DOG_USER=dog_test_user',
                'DOG_GROUP=nodoggroup',
                'DOG_HOME=/home/dog_test_user',
                'DOG_AS_ROOT=False',
                f'DOG_VERSION={ACTUAL_DOG_VERSION}',
            ],
        )
    else:
        return assert_env_params(
            args_left,
            [
                'DOG_UID=1122',
                'DOG_GID=5566',
                'DOG_USER=dog_test_user',
                'DOG_GROUP=test_group',
                f'DOG_HOME={home_temp_dir}',
                'DOG_AS_ROOT=False',
                f'DOG_VERSION={ACTUAL_DOG_VERSION}',
            ],
        )
Esempio n. 5
0
def mock_getuid(monkeypatch, tmp_path):
    uid = 1000 if is_windows() else 1122
    if not is_windows():
        monkeypatch.setattr(os, 'getuid', lambda: uid)
Esempio n. 6
0
def get_workdir(pth: Path) -> str:
    if is_windows():
        return win32_to_dog_unix(pth)
    else:
        return str(pth)
Esempio n. 7
0
def std_assert_volume_params(tmp_path, args_left):
    if is_windows():
        return assert_volume_params(args_left, [('/C', 'C:\\')])
    else:
        mount_point = str(find_mount_point(tmp_path))
        return assert_volume_params(args_left, [(mount_point, mount_point)])