Metadata-Version: 2.4
Name: vws-test-fixtures
Version: 2026.10.8
Summary: Test fixtures for testing code which works with the Vuforia Web Services (VWS) API
Author-email: Adam Dangoor <adamdangoor@gmail.com>
License-Expression: MIT
Project-URL: Documentation, https://vws-python.github.io/vws-test-fixtures/
Project-URL: Source, https://github.com/VWS-Python/vws-test-fixtures
Keywords: vuforia,vws
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Pytest
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.13
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: pillow>=10.4.0
Requires-Dist: pytest>=8.3.3
Dynamic: license-file

|Build Status| |PyPI|

VWS Test Fixtures
==================

``pytest`` fixtures for testing tools with the Vuforia Web Services (VWS) API.

Installation
------------

.. code-block:: shell

   pip install vws-test-fixtures

This is tested on Python |minimum-python-version|\+.

Example usage
-------------

.. code-block:: python

   """Run a test which uses a high quality image."""

   import io


   def test_high_quality_image(high_quality_image: io.BytesIO) -> None:
       """Test that a high quality image is given."""
       image_file_bytes = high_quality_image.getvalue()
       minimum_image_size = 1000
       assert len(image_file_bytes) >= minimum_image_size

.. skip doccmd[all]: next

.. Sybil's invisible code block uses a single-colon faux directive, which Snapper treats as prose.
   Disable Snapper only for this executable block so that it does not join Python statements.

.. invisible-code-block: python

   # snapper:off
   from sybil.testing import run_pytest
   from vws_test_fixtures.images import high_quality_image

   run_pytest(test_high_quality_image, fixtures=[high_quality_image])
   # snapper:on

``high_quality_image`` returns an image file which is expected to have a 'success' status when added to a target, and a high tracking rating.

``image_file_failed_state`` is expected to be accepted by the add and update target endpoints, but get a "failed" status.

``png_too_large`` is a PNG which has dimensions whcih are too large to be added to a Vuforia database.

... and more, see the `full documentation <https://vws-python.github.io/vws-test-fixtures/>`__ for details of all fixtures provided.

Full Documentation
------------------

See the `full documentation <https://vws-python.github.io/vws-test-fixtures/>`__.

.. |Build Status| image:: https://github.com/VWS-Python/vws-test-fixtures/actions/workflows/ci.yml/badge.svg?branch=main
   :target: https://github.com/VWS-Python/vws-test-fixtures/actions
.. |PyPI| image:: https://badge.fury.io/py/VWS-Test-Fixtures.svg
   :target: https://badge.fury.io/py/VWS-Test-Fixtures
.. |minimum-python-version| replace:: 3.13
