You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
922 B
33 lines
922 B
from random import randrange
|
|
|
|
from locust import HttpUser, TaskSet, task
|
|
|
|
|
|
class RegistredUser(HttpUser):
|
|
min_wait = 5000
|
|
max_wait = 9000
|
|
|
|
@task
|
|
class BaesianStresstest(TaskSet):
|
|
@task(1)
|
|
def create_item(self):
|
|
id = self.__get_item_id()
|
|
url = '/item/{0}'.format(id)
|
|
self.client.post(url, {'name': 'item_{0}'.format(id)})
|
|
|
|
@task(2)
|
|
def add_vote(self):
|
|
item_id = self.__get_item_id()
|
|
user_id = self.__get_user_id()
|
|
url = '/item/vote/{0}'.format(item_id)
|
|
self.client.put(url, {'mark': randrange(0, 10), 'userid': user_id})
|
|
|
|
@task(3)
|
|
def get_by_id(self):
|
|
self.client.get('/item/{0}'.format(self.__get_item_id()))
|
|
|
|
def __get_item_id(self) -> int:
|
|
return randrange(10, 50)
|
|
|
|
def __get_user_id(self) -> int:
|
|
return randrange(1, 3)
|