File: test_input_source_dir.py

package info (click to toggle)
python-briefcase 0.3.22-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,300 kB
  • sloc: python: 59,405; makefile: 57
file content (50 lines) | stat: -rw-r--r-- 1,773 bytes parent folder | download | duplicates (2)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from unittest.mock import ANY, MagicMock


def test_default_and_intro_is_used(convert_command, monkeypatch):
    mock_text_question = MagicMock()
    monkeypatch.setattr(convert_command.console, "text_question", mock_text_question)

    def get_source_dir_hint(*args, **kwargs):
        return "SOME_DIRECTORY", "SOME_DESCRIPTION"

    monkeypatch.setattr(convert_command, "get_source_dir_hint", get_source_dir_hint)

    convert_command.input_source_dir("app-name", "app_name", None)
    mock_text_question.assert_called_once_with(
        intro="SOME_DESCRIPTION",
        description="Source Directory",
        default="SOME_DIRECTORY",
        validator=ANY,
        override_value=None,
    )


def test_default_and_intro_uses_override(convert_command, monkeypatch):
    def get_source_dir_hint(*args, **kwargs):
        return "SOME_DIRECTORY", "SOME_DESCRIPTION"

    monkeypatch.setattr(convert_command, "get_source_dir_hint", get_source_dir_hint)
    (convert_command.base_path / "OVERRIDE_VALUE" / "app_name").mkdir(parents=True)
    (
        convert_command.base_path / "OVERRIDE_VALUE" / "app_name" / "__main__.py"
    ).write_text("", encoding="utf-8")
    assert (
        convert_command.input_source_dir(
            "app-name", "app_name", "OVERRIDE_VALUE/app_name"
        )
        == "OVERRIDE_VALUE/app_name"
    )


def test_prompted_source_dir(convert_command):
    """You can type in the source dir."""
    (convert_command.base_path / "src/app_name").mkdir(parents=True)
    (convert_command.base_path / "src/app_name" / "__main__.py").write_text(
        "", encoding="utf-8"
    )
    convert_command.console.values = ["src/app_name"]

    assert (
        convert_command.input_source_dir("app-name", "app_name", None) == "src/app_name"
    )