user list: add support for with_groups

Signed-off-by: Marc 'risson' Schmitt <marc.schmitt@risson.space>
This commit is contained in:
Marc 'risson' Schmitt
2024-04-09 17:17:20 +02:00
parent 334b183465
commit 1f4ed1defa

View File

@ -6,26 +6,34 @@ export const options = {
discardResponseBodies: true, discardResponseBodies: true,
scenarios: Object.fromEntries( scenarios: Object.fromEntries(
[ [
// Number of users, number of groups per user, number of parents per group, page size // Number of users, number of groups per user, number of parents per group, page size, with groups
[10, 0, 0, 20], [10, 0, 0, 20, true],
[100, 0, 0, 20], [100, 0, 0, 20, true],
[1000, 0, 0, 20], [1000, 0, 0, 20, true],
[10000, 0, 0, 20], [10000, 0, 0, 20, true],
[10, 0, 0, 100], [1000, 0, 0, 20, false],
[100, 0, 0, 100], [10000, 0, 0, 20, false],
[1000, 0, 0, 100], [10, 0, 0, 100, true],
[10000, 0, 0, 100], [100, 0, 0, 100, true],
[100, 3, 0, 20], [1000, 0, 0, 100, true],
[1000, 3, 0, 20], [10000, 0, 0, 100, true],
[10000, 3, 0, 20], [100, 3, 0, 20, true],
[100, 20, 0, 20], [1000, 3, 0, 20, true],
[1000, 20, 0, 20], [10000, 3, 0, 20, true],
[10000, 20, 0, 20], [100, 20, 0, 20, true],
[100, 20, 3, 20], [1000, 20, 0, 20, true],
[1000, 20, 3, 20], [10000, 20, 0, 20, true],
[10000, 20, 3, 20], [100, 20, 3, 20, true],
[1000, 20, 3, 20, true],
[10000, 20, 3, 20, true],
[100, 20, 0, 20, false],
[1000, 20, 0, 20, false],
[10000, 20, 0, 20, false],
[100, 20, 3, 20, false],
[1000, 20, 3, 20, false],
[10000, 20, 3, 20, false],
].map((obj, i) => [ ].map((obj, i) => [
`${obj[0]}_${obj[1]}_${obj[2]}_${obj[3]}`, `${obj[0]}_${obj[1]}_${obj[2]}_${obj[3]}_${obj[4] ? "with_groups" : "without_groups"}`,
{ {
executor: "constant-vus", executor: "constant-vus",
vus: 12, vus: 12,
@ -36,13 +44,15 @@ export const options = {
GROUPS_PER_USER: `${obj[1]}`, GROUPS_PER_USER: `${obj[1]}`,
PARENTS_PER_GROUP: `${obj[2]}`, PARENTS_PER_GROUP: `${obj[2]}`,
PAGE_SIZE: `${obj[3]}`, PAGE_SIZE: `${obj[3]}`,
WITH_GROUPS: `${obj[4]}`,
}, },
tags: { tags: {
testid: `user_list_${obj[0]}_${obj[1]}_${obj[2]}_${obj[3]}`, testid: `user_list_${obj[0]}_${obj[1]}_${obj[2]}_${obj[3]}_${obj[4] ? "with_groups" : "without_groups"}`,
user_count: `${obj[0]}`, user_count: `${obj[0]}`,
groups_per_user: `${obj[1]}`, groups_per_user: `${obj[1]}`,
parents_per_group: `${obj[2]}`, parents_per_group: `${obj[2]}`,
page_size: `${obj[3]}`, page_size: `${obj[3]}`,
with_groups: `${obj[4]}`,
}, },
}, },
]), ]),
@ -53,6 +63,7 @@ export default function () {
const user_count = Number(__ENV.USER_COUNT); const user_count = Number(__ENV.USER_COUNT);
const groups_per_user = Number(__ENV.GROUPS_PER_USER); const groups_per_user = Number(__ENV.GROUPS_PER_USER);
const parents_per_group = Number(__ENV.PARENTS_PER_GROUP); const parents_per_group = Number(__ENV.PARENTS_PER_GROUP);
const with_groups = Number(__ENV.WITH_GROUPS);
const domain = `user-list-${user_count}-${groups_per_user}-${parents_per_group}`; const domain = `user-list-${user_count}-${groups_per_user}-${parents_per_group}`;
const page_size = Number(__ENV.PAGE_SIZE); const page_size = Number(__ENV.PAGE_SIZE);
const pages = Math.round(user_count / page_size); const pages = Math.round(user_count / page_size);
@ -60,7 +71,7 @@ export default function () {
for (let page = 1; page <= pages; page++) { for (let page = 1; page <= pages; page++) {
requests.push([ requests.push([
"GET", "GET",
`http://${domain}.localhost:9000/api/v3/core/users/?page=${page}&page_size=${page_size}`, `http://${domain}.localhost:9000/api/v3/core/users/?page=${page}&page_size=${page_size}&include_groups=${with_groups}`,
null, null,
{ {
headers: { headers: {