Skip to content

Commit

Permalink
Update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
maisim committed Nov 22, 2023
1 parent 7c160c1 commit 08c1edc
Show file tree
Hide file tree
Showing 8 changed files with 47 additions and 45 deletions.
10 changes: 6 additions & 4 deletions pyinfra/operations/pipx.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"""

from pyinfra import host
from pyinfra.api import operation
from pyinfra.api import operation, OperationError
from pyinfra.facts.server import Path
from pyinfra.facts.pipx import PipxPackages, PipxEnvironment

Expand All @@ -29,7 +29,7 @@ def packages(
+ extra_install_args: additional arguments to the pipx install command
Versions:
Package versions can be pinned like pipx: ``<pkg>==<version>``.
Package versions can be pinned like pip: ``<pkg>==<version>``.
**Example:**
Expand All @@ -56,6 +56,9 @@ def packages(
if packages:
current_packages = host.get_fact(PipxPackages, pipx=pipx)

if current_packages is None:
raise OperationError("Unable to get pipx packages")

# pipx support only one package name at a time
for package in packages:
yield from ensure_packages(
Expand All @@ -76,7 +79,6 @@ def upgrade_all(pipx="pipx"):
"""
Upgrade all pipx packages.
"""

yield f"{pipx} upgrade-all"


Expand All @@ -93,6 +95,6 @@ def ensure_path(pipx="pipx"):

# If the pipx bin dir is already in the user's PATH, we're done
if pipx_env["PIPX_BIN_DIR"] in path.split(":"):
return
host.noop("pipx bin dir is already in the PATH")
else:
yield f"{pipx} ensurepath"
22 changes: 22 additions & 0 deletions tests/facts/pipx.PipxEnvironment/environment.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"command": "pipx environment",
"requires_command": "pipx",
"output": [
"PIPX_HOME=/home/doodba/.local/pipx",
"PIPX_BIN_DIR=/home/doodba/.local/bin",
"PIPX_SHARED_LIBS=/home/doodba/.local/pipx/shared",
"PIPX_LOCAL_VENVS=/home/doodba/.local/pipx/venvs",
"PIPX_LOG_DIR=/home/doodba/.local/pipx/logs",
"PIPX_TRASH_DIR=/home/doodba/.local/pipx/.trash",
"PIPX_VENV_CACHEDIR=/home/doodba/.local/pipx/.cache"
],
"fact": {
"PIPX_HOME": "/home/doodba/.local/pipx",
"PIPX_BIN_DIR": "/home/doodba/.local/bin",
"PIPX_SHARED_LIBS": "/home/doodba/.local/pipx/shared",
"PIPX_LOCAL_VENVS": "/home/doodba/.local/pipx/venvs",
"PIPX_LOG_DIR": "/home/doodba/.local/pipx/logs",
"PIPX_TRASH_DIR": "/home/doodba/.local/pipx/.trash",
"PIPX_VENV_CACHEDIR": "/home/doodba/.local/pipx/.cache"
}
}
12 changes: 0 additions & 12 deletions tests/facts/pipx.PipxEnvironment/packages.json

This file was deleted.

22 changes: 6 additions & 16 deletions tests/facts/pipx.PipxPackages/packages.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,12 @@
{
"command": "pipx environment",
"command": "pipx list --short",
"requires_command": "pipx",
"output": [
"PIPX_HOME=/home/doodba/.local/pipx",
"PIPX_BIN_DIR=/home/doodba/.local/bin",
"PIPX_SHARED_LIBS=/home/doodba/.local/pipx/shared",
"PIPX_LOCAL_VENVS=/home/doodba/.local/pipx/venvs",
"PIPX_LOG_DIR=/home/doodba/.local/pipx/logs",
"PIPX_TRASH_DIR=/home/doodba/.local/pipx/.trash",
"PIPX_VENV_CACHEDIR=/home/doodba/.local/pipx/.cache"
"copier 9.0.1",
"invoke 2.2.0"
],
"fact": {
"PIPX_HOME": "/home/doodba/.local/pipx",
"PIPX_BIN_DIR": "/home/doodba/.local/bin",
"PIPX_SHARED_LIBS": "/home/doodba/.local/pipx/shared",
"PIPX_LOCAL_VENVS": "/home/doodba/.local/pipx/venvs",
"PIPX_LOG_DIR": "/home/doodba/.local/pipx/logs",
"PIPX_TRASH_DIR": "/home/doodba/.local/pipx/.trash",
"PIPX_VENV_CACHEDIR": "/home/doodba/.local/pipx/.cache"
}
"copier": ["9.0.1"],
"invoke": ["2.2.0"]
}
}
2 changes: 1 addition & 1 deletion tests/operations/pipx.ensure_path/ensure_path.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"args": [["copier==9.0.1", "invoke"]],
"args": [],
"facts": {
"pipx.PipxEnvironment": {
"PIPX_HOME": "/home/doodba/.local/pipx",
Expand Down
6 changes: 3 additions & 3 deletions tests/operations/pipx.packages/add_packages.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"args": ["copier==9.0.1", "invoke"],
"args": [["copier==0.9.1", "invoke"]],
"facts": {
"pipx.PipxPackages": {}
"pipx.PipxPackages": {"ensurepath": ["0.1.1"]}
},
"commands": [
"pipx install --force copier==9.0.1",
"pipx install --force copier==0.9.1",
"pipx install --force invoke"
]
}
14 changes: 6 additions & 8 deletions tests/operations/pipx.packages/remove_packages.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
{
"args": [["elasticquery==1.2", "pyinfra", "test==1.1"]],
"args": [["invoke", "copier"]],
"kwargs": {
"present": false
},
"facts": {
"pip.PipPackages": {
"pip=pip": {
"elasticquery": ["1.0"],
"pyinfra": [""],
"test": ["1.1"]
"pipx.PipxPackages": {
"copier": ["9.0.1"],
"invoke": ["2.2.0"]
}
}
},
"commands": [
"pip uninstall --yes pyinfra test==1.1"
"pipx uninstall invoke",
"pipx uninstall copier"
]
}
4 changes: 3 additions & 1 deletion tests/operations/pipx.upgrade_all/upgrade_all.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,7 @@
"facts": {},
"commands": [
"pipx upgrade-all"
]
],
"idempotent": false,
"disable_idempotent_warning_reason": "package upgrades are always executed"
}

0 comments on commit 08c1edc

Please sign in to comment.