gradio/test
Lucain 947d615db6
Sign in with Hugging Face (OAuth support) (#4943)
* first draft

* debug

* add print

* working oauth

* inject OAuth profile + enable OAuth when expected + some doc

* add changeset

* mypy

* opt

* open in a new tab only from iframe

* msg

* add changeset

* Apply suggestions from code review

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

* fix injection + gr.Error

* allow third party cookie when possible

* add button to sign in/sign out button

* feedback changes

* oauth as optional dependency

* disable login/logout buttons locally

* nothing

* a bit of documentation

* Add tests for Login/Logout buttons

* Apply suggestions from code review

Co-authored-by: Abubakar Abid <abubakar@huggingface.co>

* mention required dependencies

* fix package

* fix tests

* fix windows tests as well

* Fake profile on local debug

* doc

* fix tets

* lint

* fix test

* test buttons

* login button fix

* lint

* fix final tests

---------

Co-authored-by: gradio-pr-bot <gradio-pr-bot@users.noreply.github.com>
Co-authored-by: Abubakar Abid <abubakar@huggingface.co>
Co-authored-by: Hannah <hannahblair@users.noreply.github.com>
2023-08-10 15:12:40 -04:00
..
golden updated test images 2022-03-17 10:45:48 -07:00
test_files Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
tmp End-to-end UI tests with Selenium (#72) 2020-10-23 18:28:30 +04:00
__init__.py blocks-components-tests 2022-03-30 13:08:34 +03:00
conftest.py Use tempdir for all python unit tests tests (#4882) 2023-07-12 11:19:39 -04:00
README.md Refactor component directories (#5074) 2023-08-03 23:01:18 +01:00
requirements.in Switch linting to Ruff (#3710) 2023-04-03 15:48:18 -07:00
requirements.txt Pinning dependencies in requirements.txt (#4885) 2023-07-12 21:03:53 -04:00
test_analytics.py Lite: Fix the analytics module to use asyncio to work in the Wasm env (#5045) 2023-08-04 09:18:14 -04:00
test_blocks.py Sign in with Hugging Face (OAuth support) (#4943) 2023-08-10 15:12:40 -04:00
test_buttons.py Sign in with Hugging Face (OAuth support) (#4943) 2023-08-10 15:12:40 -04:00
test_chat_interface.py Add support for async functions and async generators to gr.ChatInterface (#5116) 2023-08-08 15:57:55 -04:00
test_components.py chatbot conversation nodes can contain a copy button (#5125) 2023-08-10 10:11:26 -04:00
test_events.py Use tempdir for all python unit tests tests (#4882) 2023-07-12 11:19:39 -04:00
test_external.py Refactor some python tests (#4834) 2023-07-10 13:40:46 -04:00
test_flagging.py Fix dataset features and dataset preview for HuggingFaceDatasetSaver (#5135) 2023-08-09 14:14:12 -04:00
test_helpers.py Allow caching generators and async generators (#4927) 2023-07-14 19:38:22 -04:00
test_interfaces.py Filter-out special args when setting Interface component labels (#4956) 2023-07-19 17:54:39 +03:00
test_interpretation.py More Ruff rules (#4038) 2023-05-04 21:54:23 -05:00
test_mix.py Use tempdir for all python unit tests tests (#4882) 2023-07-12 11:19:39 -04:00
test_networking.py Allow passing FastAPI app options (#4282) 2023-05-20 18:10:00 +09:00
test_pipelines.py Fix for default file name of recorded audio files (#3770) 2023-04-05 13:20:03 -07:00
test_processing_utils.py Use tempdir for all python unit tests tests (#4882) 2023-07-12 11:19:39 -04:00
test_queueing.py Converts "Submit" button to "Stop" button in ChatInterface while streaming (#4971) 2023-07-20 15:01:53 -04:00
test_reload.py Programmatically launch reload to allow factories and arguments to be passed to the app (#4119) 2023-05-15 13:56:10 -04:00
test_routes.py Strip leading and trailing spaces from username in login route (#5104) 2023-08-04 17:37:34 -04:00
test_theme_sharing.py Amend error toast and pill styling (#4454) 2023-06-15 19:51:09 +02:00
test_tunneling.py Persistent FRP (#3149) 2023-02-16 16:31:16 -06:00
test_utils.py fix get_continuous_fn bug when having every (#4434) 2023-06-06 13:46:07 -05:00

Backend Testing Guidelines

  • All the tests should test Backend functionalities. Frontend functionalities and e2e tests are done in Frontend.
  • Make use of pytest fixtures whenever it is possible. With fixtures, objects with high initialize durations are reused within tests, ex. a client session.
  • All testdata resides within _gradio/test_data and all test_files resides within test/test_files.
  • When doing network operations do not forget to make use of async to make tests faster.
  • Have clear class and function naming within the tests.
  • Short descriptions within test functions are great.
  • Library function docstrings is expected to contain an example, please add missing docstrings to the library while you are writing tests the related function.
  • Library docstring examples and descriptions are expected to align with tests, please fix divergent tests and library docstrings.