Skip to content
Snippets Groups Projects
Commit ba7a8720 authored by Jan Pokorný's avatar Jan Pokorný :lifter_tone2:
Browse files

Utilizing the bearer token to retrieve data from api

parent 504aeb0c
No related branches found
No related tags found
1 merge request!37M3 locust
Pipeline #
......@@ -17,88 +17,126 @@ class StudentActor(HttpUser):
wait_time = between(.250, .500)
weight = 1
course_ids = set()
lecture_ids = set()
student_ids = set()
course_id = None
lecture_id = None
id = None
header = None
@task(3)
def get_courses_english(self):
self.client.get(
url='/courses/findAllByLang?lang=ENGLISH',
def on_start(self):
self.header = {'Authorization': f'Bearer {self.environment.parsed_options.token}'}
response = self.client.post(
url='/users',
auth=None,
headers=header,
name="Find Courses"
)
headers=self.header,
json={
"username": "xnocni",
"email": f"xnocni{random.randint(0, 42069)}@mail.muni.cz",
"firstName": "Hana",
"lastName": "Sykorova"
},
name="Add User"
)
if response.status_code == 201:
self.id = response.json()["id"]
return super().on_start()
@task(3)
def get_courses_spanish(self):
self.client.get(
url='/courses/findAllByLang?lang=SPANISH',
def get_courses_english(self):
response = self.client.get(
url='/courses/findAllByLang?lang=ENGLISH',
auth=None,
headers=header,
headers=self.header,
name="Find Courses"
)
)
if response.status_code == 200:
json = response.json()
if len(json) > 0:
self.course_id = json[0]["id"]
@task
def enrol(self):
if self.course_id is None or self.id is None:
return
self.client.patch(
url=f'/courses/enrol/{1}?studentId={1}',
url=f'/courses/enrol/{self.course_id}?studentId={self.id}',
auth=None,
headers=header,
headers=self.header,
name="Enrol Courses"
)
)
@task
def get_lecture_by_id(self):
self.client.get(
url=f'/lectures/findByCourse?courseId={1}',
def get_lectures_by_course(self):
if self.course_id is None:
return
response = self.client.get(
url=f'/lectures/findByCourse?courseId={self.course_id}',
auth=None,
headers=header,
headers=self.header,
name="Find Lectures"
)
)
if response.status_code == 200:
json = response.json()
if len(json) > 0:
self.lecture_id = json[0]["id"]
class LecturerActor(HttpUser):
weight = 0
fixed_count = 1
wait_time = between(.100, .400)
wait_time = between(.100, .900)
courses_created = 0
lecture_created = 0
course_ids = set()
id = None
header = None
def on_start(self):
self.header = {'Authorization': f'Bearer {self.environment.parsed_options.token}'}
response = self.client.post(
url='/users',
auth=None,
headers=self.header,
json={
"username": "xhana",
"email": f"xhana{random.randint(0, 42069)}@mail.muni.cz",
"firstName": "Hana",
"lastName": "Sykorova"
},
name="Add User"
)
if response.status_code == 201:
self.id = response.json()["id"]
return super().on_start()
@task
def new_course(self):
if self.courses_created < 3:
self.client.headers['Content-Type'] = "application/json"
response = self.client.post(
url="/courses",
auth=None,
headers=header,
headers=self.header,
name="Create Course",
json={
"name": "string",
"capacity": 10,
"language": random.choice(["SPANISH", "ENGLISH"]),
"proficiency": random.choice(["A1", "B1", "C1"])
}
"name": "string",
"capacity": 10,
"language": random.choice(["SPANISH", "ENGLISH"]),
"proficiency": random.choice(["A1", "B1", "C1"])
}
)
values = response.json()
print("course " + str(values['id']) + " created.")
self.course_ids.add(values['id'])
self.courses_created += 1
if response.status_code == 201:
self.course_ids.add(response.json()['id'])
self.courses_created += 1
@task
def new_lecture(self):
if self.courses_created > 0 and self.lecture_created < 10:
self.client.headers['Content-Type'] = "application/json"
response = self.client.post(
url="/lectures",
auth=None,
headers=header,
headers=self.header,
name="Create Lecture",
json={
"lectureFrom": "2024-04-26T18:06:30.658Z",
......@@ -108,10 +146,7 @@ class LecturerActor(HttpUser):
"courseId": random.choice(list(self.course_ids))
}
)
print("lecture " + str(response.json()['id']) + " created.")
self.lecture_created += 1
if self.lecture_created >= 9:
if response.status_code == 201:
self.lecture_created += 1
if self.lecture_created >= 20:
raise StopUser()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment