Detailed Results

All Test Results

Connect

9 tests — 7 passed, 2 skipped

PASStest_connect_login_uiConnect
src/vip_tests/connect/test_auth.py::test_connect_login_ui1.72s
PASStest_connect_login_apiConnect
src/vip_tests/connect/test_auth.py::test_connect_login_api0.28s
PASStest_admin_userConnect
src/vip_tests/connect/test_users.py::test_admin_user0.28s
PASStest_list_usersConnect
src/vip_tests/connect/test_users.py::test_list_users0.28s
PASStest_list_groupsConnect
src/vip_tests/connect/test_users.py::test_list_groups0.28s
SKIPtest_r_versionsConnect
No expected R versions specified in vip.toml [runtimes]
src/vip_tests/connect/test_runtime_versions.py::test_r_versions0.14s
SKIPtest_python_versionsConnect
No expected Python versions specified in vip.toml [runtimes]
src/vip_tests/connect/test_runtime_versions.py::test_python_versions0.14s
PASStest_quarto_versionsConnect
src/vip_tests/connect/test_runtime_versions.py::test_quarto_versions0.28s
PASStest_connect_system_checksConnect
src/vip_tests/connect/test_system_checks.py::test_connect_system_checks9.99s

Package Manager

5 tests — 3 passed, 2 skipped

PASStest_cran_mirrorPackage Manager
src/vip_tests/package_manager/test_repos.py::test_cran_mirror0.16s
PASStest_pypi_mirrorPackage Manager
src/vip_tests/package_manager/test_repos.py::test_pypi_mirror0.05s
SKIPtest_bioconductor_mirrorPackage Manager
No Bioconductor repository configured in Package Manager
src/vip_tests/package_manager/test_repos.py::test_bioconductor_mirror0.04s
SKIPtest_openvsx_mirrorPackage Manager
No OpenVSX repository configured in Package Manager
src/vip_tests/package_manager/test_repos.py::test_openvsx_mirror0.05s
PASStest_repo_existsPackage Manager
src/vip_tests/package_manager/test_repos.py::test_repo_exists0.05s

Prerequisites

6 tests — 5 passed, 1 failed

PASStest_product_server_is_reachable[Connect]Prerequisites
src/vip_tests/prerequisites/test_components.py::test_product_server_is_reachable[Connect]0.01s
PASStest_product_server_is_reachable[Package Manager]Prerequisites
src/vip_tests/prerequisites/test_components.py::test_product_server_is_reachable[Package Manager]0.05s
FAILtest_intentional_failurePrerequisites
src/vip_tests/prerequisites/test_expected_failure.py::test_intentional_failure0.00s
test_intentional_failure: This failure is intentional: it exists only to show how a failed check renders in this example report. No product configuration will resolve it. assert 'fail (by design)' == 'pass' - pass + fail (by design)
Full error traceback
fixturefunc = <function check_fails_by_design at 0x7ffa5ecfa4b0>
request = <FixtureRequest for <Function test_intentional_failure>>
kwargs = {'demo_outcome': {'expected': 'pass', 'actual': 'fail (by design)'}}

    def call_fixture_func(
        fixturefunc: _FixtureFunc[FixtureValue], request: FixtureRequest, kwargs
    ) -> FixtureValue:
        if inspect.isgeneratorfunction(fixturefunc):
            fixturefunc = cast(Callable[..., Generator[FixtureValue]], fixturefunc)
            generator = fixturefunc(**kwargs)
            try:
                fixture_result = next(generator)
            except StopIteration:
                raise ValueError(f"{request.fixturename} did not yield a value") from None
            finalizer = functools.partial(_teardown_yield_fixture, fixturefunc, generator)
            request.addfinalizer(finalizer)
        else:
            fixturefunc = cast(Callable[..., FixtureValue], fixturefunc)
>           fixture_result = fixturefunc(**kwargs)
                             ^^^^^^^^^^^^^^^^^^^^^

.venv/lib/python3.14/site-packages/_pytest/fixtures.py:1005: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

demo_outcome = {'expected': 'pass', 'actual': 'fail (by design)'}

    @then("it fails by design, not because anything is actually broken")
    def check_fails_by_design(demo_outcome):
>       assert demo_outcome["actual"] == demo_outcome["expected"], (
            "This failure is intentional: it exists only to show how a failed check "
            "renders in this example report. No product configuration will resolve it."
        )
E       AssertionError: This failure is intentional: it exists only to show how a failed check renders in this example report. No product configuration will resolve it.
E       assert 'fail (by design)' == 'pass'
E         
E         - pass
E         + fail (by design)

src/vip_tests/prerequisites/test_expected_failure.py:49: AssertionError
PASStest_connect_versionPrerequisites
src/vip_tests/prerequisites/test_versions.py::test_connect_version0.16s
PASStest_package_manager_versionPrerequisites
src/vip_tests/prerequisites/test_versions.py::test_package_manager_version0.03s
PASStest_product_server_is_reachable[Workbench]Prerequisites
src/vip_tests/prerequisites/test_components.py::test_product_server_is_reachable[Workbench]0.11s

Security

3 tests — 3 passed

PASStest_unauthenticated_api_request_returns_401Security
src/vip_tests/security/test_error_handling.py::test_unauthenticated_api_request_returns_4010.01s
PASStest_invalid_api_key_returns_401Security
src/vip_tests/security/test_error_handling.py::test_invalid_api_key_returns_4013.36s
PASStest_nonexistent_endpoint_returns_404Security
src/vip_tests/security/test_error_handling.py::test_nonexistent_endpoint_returns_4040.01s

Workbench

2 tests — 2 passed

PASStest_workbench_signout[chromium]Workbench
src/vip_tests/workbench/test_auth.py::test_workbench_signout[chromium]0.66s
PASStest_workbench_login[chromium]Workbench
src/vip_tests/workbench/test_auth.py::test_workbench_login[chromium]5.34s