locust 2.32.2.dev2__tar.gz → 2.32.2.dev6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/PKG-INFO +1 -1
  2. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/_version.py +2 -2
  3. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/web.py +32 -2
  4. locust-2.32.2.dev2/locust/webui/dist/assets/index-LlbhTJVf.js → locust-2.32.2.dev6/locust/webui/dist/assets/index-CV_-ndKF.js +31 -31
  5. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/webui/dist/auth.html +1 -1
  6. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/webui/dist/index.html +1 -1
  7. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/pyproject.toml +1 -1
  8. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/LICENSE +0 -0
  9. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/README.md +0 -0
  10. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/__init__.py +0 -0
  11. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/__main__.py +0 -0
  12. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/argument_parser.py +0 -0
  13. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/clients.py +0 -0
  14. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/contrib/__init__.py +0 -0
  15. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/contrib/fasthttp.py +0 -0
  16. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/contrib/mongodb.py +0 -0
  17. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/contrib/postgres.py +0 -0
  18. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/debug.py +0 -0
  19. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/dispatch.py +0 -0
  20. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/env.py +0 -0
  21. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/event.py +0 -0
  22. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/exception.py +0 -0
  23. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/html.py +0 -0
  24. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/input_events.py +0 -0
  25. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/log.py +0 -0
  26. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/main.py +0 -0
  27. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/py.typed +0 -0
  28. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/rpc/__init__.py +0 -0
  29. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/rpc/protocol.py +0 -0
  30. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/rpc/zmqrpc.py +0 -0
  31. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/runners.py +0 -0
  32. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/shape.py +0 -0
  33. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/stats.py +0 -0
  34. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/user/__init__.py +0 -0
  35. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/user/inspectuser.py +0 -0
  36. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/user/sequential_taskset.py +0 -0
  37. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/user/task.py +0 -0
  38. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/user/users.py +0 -0
  39. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/user/wait_time.py +0 -0
  40. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/__init__.py +0 -0
  41. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/cache.py +0 -0
  42. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/date.py +0 -0
  43. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/deprecation.py +0 -0
  44. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/directory.py +0 -0
  45. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/exception_handler.py +0 -0
  46. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/load_locustfile.py +0 -0
  47. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/rounding.py +0 -0
  48. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/timespan.py +0 -0
  49. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/util/url.py +0 -0
  50. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/webui/dist/assets/favicon-dark.png +0 -0
  51. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/webui/dist/assets/favicon-light.png +0 -0
  52. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/locust/webui/dist/report.html +0 -0
  53. {locust-2.32.2.dev2 → locust-2.32.2.dev6}/poetry.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust
3
- Version: 2.32.2.dev2
3
+ Version: 2.32.2.dev6
4
4
  Summary: Developer-friendly load testing framework
5
5
  Home-page: https://locust.io/
6
6
  License: MIT
@@ -14,7 +14,7 @@ __version_tuple__: VERSION_TUPLE
14
14
  version_tuple: VERSION_TUPLE
15
15
 
16
16
 
17
- __version__ = "2.32.2.dev2"
17
+ __version__ = "2.32.2.dev6"
18
18
  version = __version__
19
- __version_tuple__ = (2, 32, 2, "dev2")
19
+ __version_tuple__ = (2, 32, 2, "dev6")
20
20
  version_tuple = __version_tuple__
@@ -11,7 +11,7 @@ from io import StringIO
11
11
  from itertools import chain
12
12
  from json import dumps
13
13
  from time import time
14
- from typing import TYPE_CHECKING, Any
14
+ from typing import TYPE_CHECKING, Any, TypedDict
15
15
 
16
16
  import gevent
17
17
  from flask import (
@@ -53,6 +53,34 @@ greenlet_exception_handler = greenlet_exception_logger(logger)
53
53
  DEFAULT_CACHE_TIME = 2.0
54
54
 
55
55
 
56
+ class InputField(TypedDict, total=False):
57
+ label: str
58
+ name: str
59
+ default_value: bool | None
60
+ choices: list[str] | None
61
+ is_secret: bool | None
62
+
63
+
64
+ class CustomForm(TypedDict, total=False):
65
+ inputs: list[InputField] | None
66
+ callback_url: str
67
+ submit_button_text: str | None
68
+
69
+
70
+ class AuthProvider(TypedDict, total=False):
71
+ label: str | None
72
+ callback_url: str
73
+ icon_url: str | None
74
+
75
+
76
+ class AuthArgs(TypedDict, total=False):
77
+ custom_form: CustomForm
78
+ auth_providers: list[AuthProvider]
79
+ username_password_callback: str
80
+ error: str
81
+ info: str
82
+
83
+
56
84
  class WebUI:
57
85
  """
58
86
  Sets up and runs a Flask web app that can start and stop load tests using the
@@ -84,7 +112,7 @@ class WebUI:
84
112
  """Arguments used to render index.html for the web UI. Must be used with custom templates
85
113
  extending index.html."""
86
114
 
87
- auth_args: dict[str, Any]
115
+ auth_args: AuthArgs
88
116
  """Arguments used to render auth.html for the web UI auth page. Must be used when configuring auth"""
89
117
 
90
118
  def __init__(
@@ -506,6 +534,7 @@ class WebUI:
506
534
  return redirect(url_for("index"))
507
535
 
508
536
  self.auth_args["error"] = session.get("auth_error", None)
537
+ self.auth_args["info"] = session.get("auth_info", None)
509
538
 
510
539
  return render_template_from(
511
540
  "auth.html",
@@ -577,6 +606,7 @@ class WebUI:
577
606
  if self.web_login:
578
607
  try:
579
608
  session["auth_error"] = None
609
+ session["auth_info"] = None
580
610
  return login_required(view_func)(*args, **kwargs)
581
611
  except Exception as e:
582
612
  return f"Locust auth exception: {e} See https://docs.locust.io/en/stable/extending-locust.html#adding-authentication-to-the-web-ui for configuring authentication."