Metadata-Version: 2.1
Name: VWS-Python-Mock
Version: 2021.12.26.4
Summary: A mock for the Vuforia Web Services (VWS) API.
Home-page: https://vws-python-mock.readthedocs.io
Author: Adam Dangoor
Author-email: adamdangoor@gmail.com
License: MIT License
Keywords: vuforia mock fake client
Platform: UNKNOWN
Classifier: Operating System :: POSIX
Classifier: Environment :: Web Environment
Classifier: Programming Language :: Python :: 3.9
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 5 - Production/Stable
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: Pillow
Requires-Dist: VWS-Auth-Tools
Requires-Dist: flask
Requires-Dist: requests-mock
Requires-Dist: requests
Requires-Dist: tzdata ; sys_platform == "win32"
Provides-Extra: dev
Requires-Dist: PyYAML (==6.0) ; extra == 'dev'
Requires-Dist: Sphinx-Substitution-Extensions (==2020.9.30.0) ; extra == 'dev'
Requires-Dist: Sphinx (==4.3.2) ; extra == 'dev'
Requires-Dist: VWS-Test-Fixtures (==2021.11.5.1) ; extra == 'dev'
Requires-Dist: autoflake (==1.4) ; extra == 'dev'
Requires-Dist: black (==21.12b0) ; extra == 'dev'
Requires-Dist: check-manifest (==0.47) ; extra == 'dev'
Requires-Dist: doc8 (==0.10.1) ; extra == 'dev'
Requires-Dist: docker (==5.0.3) ; extra == 'dev'
Requires-Dist: dodgy (==0.2.1) ; extra == 'dev'
Requires-Dist: flake8-commas (==2.1.0) ; extra == 'dev'
Requires-Dist: flake8-quotes (==3.3.1) ; extra == 'dev'
Requires-Dist: flake8 (==4.0.1) ; extra == 'dev'
Requires-Dist: freezegun (==1.1.0) ; extra == 'dev'
Requires-Dist: furo (==2021.11.23) ; extra == 'dev'
Requires-Dist: isort (==5.10.1) ; extra == 'dev'
Requires-Dist: keyring (==23.4.0) ; extra == 'dev'
Requires-Dist: mypy (==0.930) ; extra == 'dev'
Requires-Dist: pip-check-reqs (==2.3.2) ; extra == 'dev'
Requires-Dist: pydocstyle (==6.1.1) ; extra == 'dev'
Requires-Dist: pyenchant (==3.2.2) ; extra == 'dev'
Requires-Dist: pylint (==2.12.2) ; extra == 'dev'
Requires-Dist: pyroma (==3.2) ; extra == 'dev'
Requires-Dist: pytest-cov (==3.0.0) ; extra == 'dev'
Requires-Dist: pytest-envfiles (==0.1.0) ; extra == 'dev'
Requires-Dist: pytest (==6.2.5) ; extra == 'dev'
Requires-Dist: requests-mock-flask (==2021.12.13) ; extra == 'dev'
Requires-Dist: sphinx-autodoc-typehints (==1.12.0) ; extra == 'dev'
Requires-Dist: sphinx-paramlinks (==0.5.2) ; extra == 'dev'
Requires-Dist: sphinxcontrib-httpdomain (==1.8.0) ; extra == 'dev'
Requires-Dist: sphinxcontrib-spelling (==7.3.0) ; extra == 'dev'
Requires-Dist: types-Flask (==1.1.6) ; extra == 'dev'
Requires-Dist: types-freezegun (==1.1.3) ; extra == 'dev'
Requires-Dist: types-PyYAML (==6.0.1) ; extra == 'dev'
Requires-Dist: types-requests (==2.26.2) ; extra == 'dev'
Requires-Dist: types-setuptools (==57.4.4) ; extra == 'dev'
Requires-Dist: vulture (==2.3) ; extra == 'dev'
Requires-Dist: vws-python (==2021.3.28.2) ; extra == 'dev'

|Build Status| |codecov| |PyPI| |Documentation Status|

VWS Mock
========

.. contents::
   :local:

Mock for the Vuforia Web Services (VWS) API and the Vuforia Web Query API.

Mocking calls made to Vuforia with Python ``requests``
------------------------------------------------------

Using the mock redirects requests to Vuforia made with `requests`_ to an in-memory implementation.

This requires Python 3.9+.

.. code:: sh

    pip install vws-python-mock

.. code:: python

    import requests
    from mock_vws import MockVWS, VuforiaDatabase

    with MockVWS() as mock:
        database = VuforiaDatabase()
        mock.add_database(database=database)
        # This will use the Vuforia mock.
        requests.get('https://vws.vuforia.com/summary')

By default, an exception will be raised if any requests to unmocked addresses are made.

.. _requests: https://pypi.org/project/requests/

Using Docker to mock calls to Vuforia from any language
-------------------------------------------------------

It is possible run a Mock VWS instance using Docker containers.

This allows you to run tests against a mock VWS instance regardless of the language or tooling you are using.

See the `the instructions <https://vws-python-mock.readthedocs.io/en/latest/docker.html>`__ for how to do this.

Full documentation
------------------

See the `full documentation <https://vws-python-mock.readthedocs.io/en/latest>`__.
This includes details on how to use the mock, options, and details of the differences between the mock and the real Vuforia Web Services.


.. |Build Status| image:: https://github.com/VWS-Python/vws-python-mock/workflows/CI/badge.svg
   :target: https://github.com/VWS-Python/vws-python-mock/actions
.. |codecov| image:: https://codecov.io/gh/VWS-Python/vws-python-mock/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/VWS-Python/vws-python-mock
.. |PyPI| image:: https://badge.fury.io/py/VWS-Python-Mock.svg
    :target: https://badge.fury.io/py/VWS-Python-Mock
.. |Documentation Status| image:: https://readthedocs.org/projects/vws-python-mock/badge/?version=latest
   :target: https://vws-python-mock.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status


