Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions k6/generic/generic_utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -137,3 +137,8 @@ export function getPathBasename(filePath) {
// Extract the substring after the last slash
return filePath.substring(lastSlashIndex + 1);
}

export function getRandomElements(arr, count) {
const shuffled = [...arr].sort(() => 0.5 - Math.random());
return shuffled.slice(0, count);
}
12 changes: 9 additions & 3 deletions k6/projects/project_utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,22 @@ export const putProjectTag = { url: `/v3/projects/<Project ID>` }


export function cleanupMatchingProjects(baseUrl, cookies, namePrefix) {
let res = http.get(`${baseUrl}/${baseProjectsPath}`, { cookies: cookies })
let res = http.get(`${baseUrl}/${normanProjectsPath}`, {
headers: {
accept: "application/json",
'content-type': "application/json",
},
cookies: cookies })
check(res, {
'/v1/management.cattle.io.projects returns status 200': (r) => r.status === 200,
})
JSON.parse(res.body)["data"].filter(r => r["spec"]["displayName"].startsWith(namePrefix)).forEach(r => {
JSON.parse(res.body)["data"].filter(r => r["name"].startsWith(namePrefix)).forEach(r => {
res = http.del(`${baseUrl}/${normanProjectsPath}/${r["id"]}`, { cookies: cookies })
check(res, {
'DELETE /v3/projects returns status 200': (r) => r.status === 200,
})
})
return res
}

export function getProject(baseUrl, cookies, id) {
Expand Down Expand Up @@ -52,7 +58,7 @@ export function getNormanProjects(baseUrl, cookies) {
return { res: res, projectArray: projectArray }
}

export function createNormanProject(baseUrl, body, cookies) {
export function createNormanProject(baseUrl, cookies, body) {
const res = http.post(
`${baseUrl}/${normanProjectsPath}`,
body,
Expand Down
14 changes: 7 additions & 7 deletions k6/rancher/rancher_users_utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export function setUserPreferences(baseUrl, cookies, userId, userPreferences) {
export function getPrincipalIds(baseUrl, cookies) {
const response = http.get(
`${baseUrl}/v1/management.cattle.io.users`,
{ cookies: cookies }
{ headers: { accept: 'application/json' }, cookies: cookies }
)
if (response.status !== 200) {
fail('could not list users')
Expand All @@ -64,7 +64,7 @@ export function getPrincipalIds(baseUrl, cookies) {
export function getPrincipalById(baseUrl, cookies, id) {
const response = http.get(
`${baseUrl}/v3/principals/${id}`,
{ cookies: cookies }
{ headers: { accept: 'application/json' }, cookies: cookies }
)
if (response.status !== 200) {
fail('could not get principal by ID')
Expand All @@ -82,7 +82,7 @@ export function getNormanUsers(baseUrl, params = null) {
export function getCurrentUserPrincipal(baseUrl, cookies) {
const response = http.get(
`${baseUrl}/v3/principals?me=true`,
{ cookies: cookies }
{ headers: { accept: 'application/json' }, cookies: cookies }
)
if (response.status !== 200) {
fail('could not get current User\'s Principal')
Expand All @@ -93,7 +93,7 @@ export function getCurrentUserPrincipal(baseUrl, cookies) {
export function getCurrentUserPrincipalId(baseUrl, cookies) {
const response = http.get(
`${baseUrl}/v3/users?me=true`,
{ cookies: cookies }
{ headers: { accept: 'application/json' }, cookies: cookies }
)
if (response.status !== 200) {
fail('could not get my user')
Expand All @@ -104,7 +104,7 @@ export function getCurrentUserPrincipalId(baseUrl, cookies) {
export function getClusterIds(baseUrl, cookies) {
const response = http.get(
`${baseUrl}/v1/management.cattle.io.clusters`,
{ cookies: cookies }
{ headers: { accept: 'application/json' }, cookies: cookies }
)
if (response.status !== 200) {
fail('could not list clusters')
Expand Down Expand Up @@ -146,15 +146,15 @@ export function getUsers(baseUrl, cookies) {
}

export function getUser(baseUrl, cookies, userId) {
const res = http.get(`${baseUrl}/v1/management.cattle.io.users/${userId}`, { cookies: cookies })
const res = http.get(`${baseUrl}/v1/management.cattle.io.users/${userId}`, { headers: { accept: 'application/json' }, cookies: cookies })
check(res, {
'/v1/management.cattle.io.users/ returns status 200': (r) => r.status === 200 || r.status === 204,
})
return res
}

export function deleteUser(baseUrl, cookies, userId) {
const res = http.del(`${baseUrl}/v3/users/${userId}`, { cookies: cookies })
const res = http.del(`${baseUrl}/v3/users/${userId}`, { headers: { accept: 'application/json' }, cookies: cookies })
check(res, {
'DELETE /v3/users returns status 200': (r) => r.status === 200 || r.status === 204,
})
Expand Down
23 changes: 15 additions & 8 deletions k6/rancher/rancher_utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,23 @@ export function getCookies(baseUrl) {
}

export function login(baseUrl, cookies, username, password) {
const params = {
headers: {
accept: 'application/json',
'content-type': 'application/json; charset=UTF-8',
},
}

// Only add cookies if they exist and are not empty
if (cookies && Object.keys(cookies).length > 0) {
console.log("Using cookies: ", cookies)
params.cookies = cookies
}
const response = http.post(
`${baseUrl}/v3-public/localProviders/local?action=login`,
JSON.stringify({ "description": "UI session", "responseType": "cookie", "username": username, "password": password }),
{
headers: {
accept: 'application/json',
'content-type': 'application/json; charset=UTF-8',
},
cookies: { cookies },
}
params
)
console.log("POST login: ", response.status);

check(response, {
'login works': (r) => r.status === 200 || r.status === 401,
Expand Down Expand Up @@ -384,6 +389,8 @@ export function logout(baseUrl, cookies) {
check(response, {
'logging out works': (r) => r.status === 200,
})

return response
}

export function generateAuthorizationHeader(token) {
Expand Down
Loading