Skip to content

Commit

Permalink
Update tests.
Browse files Browse the repository at this point in the history
* No longer necessary to patch is_anaconda, is_conda_based_app, and get_spyder_conda_channel
* Individual tests for PyPi, conda, and app environments are no longer necessary.
  • Loading branch information
mrclary committed Jul 12, 2024
1 parent c234004 commit 460de25
Showing 1 changed file with 1 addition and 60 deletions.
61 changes: 1 addition & 60 deletions spyder/plugins/updatemanager/tests/test_update_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def worker():
# ---- Test WorkerUpdate

@pytest.mark.parametrize("version", ["1.0.0", "1000.0.0"])
def test_updates_appenv(qtbot, mocker, version, caplog):
def test_updates(qtbot, mocker, version, caplog):
"""
Test whether or not we offer updates for our installers according to the
current Spyder version.
Expand All @@ -44,12 +44,6 @@ def test_updates_appenv(qtbot, mocker, version, caplog):
UpdateManagerWidget, "start_update", new=lambda x: None
)
mocker.patch.object(workers, "__version__", new=version)
mocker.patch.object(workers, "is_anaconda", return_value=True)
mocker.patch.object(workers, "is_conda_based_app", return_value=True)
mocker.patch.object(
workers, "get_spyder_conda_channel",
return_value=("conda-forge", "https://conda.anaconda.org/conda-forge")
)

with caplog.at_level(logging.DEBUG, logger='spyder.plugins.updatemanager'):
# Capture >=DEBUG logging messages for spyder.plugins.updatemanager
Expand Down Expand Up @@ -77,59 +71,6 @@ def test_updates_appenv(qtbot, mocker, version, caplog):
assert len(um.update_worker.releases) > 1


@pytest.mark.parametrize("version", ["1.0.0", "1000.0.0"])
@pytest.mark.parametrize(
"channel", [
("pkgs/main", "https://repo.anaconda.com/pkgs/main"),
("conda-forge", "https://conda.anaconda.org/conda-forge"),
("pypi", "https://conda.anaconda.org/pypi")
]
)
def test_updates_condaenv(qtbot, worker, mocker, version, channel):
"""
Test whether or not we offer updates for conda installed Spyder according
to the current version.
"""
mocker.patch.object(workers, "__version__", new=version)
mocker.patch.object(workers, "is_anaconda", return_value=True)
mocker.patch.object(workers, "is_conda_based_app", return_value=False)
mocker.patch.object(
workers, "get_spyder_conda_channel", return_value=channel
)

with qtbot.waitSignal(worker.sig_ready, timeout=5000):
worker.start()

update_available = worker.update_available
if version.split('.')[0] == '1':
assert update_available
else:
assert not update_available
assert len(worker.releases) == 1


@pytest.mark.parametrize("version", ["1.0.0", "1000.0.0"])
def test_updates_pipenv(qtbot, worker, mocker, version):
"""Test updates for pip installed Spyder."""
mocker.patch.object(workers, "__version__", new=version)
mocker.patch.object(workers, "is_anaconda", return_value=False)
mocker.patch.object(workers, "is_conda_based_app", return_value=False)
mocker.patch.object(
workers, "get_spyder_conda_channel",
return_value=("pypi", "https://conda.anaconda.org/pypi")
)

with qtbot.waitSignal(worker.sig_ready, timeout=5000):
worker.start()

update_available = worker.update_available
if version.split('.')[0] == '1':
assert update_available
else:
assert not update_available
assert len(worker.releases) == 1


@pytest.mark.parametrize("release", ["4.0.1", "4.0.1a1"])
@pytest.mark.parametrize("version", ["4.0.0a1", "4.0.0"])
@pytest.mark.parametrize("stable_only", [True, False])
Expand Down

0 comments on commit 460de25

Please sign in to comment.