11import http from 'k6/http' ;
22import { checkResponse , isOk , isRedirect } from "../../utils/k6.js" ;
33
4- const baseUrl = 'http://localhost:8080' ;
4+ const variants = {
5+ "no_agent" : {
6+ "APP_URL" : 'http://localhost:8080' ,
7+ } ,
8+ "tracing" : {
9+ "APP_URL" : 'http://localhost:8081' ,
10+ } ,
11+ "profiling" : {
12+ "APP_URL" : 'http://localhost:8082' ,
13+ } ,
14+ "iast" : {
15+ "APP_URL" : 'http://localhost:8083' ,
16+ } ,
17+ "iast_GLOBAL" : {
18+ "APP_URL" : 'http://localhost:8084' ,
19+ } ,
20+ "iast_FULL" : {
21+ "APP_URL" : 'http://localhost:8085' ,
22+ } ,
23+ }
24+
25+ export const options = function ( variants ) {
26+ let scenarios = { } ;
27+ for ( const variant of Object . keys ( variants ) ) {
28+ scenarios [ `load--insecure-bank--${ variant } --warmup` ] = {
29+ executor : 'constant-vus' , // https://grafana.com/docs/k6/latest/using-k6/scenarios/executors/#all-executors
30+ vus : 5 ,
31+ duration : '20s' ,
32+ gracefulStop : '2s' ,
33+ env : {
34+ "APP_URL" : variants [ variant ] [ "APP_URL" ]
35+ }
36+ } ;
37+
38+ scenarios [ `load--insecure-bank--${ variant } --high_load` ] = {
39+ executor : 'constant-vus' ,
40+ vus : 5 ,
41+ startTime : '22s' ,
42+ duration : '15s' ,
43+ gracefulStop : '2s' ,
44+ env : {
45+ "APP_URL" : variants [ variant ] [ "APP_URL" ]
46+ }
47+ } ;
48+ }
549
6- export const options = {
7- discardResponseBodies : true ,
8- vus : 5 ,
9- iterations : 40000
10- } ;
50+ return {
51+ discardResponseBodies : true ,
52+ scenarios ,
53+ }
54+ } ( variants ) ;
1155
1256export default function ( ) {
1357
1458 // login form
15- const loginResponse = http . post ( `${ baseUrl } /login` , {
59+ const loginResponse = http . post ( `${ __ENV . APP_URL } /login` , {
1660 username : 'john' ,
1761 password : 'test'
1862 } , {
@@ -21,11 +65,11 @@ export default function () {
2165 checkResponse ( loginResponse , isRedirect ) ;
2266
2367 // dashboard
24- const dashboard = http . get ( `${ baseUrl } /dashboard` ) ;
68+ const dashboard = http . get ( `${ __ENV . APP_URL } /dashboard` ) ;
2569 checkResponse ( dashboard , isOk ) ;
2670
2771 // logout
28- const logout = http . get ( `${ baseUrl } /j_spring_security_logout` , {
72+ const logout = http . get ( `${ __ENV . APP_URL } /j_spring_security_logout` , {
2973 redirects : 0
3074 } ) ;
3175 checkResponse ( logout , isRedirect ) ;
0 commit comments