mirror of https://github.com/rancher/dartboard.git
123 lines
3.1 KiB
JavaScript
123 lines
3.1 KiB
JavaScript
import {check, sleep} from 'k6';
|
|
import http from 'k6/http';
|
|
|
|
// Create Config Maps
|
|
// Required params: baseurl, coookies, data, cluster, namespace, iter
|
|
export function createConfigMaps(baseUrl, cookies, data, clusterId, namespace, iter) {
|
|
const name = `test-config-map-${iter}`
|
|
|
|
const url = clusterId === "local"?
|
|
`${baseUrl}/v1/configmaps` :
|
|
`${baseUrl}/k8s/clusters/${clusterId}/v1/configmaps`
|
|
|
|
const res = http.post(`${url}`,
|
|
JSON.stringify({
|
|
"metadata": {
|
|
"name": name,
|
|
"namespace": namespace
|
|
},
|
|
"data": {"data": data}
|
|
}),
|
|
{ cookies: cookies }
|
|
)
|
|
|
|
sleep(0.1)
|
|
if (res.status != 201) {
|
|
console.log(res)
|
|
}
|
|
check(res, {
|
|
'/v1/configmaps returns status 201': (r) => r.status === 201,
|
|
})
|
|
}
|
|
|
|
|
|
// Create Secrets
|
|
// Required params: baseurl, coookies, data, cluster, namespace, iter
|
|
export function createSecrets(baseUrl, cookies, data, clusterId, namespace, iter) {
|
|
const name = `test-secrets-${iter}`
|
|
|
|
const url = clusterId === "local"?
|
|
`${baseUrl}/v1/secrets` :
|
|
`${baseUrl}/k8s/clusters/${clusterId}/v1/secrets`
|
|
|
|
const res = http.post(`${url}`,
|
|
JSON.stringify({
|
|
"metadata": {
|
|
"name": name,
|
|
"namespace": namespace
|
|
},
|
|
"data": {"data": data},
|
|
"type": "opaque"
|
|
}),
|
|
{ cookies: cookies }
|
|
)
|
|
|
|
sleep(0.1)
|
|
if (res.status != 201) {
|
|
console.log(res)
|
|
}
|
|
check(res, {
|
|
'/v1/secrets returns status 201': (r) => r.status === 201,
|
|
})
|
|
}
|
|
|
|
|
|
// Create Deployments
|
|
// Required params: baseurl, coookies, cluster, namespace, iter
|
|
export function createDeployments(baseUrl, cookies, clusterId, namespace, iter) {
|
|
const name = `test-deployment-${iter}`
|
|
|
|
const url = clusterId === "local"?
|
|
`${baseUrl}/v1/apps.deployments` :
|
|
`${baseUrl}/k8s/clusters/${clusterId}/v1/apps.deployments`
|
|
|
|
|
|
const res = http.post(`${url}`,
|
|
JSON.stringify({
|
|
"apiVersion": "apps/v1",
|
|
"kind": "Deployment",
|
|
"metadata": {
|
|
"name": name,
|
|
"namespace": namespace
|
|
},
|
|
"spec": {
|
|
"selector": {
|
|
"matchLabels": {
|
|
"app": name
|
|
}
|
|
},
|
|
"template": {
|
|
"metadata": {
|
|
"labels": {
|
|
"app": name
|
|
}
|
|
},
|
|
"spec": {
|
|
"containers": [
|
|
{
|
|
"command": ["sleep", "3600"],
|
|
"image": "busybox:latest",
|
|
"name": name
|
|
}
|
|
],
|
|
"securityContext": {
|
|
"runAsUser": 2000,
|
|
"runAsGroup": 3000
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}),
|
|
{ cookies: cookies }
|
|
)
|
|
|
|
sleep(0.1)
|
|
if (res.status != 201) {
|
|
console.log(res)
|
|
}
|
|
check(res, {
|
|
'/v1/apps.deployments returns status 201': (r) => r.status === 201,
|
|
})
|
|
|
|
}
|