summaryrefslogtreecommitdiffstats
path: root/test/units/module_utils/common/validation/test_check_type_path.py
blob: d6ff433aceb86b39527ecea15e0dddb127bd807c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# -*- coding: utf-8 -*-
# Copyright (c) 2019 Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

from __future__ import absolute_import, division, print_function
__metaclass__ = type

import re

import os
from ansible.module_utils.common.validation import check_type_path


def mock_expand(value):
    return re.sub(r'~|\$HOME', '/home/testuser', value)


def test_check_type_path(monkeypatch):
    monkeypatch.setattr(os.path, 'expandvars', mock_expand)
    monkeypatch.setattr(os.path, 'expanduser', mock_expand)
    test_cases = (
        ('~/foo', '/home/testuser/foo'),
        ('$HOME/foo', '/home/testuser/foo'),
        ('/home/jane', '/home/jane'),
        (u'/home/jané', u'/home/jané'),
    )
    for case in test_cases:
        assert case[1] == check_type_path(case[0])