forked from Lainports/opnsense-ports
31 lines
847 B
Python
31 lines
847 B
Python
import os
|
|
|
|
from locust import HttpLocust, TaskSet, task
|
|
from locust.clients import HttpSession
|
|
|
|
class MultipleHostsLocust(HttpLocust):
|
|
abstract = True
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
super(MultipleHostsLocust, self).__init__(*args, **kwargs)
|
|
self.api_client = HttpSession(base_url=os.environ["API_HOST"])
|
|
|
|
|
|
class UserTasks(TaskSet):
|
|
# but it might be convenient to use the @task decorator
|
|
@task
|
|
def index(self):
|
|
self.locust.client.get("/")
|
|
|
|
@task
|
|
def index_other_host(self):
|
|
self.locust.api_client.get("/stats/requests")
|
|
|
|
class WebsiteUser(MultipleHostsLocust):
|
|
"""
|
|
Locust user class that does requests to the locust web server running on localhost
|
|
"""
|
|
host = "http://127.0.0.1:8089"
|
|
min_wait = 2000
|
|
max_wait = 5000
|
|
task_set = UserTasks
|