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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
import os
import sys
from unittest.mock import MagicMock, PropertyMock
import httpx
import pytest
from briefcase.integrations.android_sdk import AndroidSDK
from briefcase.integrations.subprocess import Subprocess
from briefcase.platforms.android.gradle import GradlePackageCommand
from ....utils import create_file
@pytest.fixture
def package_command(dummy_console, tmp_path, first_app_config, monkeypatch):
command = GradlePackageCommand(
console=dummy_console,
base_path=tmp_path / "base_path",
data_path=tmp_path / "briefcase",
)
command.tools.android_sdk = MagicMock(spec_set=AndroidSDK)
command.tools.os = MagicMock(spec_set=os)
command.tools.os.environ = {}
command.tools.sys = MagicMock(spec_set=sys)
command.tools.httpx = MagicMock(spec_set=httpx)
command.tools.subprocess = MagicMock(spec_set=Subprocess)
monkeypatch.setattr(
type(command.tools), "system_encoding", PropertyMock(return_value="ISO-42")
)
# Make sure the dist folder exists
(tmp_path / "base_path/dist").mkdir(parents=True)
return command
@pytest.fixture
def first_app_generated(first_app_config, tmp_path):
# Create the briefcase.toml file
create_file(
tmp_path
/ "base_path"
/ "build"
/ "first-app"
/ "android"
/ "gradle"
/ "briefcase.toml",
"""
[paths]
app_packages_path="app_packages"
support_path="support"
metadata_resource_path="res/briefcase.xml"
""",
)
create_file(
tmp_path
/ "base_path"
/ "build"
/ "first-app"
/ "android"
/ "gradle"
/ "res"
/ "briefcase.xml",
"""<resources></resources>""",
)
return first_app_config
|