DEVX-38: fix: clean dist/ before build and add workflow_dispatch to publish
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
"""Unit tests for devx.ci.publish."""
|
||||
|
||||
from pathlib import Path
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
import click
|
||||
@@ -64,7 +65,8 @@ class TestGenerateReleaseNotes:
|
||||
|
||||
class TestBuildPackage:
|
||||
@patch("devx.ci.publish.subprocess.run")
|
||||
def test_success(self, mock_run: MagicMock) -> None:
|
||||
@patch("devx.ci.publish.Path.exists", return_value=False)
|
||||
def test_success(self, mock_exists: MagicMock, mock_run: MagicMock) -> None:
|
||||
mock_run.return_value = MagicMock(returncode=0, stderr="")
|
||||
build_package()
|
||||
args, _ = mock_run.call_args
|
||||
@@ -72,12 +74,23 @@ class TestBuildPackage:
|
||||
assert args[0][2] == "build"
|
||||
|
||||
@patch("devx.ci.publish.subprocess.run")
|
||||
def test_failure_raises(self, mock_run: MagicMock) -> None:
|
||||
@patch("devx.ci.publish.Path.exists", return_value=False)
|
||||
def test_failure_raises(self, mock_exists: MagicMock, mock_run: MagicMock) -> None:
|
||||
mock_run.return_value = MagicMock(returncode=1, stderr="build error")
|
||||
with pytest.raises(click.ClickException) as exc:
|
||||
build_package()
|
||||
assert "build" in str(exc.value)
|
||||
|
||||
@patch("devx.ci.publish.subprocess.run")
|
||||
@patch("devx.ci.publish.shutil.rmtree")
|
||||
@patch("devx.ci.publish.Path.exists", return_value=True)
|
||||
def test_cleans_dist_before_build(
|
||||
self, mock_exists: MagicMock, mock_rmtree: MagicMock, mock_run: MagicMock
|
||||
) -> None:
|
||||
mock_run.return_value = MagicMock(returncode=0, stderr="")
|
||||
build_package()
|
||||
mock_rmtree.assert_called_once_with(Path("dist"))
|
||||
|
||||
|
||||
class TestPublishToPypi:
|
||||
@patch("devx.ci.publish.subprocess.run")
|
||||
|
||||
Reference in New Issue
Block a user