| Product | URL | Version |
|---|---|---|
| Connect | http://localhost:3939 | 2026.03.0 |
| Package Manager | http://localhost:4242 | 2024.08.0-6 |
VIP Report
Verified Installation of Posit
Deployment: CI Connect 2026.03.0 + PM 2024.08.0-6 Generated: 2026-03-23 17:03:34 UTC
Products Under Test
Summary
| Metric | Count |
|---|---|
| Total | 10 |
| Passed | 5 |
| Failed | 2 |
| Skipped | 3 |
| Status | FAIL |
Results by Category
Connect
2 tests — 1 passed, 1 failed
Test procedure
- Given Connect is accessible at the configured URL
- And a valid API key is configured
- When I request the current user via the API
- Then the API returns user information
Test procedure
- Given Connect is accessible at the configured URL
- And a valid API key is configured
- When I trigger a new system check run via the Connect API
- Then the system check report is returned
- And I can download the system check report artifact
Package Manager
4 tests — 2 passed, 2 skipped
Test procedure
- Given Package Manager is running
- When I query the CRAN repository for the "Matrix" package
- Then the package is found in the repository
Test procedure
- Given Package Manager is running
- When I query the PyPI repository for the "requests" package
- Then the package is found in the repository
Test procedure
- Given Package Manager is running
- When I query the Bioconductor repository for the "BiocGenerics" package
- Then the package is found in the repository
Test procedure
- Given Package Manager is running
- When I list all repositories
- Then at least one repository exists
Prerequisites
4 tests — 2 passed, 1 failed, 1 skipped
Test procedure
- Given <product> is configured in vip.toml
- When I request the <product> health endpoint
- Then the server responds with a successful status code
Test procedure
- Given <product> is configured in vip.toml
- When I request the <product> health endpoint
- Then the server responds with a successful status code
Test procedure
- Given <product> is configured in vip.toml
- When I request the <product> health endpoint
- Then the server responds with a successful status code
Test procedure
- Given Workbench is expected to be configured
- When I check the Workbench configuration
- Then Workbench should be reachable
Failed Tests
tests/prerequisites/test_expected_failure.py::test_workbench_expected_failure
What was tested: Workbench server is reachable but not configured — As a VIP developer I want to see what a failed test looks like in the report So that I can verify the report renders failures correctly
Error traceback
fixturefunc = <function workbench_reachable at 0x7f393bff36a0>
request = <FixtureRequest for <Function test_workbench_expected_failure>>
kwargs = {'wb_configured': False}
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.13/site-packages/_pytest/fixtures.py:915:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
wb_configured = False
@then("Workbench should be reachable")
def workbench_reachable(wb_configured):
> assert wb_configured, (
"Workbench is not configured. "
"This is an expected failure used to demonstrate report rendering. "
"Set [workbench] url in vip.toml to resolve."
)
E AssertionError: Workbench is not configured. This is an expected failure used to demonstrate report rendering. Set [workbench] url in vip.toml to resolve.
E assert False
tests/prerequisites/test_expected_failure.py:42: AssertionError- Workbench is not configured in vip.toml (expected in CI preview)
- This test intentionally fails to demonstrate report failure rendering
- No action needed — this failure is expected in the CI report preview
- To resolve, add a [workbench] section with a valid URL to vip.toml
Documentation: https://github.com/posit-dev/vip/issues/73
tests/connect/test_system_checks.py::test_connect_system_checks
What was tested: Connect system checks can be run and the report downloaded — As a Posit Team administrator I want to run the Connect system diagnostics So that I can verify the Connect installation is healthy
Error traceback
fixturefunc = <function trigger_system_check at 0x7f393bf80ea0>
request = <FixtureRequest for <Function test_connect_system_checks>>
kwargs = {'connect_client': <vip.clients.connect.ConnectClient object at 0x7f393bfbfb60>}
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.13/site-packages/_pytest/fixtures.py:915:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/connect/test_system_checks.py:32: in trigger_system_check
return connect_client.run_server_check()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src/vip/clients/connect.py:251: in run_server_check
resp.raise_for_status()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Response [404 Not Found]>
def raise_for_status(self) -> Response:
"""
Raise the `HTTPStatusError` if one occurred.
"""
request = self._request
if request is None:
raise RuntimeError(
"Cannot call `raise_for_status` as the request "
"instance has not been set on this response."
)
if self.is_success:
return self
if self.has_redirect_location:
message = (
"{error_type} '{0.status_code} {0.reason_phrase}' for url '{0.url}'\n"
"Redirect location: '{0.headers[location]}'\n"
"For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/{0.status_code}"
)
else:
message = (
"{error_type} '{0.status_code} {0.reason_phrase}' for url '{0.url}'\n"
"For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/{0.status_code}"
)
status_class = self.status_code // 100
error_types = {
1: "Informational response",
3: "Redirect response",
4: "Client error",
5: "Server error",
}
error_type = error_types.get(status_class, "Invalid status code")
message = message.format(self, error_type=error_type)
> raise HTTPStatusError(message, request=request, response=self)
E httpx.HTTPStatusError: Client error '404 Not Found' for url 'http://localhost:3939/__api__/v1/server_checks'
E For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
.venv/lib/python3.13/site-packages/httpx/_models.py:829: HTTPStatusErrorfailures.json is written by pytest alongside results.json.
Connect System Checks
No Connect system checks report found. Run tests/connect/test_system_checks.py against a configured Connect instance.