@grafana/openapi-to-k6 0.1.2 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish.yaml +2 -2
- package/.github/workflows/tests.yaml +14 -6
- package/README.md +54 -14
- package/dist/analytics.js +2 -1
- package/dist/cli.js +20 -6
- package/dist/constants.js +8 -2
- package/dist/{generator.js → generator/index.js} +7 -13
- package/dist/{k6SdkClient.js → generator/k6Client.js} +148 -161
- package/examples/basic_schema/single/k6-script.sample.ts +11 -0
- package/examples/basic_schema/single/simpleAPI.ts +87 -0
- package/examples/basic_schema/split/k6-script.sample.ts +11 -0
- package/examples/basic_schema/split/simpleAPI.schemas.ts +9 -0
- package/examples/basic_schema/split/simpleAPI.ts +85 -0
- package/examples/basic_schema/tags/default.ts +85 -0
- package/examples/basic_schema/tags/k6-script.sample.ts +11 -0
- package/examples/basic_schema/tags/simpleAPI.schemas.ts +9 -0
- package/examples/form_data_schema/single/formDataAPI.ts +115 -0
- package/examples/form_data_schema/{k6-script.sample.ts → single/k6-script.sample.ts} +2 -2
- package/examples/form_data_schema/split/formDataAPI.schemas.ts +24 -0
- package/examples/form_data_schema/split/formDataAPI.ts +98 -0
- package/examples/form_data_schema/split/k6-script.sample.ts +11 -0
- package/examples/form_data_schema/tags/default.ts +98 -0
- package/examples/form_data_schema/tags/formDataAPI.schemas.ts +24 -0
- package/examples/form_data_schema/tags/k6-script.sample.ts +11 -0
- package/examples/form_url_encoded_data_schema/single/formURLEncodedAPI.ts +112 -0
- package/examples/form_url_encoded_data_schema/{k6-script.sample.ts → single/k6-script.sample.ts} +2 -2
- package/examples/form_url_encoded_data_schema/split/formURLEncodedAPI.schemas.ts +24 -0
- package/examples/form_url_encoded_data_schema/split/formURLEncodedAPI.ts +98 -0
- package/examples/form_url_encoded_data_schema/split/k6-script.sample.ts +11 -0
- package/examples/form_url_encoded_data_schema/tags/default.ts +98 -0
- package/examples/form_url_encoded_data_schema/tags/formURLEncodedAPI.schemas.ts +24 -0
- package/examples/form_url_encoded_data_schema/tags/k6-script.sample.ts +11 -0
- package/examples/form_url_encoded_data_with_query_params_schema/single/formURLEncodedAPIWithQueryParameters.ts +128 -0
- package/examples/form_url_encoded_data_with_query_params_schema/{k6-script.sample.ts → single/k6-script.sample.ts} +2 -2
- package/examples/form_url_encoded_data_with_query_params_schema/split/formURLEncodedAPIWithQueryParameters.schemas.ts +35 -0
- package/examples/form_url_encoded_data_with_query_params_schema/split/formURLEncodedAPIWithQueryParameters.ts +104 -0
- package/examples/form_url_encoded_data_with_query_params_schema/split/k6-script.sample.ts +14 -0
- package/examples/form_url_encoded_data_with_query_params_schema/tags/default.ts +104 -0
- package/examples/form_url_encoded_data_with_query_params_schema/tags/formURLEncodedAPIWithQueryParameters.schemas.ts +35 -0
- package/examples/form_url_encoded_data_with_query_params_schema/tags/k6-script.sample.ts +14 -0
- package/examples/get_request_with_path_parameters_schema/{k6-script.sample.ts → single/k6-script.sample.ts} +2 -2
- package/examples/get_request_with_path_parameters_schema/single/simpleAPI.ts +94 -0
- package/examples/get_request_with_path_parameters_schema/split/k6-script.sample.ts +11 -0
- package/examples/get_request_with_path_parameters_schema/split/simpleAPI.schemas.ts +12 -0
- package/examples/get_request_with_path_parameters_schema/split/simpleAPI.ts +90 -0
- package/examples/get_request_with_path_parameters_schema/tags/default.ts +90 -0
- package/examples/get_request_with_path_parameters_schema/tags/k6-script.sample.ts +11 -0
- package/examples/get_request_with_path_parameters_schema/tags/simpleAPI.schemas.ts +12 -0
- package/examples/headers_schema/single/headerDemoAPI.ts +202 -0
- package/examples/headers_schema/{k6-script.sample.ts → single/k6-script.sample.ts} +2 -2
- package/examples/headers_schema/split/headerDemoAPI.schemas.ts +32 -0
- package/examples/headers_schema/split/headerDemoAPI.ts +184 -0
- package/examples/headers_schema/split/k6-script.sample.ts +25 -0
- package/examples/headers_schema/tags/default.ts +182 -0
- package/examples/headers_schema/tags/headerDemoAPI.schemas.ts +32 -0
- package/examples/headers_schema/tags/k6-script.sample.ts +25 -0
- package/examples/no_title_schema/{k6-script.sample.ts → single/k6-script.sample.ts} +2 -2
- package/examples/no_title_schema/single/k6Client.ts +87 -0
- package/examples/{basic_schema → no_title_schema/split}/k6-script.sample.ts +2 -2
- package/examples/no_title_schema/split/k6Client.schemas.ts +9 -0
- package/examples/no_title_schema/split/k6Client.ts +85 -0
- package/examples/no_title_schema/tags/default.ts +85 -0
- package/examples/no_title_schema/tags/k6-script.sample.ts +11 -0
- package/examples/no_title_schema/tags/k6Client.schemas.ts +9 -0
- package/examples/post_request_with_query_params/single/exampleAPI.ts +126 -0
- package/examples/post_request_with_query_params/{k6-script.sample.ts → single/k6-script.sample.ts} +2 -2
- package/examples/post_request_with_query_params/split/exampleAPI.schemas.ts +33 -0
- package/examples/post_request_with_query_params/split/exampleAPI.ts +105 -0
- package/examples/post_request_with_query_params/split/k6-script.sample.ts +14 -0
- package/examples/post_request_with_query_params/tags/default.ts +105 -0
- package/examples/post_request_with_query_params/tags/exampleAPI.schemas.ts +33 -0
- package/examples/post_request_with_query_params/tags/k6-script.sample.ts +14 -0
- package/examples/query_params_schema/single/exampleAPI.ts +120 -0
- package/examples/query_params_schema/{k6-script.sample.ts → single/k6-script.sample.ts} +2 -2
- package/examples/query_params_schema/split/exampleAPI.schemas.ts +37 -0
- package/examples/query_params_schema/split/exampleAPI.ts +94 -0
- package/examples/query_params_schema/split/k6-script.sample.ts +11 -0
- package/examples/query_params_schema/tags/default.ts +94 -0
- package/examples/query_params_schema/tags/exampleAPI.schemas.ts +37 -0
- package/examples/query_params_schema/tags/k6-script.sample.ts +11 -0
- package/examples/simple_post_request_schema/{exampleAPI.ts → single/exampleAPI.ts} +49 -49
- package/examples/simple_post_request_schema/{k6-script.sample.ts → single/k6-script.sample.ts} +2 -2
- package/examples/simple_post_request_schema/split/exampleAPI.schemas.ts +47 -0
- package/examples/simple_post_request_schema/split/exampleAPI.ts +99 -0
- package/examples/simple_post_request_schema/split/k6-script.sample.ts +13 -0
- package/examples/simple_post_request_schema/tags/default.ts +99 -0
- package/examples/simple_post_request_schema/tags/exampleAPI.schemas.ts +47 -0
- package/examples/simple_post_request_schema/tags/k6-script.sample.ts +13 -0
- package/images/openapi-to-k6.png +0 -0
- package/package.json +2 -2
- package/src/analytics.ts +3 -1
- package/src/cli.ts +34 -8
- package/src/constants.ts +7 -1
- package/src/{generator.ts → generator/index.ts} +8 -21
- package/src/{k6SdkClient.ts → generator/k6Client.ts} +174 -222
- package/src/type.d.ts +4 -4
- package/tests/e2e/schema.json +8 -0
- package/tests/e2e/{k6Script.ts → single/k6Script.ts} +7 -2
- package/tests/e2e/split/k6Script.ts +82 -0
- package/tests/e2e/tags/k6Script.ts +106 -0
- package/tests/functional-tests/fixtures/schemas/basic_schema.json +1 -4
- package/tests/functional-tests/fixtures/schemas/form_data_schema.json +4 -4
- package/tests/functional-tests/fixtures/schemas/form_url_encoded_data_schema.json +3 -3
- package/tests/functional-tests/fixtures/schemas/form_url_encoded_data_with_query_params_schema.json +2 -2
- package/tests/functional-tests/fixtures/schemas/get_request_with_path_parameters_schema.json +2 -2
- package/tests/functional-tests/fixtures/schemas/headers_schema.json +7 -8
- package/tests/functional-tests/fixtures/schemas/no_title_schema.json +2 -5
- package/tests/functional-tests/fixtures/schemas/post_request_with_query_params.json +3 -4
- package/tests/functional-tests/fixtures/schemas/query_params_schema.json +3 -3
- package/tests/functional-tests/fixtures/schemas/simple_post_request_schema.json +3 -5
- package/tests/functional-tests/generator.test.ts +46 -5
- package/examples/basic_schema/simpleAPI.ts +0 -87
- package/examples/form_data_schema/formDataAPI.ts +0 -115
- package/examples/form_url_encoded_data_schema/formURLEncodedAPI.ts +0 -114
- package/examples/form_url_encoded_data_with_query_params_schema/formURLEncodedAPIWithQueryParameters.ts +0 -130
- package/examples/get_request_with_path_parameters_schema/simpleAPI.ts +0 -94
- package/examples/headers_schema/headerDemoAPI.ts +0 -196
- package/examples/no_title_schema/K6Client.ts +0 -86
- package/examples/post_request_with_query_params/exampleAPI.ts +0 -124
- package/examples/query_params_schema/exampleAPI.ts +0 -118
- package/examples/update_examples.sh +0 -21
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Automatically generated by @grafana/openapi-to-k6: 0.1.2
|
|
3
|
-
* Do not edit manually.
|
|
4
|
-
* Form URL Encoded API
|
|
5
|
-
* OpenAPI spec version: 1.0.0
|
|
6
|
-
*/
|
|
7
|
-
import { URL } from 'https://jslib.k6.io/url/1.0.0/index.js'
|
|
8
|
-
import http from 'k6/http'
|
|
9
|
-
import type { Params, Response, ResponseBody } from 'k6/http'
|
|
10
|
-
export type PostSubmitForm400 = {
|
|
11
|
-
error?: string
|
|
12
|
-
success?: boolean
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export type PostSubmitForm200 = {
|
|
16
|
-
message?: string
|
|
17
|
-
success?: boolean
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export type PostSubmitFormBody = {
|
|
21
|
-
/** Age of the user */
|
|
22
|
-
age?: number
|
|
23
|
-
/** Email address of the user */
|
|
24
|
-
email: string
|
|
25
|
-
/** Name of the user */
|
|
26
|
-
name: string
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export type CreateFormURLEncodedAPIOptions = {
|
|
30
|
-
baseUrl: string
|
|
31
|
-
commonRequestParameters?: Params
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* This is the base client to use for interacting with the API.
|
|
36
|
-
*/
|
|
37
|
-
export const createFormURLEncodedAPI = (
|
|
38
|
-
clientOptions: CreateFormURLEncodedAPIOptions
|
|
39
|
-
) => {
|
|
40
|
-
const cleanBaseUrl = clientOptions.baseUrl.replace(/\/+$/, '')
|
|
41
|
-
/**
|
|
42
|
-
* This endpoint accepts form URL-encoded data.
|
|
43
|
-
* @summary Submit form data
|
|
44
|
-
*/
|
|
45
|
-
const postSubmitForm = (
|
|
46
|
-
postSubmitFormBody: PostSubmitFormBody,
|
|
47
|
-
requestParameters?: Params
|
|
48
|
-
): PostSubmitFormResponse => {
|
|
49
|
-
const url = new URL(cleanBaseUrl + `/submit-form`)
|
|
50
|
-
const mergedRequestParameters = _mergeRequestParameters(
|
|
51
|
-
requestParameters || {},
|
|
52
|
-
clientOptions.commonRequestParameters
|
|
53
|
-
)
|
|
54
|
-
const response = http.request(
|
|
55
|
-
'POST',
|
|
56
|
-
url.toString(),
|
|
57
|
-
JSON.stringify(postSubmitFormBody),
|
|
58
|
-
{
|
|
59
|
-
...mergedRequestParameters,
|
|
60
|
-
headers: {
|
|
61
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
62
|
-
...mergedRequestParameters?.headers,
|
|
63
|
-
},
|
|
64
|
-
}
|
|
65
|
-
)
|
|
66
|
-
let data
|
|
67
|
-
|
|
68
|
-
try {
|
|
69
|
-
data = response.json()
|
|
70
|
-
} catch (error) {
|
|
71
|
-
data = response.body
|
|
72
|
-
}
|
|
73
|
-
return {
|
|
74
|
-
response,
|
|
75
|
-
data,
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return { postSubmitForm }
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export type PostSubmitFormResponse = {
|
|
83
|
-
response: Response
|
|
84
|
-
data: PostSubmitForm200 | ResponseBody
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Merges the provided request parameters with default parameters for the client.
|
|
89
|
-
*
|
|
90
|
-
* @param {Params} requestParameters - The parameters provided specifically for the request
|
|
91
|
-
* @param {Params} commonRequestParameters - Common parameters for all requests
|
|
92
|
-
* @returns {Params} - The merged parameters
|
|
93
|
-
*/
|
|
94
|
-
const _mergeRequestParameters = (
|
|
95
|
-
requestParameters?: Params,
|
|
96
|
-
commonRequestParameters?: Params
|
|
97
|
-
): Params => {
|
|
98
|
-
return {
|
|
99
|
-
...commonRequestParameters, // Default to common parameters
|
|
100
|
-
...requestParameters, // Override with request-specific parameters
|
|
101
|
-
headers: {
|
|
102
|
-
...(commonRequestParameters?.headers || {}), // Ensure headers are defined
|
|
103
|
-
...(requestParameters?.headers || {}),
|
|
104
|
-
},
|
|
105
|
-
cookies: {
|
|
106
|
-
...(commonRequestParameters?.cookies || {}), // Ensure cookies are defined
|
|
107
|
-
...(requestParameters?.cookies || {}),
|
|
108
|
-
},
|
|
109
|
-
tags: {
|
|
110
|
-
...(commonRequestParameters?.tags || {}), // Ensure tags are defined
|
|
111
|
-
...(requestParameters?.tags || {}),
|
|
112
|
-
},
|
|
113
|
-
}
|
|
114
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Automatically generated by @grafana/openapi-to-k6: 0.1.2
|
|
3
|
-
* Do not edit manually.
|
|
4
|
-
* Form URL Encoded API with Query Parameters
|
|
5
|
-
* OpenAPI spec version: 1.0.0
|
|
6
|
-
*/
|
|
7
|
-
import { URL, URLSearchParams } from 'https://jslib.k6.io/url/1.0.0/index.js'
|
|
8
|
-
import http from 'k6/http'
|
|
9
|
-
import type { Params, Response, ResponseBody } from 'k6/http'
|
|
10
|
-
export type PostSubmitForm400 = {
|
|
11
|
-
error?: string
|
|
12
|
-
success?: boolean
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export type PostSubmitForm200 = {
|
|
16
|
-
message?: string
|
|
17
|
-
success?: boolean
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export type PostSubmitFormBody = {
|
|
21
|
-
/** Age of the user */
|
|
22
|
-
age?: number
|
|
23
|
-
/** Email address of the user */
|
|
24
|
-
email: string
|
|
25
|
-
/** Name of the user */
|
|
26
|
-
name: string
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export type PostSubmitFormParams = {
|
|
30
|
-
/**
|
|
31
|
-
* Authentication token
|
|
32
|
-
*/
|
|
33
|
-
token: string
|
|
34
|
-
/**
|
|
35
|
-
* Locale of the user
|
|
36
|
-
*/
|
|
37
|
-
locale?: string
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export type CreateFormURLEncodedAPIWithQueryParametersOptions = {
|
|
41
|
-
baseUrl: string
|
|
42
|
-
commonRequestParameters?: Params
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* This is the base client to use for interacting with the API.
|
|
47
|
-
*/
|
|
48
|
-
export const createFormURLEncodedAPIWithQueryParameters = (
|
|
49
|
-
clientOptions: CreateFormURLEncodedAPIWithQueryParametersOptions
|
|
50
|
-
) => {
|
|
51
|
-
const cleanBaseUrl = clientOptions.baseUrl.replace(/\/+$/, '')
|
|
52
|
-
/**
|
|
53
|
-
* This endpoint accepts form URL-encoded data and query parameters.
|
|
54
|
-
* @summary Submit form data with query parameters
|
|
55
|
-
*/
|
|
56
|
-
const postSubmitForm = (
|
|
57
|
-
postSubmitFormBody: PostSubmitFormBody,
|
|
58
|
-
params: PostSubmitFormParams,
|
|
59
|
-
requestParameters?: Params
|
|
60
|
-
): PostSubmitFormResponse => {
|
|
61
|
-
const url = new URL(
|
|
62
|
-
cleanBaseUrl +
|
|
63
|
-
`/submit-form` +
|
|
64
|
-
`?${new URLSearchParams(params).toString()}`
|
|
65
|
-
)
|
|
66
|
-
const mergedRequestParameters = _mergeRequestParameters(
|
|
67
|
-
requestParameters || {},
|
|
68
|
-
clientOptions.commonRequestParameters
|
|
69
|
-
)
|
|
70
|
-
const response = http.request(
|
|
71
|
-
'POST',
|
|
72
|
-
url.toString(),
|
|
73
|
-
JSON.stringify(postSubmitFormBody),
|
|
74
|
-
{
|
|
75
|
-
...mergedRequestParameters,
|
|
76
|
-
headers: {
|
|
77
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
78
|
-
...mergedRequestParameters?.headers,
|
|
79
|
-
},
|
|
80
|
-
}
|
|
81
|
-
)
|
|
82
|
-
let data
|
|
83
|
-
|
|
84
|
-
try {
|
|
85
|
-
data = response.json()
|
|
86
|
-
} catch (error) {
|
|
87
|
-
data = response.body
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
response,
|
|
91
|
-
data,
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return { postSubmitForm }
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export type PostSubmitFormResponse = {
|
|
99
|
-
response: Response
|
|
100
|
-
data: PostSubmitForm200 | ResponseBody
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Merges the provided request parameters with default parameters for the client.
|
|
105
|
-
*
|
|
106
|
-
* @param {Params} requestParameters - The parameters provided specifically for the request
|
|
107
|
-
* @param {Params} commonRequestParameters - Common parameters for all requests
|
|
108
|
-
* @returns {Params} - The merged parameters
|
|
109
|
-
*/
|
|
110
|
-
const _mergeRequestParameters = (
|
|
111
|
-
requestParameters?: Params,
|
|
112
|
-
commonRequestParameters?: Params
|
|
113
|
-
): Params => {
|
|
114
|
-
return {
|
|
115
|
-
...commonRequestParameters, // Default to common parameters
|
|
116
|
-
...requestParameters, // Override with request-specific parameters
|
|
117
|
-
headers: {
|
|
118
|
-
...(commonRequestParameters?.headers || {}), // Ensure headers are defined
|
|
119
|
-
...(requestParameters?.headers || {}),
|
|
120
|
-
},
|
|
121
|
-
cookies: {
|
|
122
|
-
...(commonRequestParameters?.cookies || {}), // Ensure cookies are defined
|
|
123
|
-
...(requestParameters?.cookies || {}),
|
|
124
|
-
},
|
|
125
|
-
tags: {
|
|
126
|
-
...(commonRequestParameters?.tags || {}), // Ensure tags are defined
|
|
127
|
-
...(requestParameters?.tags || {}),
|
|
128
|
-
},
|
|
129
|
-
}
|
|
130
|
-
}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Automatically generated by @grafana/openapi-to-k6: 0.1.2
|
|
3
|
-
* Do not edit manually.
|
|
4
|
-
* Simple API
|
|
5
|
-
* An API with a single GET request that takes a path parameter
|
|
6
|
-
* OpenAPI spec version: 1.0.0
|
|
7
|
-
*/
|
|
8
|
-
import { URL } from 'https://jslib.k6.io/url/1.0.0/index.js'
|
|
9
|
-
import http from 'k6/http'
|
|
10
|
-
import type { Params, Response, ResponseBody } from 'k6/http'
|
|
11
|
-
export type GetItemById200 = {
|
|
12
|
-
description?: string
|
|
13
|
-
id?: string
|
|
14
|
-
name?: string
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export type CreateSimpleAPIOptions = {
|
|
18
|
-
baseUrl: string
|
|
19
|
-
commonRequestParameters?: Params
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* This is the base client to use for interacting with the API.
|
|
24
|
-
*/
|
|
25
|
-
export const createSimpleAPI = (clientOptions: CreateSimpleAPIOptions) => {
|
|
26
|
-
const cleanBaseUrl = clientOptions.baseUrl.replace(/\/+$/, '')
|
|
27
|
-
/**
|
|
28
|
-
* Returns a single item based on the provided ID
|
|
29
|
-
* @summary Get an item by its ID
|
|
30
|
-
*/
|
|
31
|
-
const getItemById = (
|
|
32
|
-
id: string,
|
|
33
|
-
requestParameters?: Params
|
|
34
|
-
): GetItemByIdResponse => {
|
|
35
|
-
const url = new URL(cleanBaseUrl + `/items/${id}`)
|
|
36
|
-
const mergedRequestParameters = _mergeRequestParameters(
|
|
37
|
-
requestParameters || {},
|
|
38
|
-
clientOptions.commonRequestParameters
|
|
39
|
-
)
|
|
40
|
-
const response = http.request(
|
|
41
|
-
'GET',
|
|
42
|
-
url.toString(),
|
|
43
|
-
undefined,
|
|
44
|
-
mergedRequestParameters
|
|
45
|
-
)
|
|
46
|
-
let data
|
|
47
|
-
|
|
48
|
-
try {
|
|
49
|
-
data = response.json()
|
|
50
|
-
} catch (error) {
|
|
51
|
-
data = response.body
|
|
52
|
-
}
|
|
53
|
-
return {
|
|
54
|
-
response,
|
|
55
|
-
data,
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return { getItemById }
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export type GetItemByIdResponse = {
|
|
63
|
-
response: Response
|
|
64
|
-
data: GetItemById200 | ResponseBody
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Merges the provided request parameters with default parameters for the client.
|
|
69
|
-
*
|
|
70
|
-
* @param {Params} requestParameters - The parameters provided specifically for the request
|
|
71
|
-
* @param {Params} commonRequestParameters - Common parameters for all requests
|
|
72
|
-
* @returns {Params} - The merged parameters
|
|
73
|
-
*/
|
|
74
|
-
const _mergeRequestParameters = (
|
|
75
|
-
requestParameters?: Params,
|
|
76
|
-
commonRequestParameters?: Params
|
|
77
|
-
): Params => {
|
|
78
|
-
return {
|
|
79
|
-
...commonRequestParameters, // Default to common parameters
|
|
80
|
-
...requestParameters, // Override with request-specific parameters
|
|
81
|
-
headers: {
|
|
82
|
-
...(commonRequestParameters?.headers || {}), // Ensure headers are defined
|
|
83
|
-
...(requestParameters?.headers || {}),
|
|
84
|
-
},
|
|
85
|
-
cookies: {
|
|
86
|
-
...(commonRequestParameters?.cookies || {}), // Ensure cookies are defined
|
|
87
|
-
...(requestParameters?.cookies || {}),
|
|
88
|
-
},
|
|
89
|
-
tags: {
|
|
90
|
-
...(commonRequestParameters?.tags || {}), // Ensure tags are defined
|
|
91
|
-
...(requestParameters?.tags || {}),
|
|
92
|
-
},
|
|
93
|
-
}
|
|
94
|
-
}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Automatically generated by @grafana/openapi-to-k6: 0.1.2
|
|
3
|
-
* Do not edit manually.
|
|
4
|
-
* Header Demo API
|
|
5
|
-
* An API demonstrating the use of headers in different ways
|
|
6
|
-
* OpenAPI spec version: 1.0.0
|
|
7
|
-
*/
|
|
8
|
-
import { URL } from 'https://jslib.k6.io/url/1.0.0/index.js'
|
|
9
|
-
import http from 'k6/http'
|
|
10
|
-
import type { Params, Response, ResponseBody } from 'k6/http'
|
|
11
|
-
export type GetExampleResponseHeaders200 = {
|
|
12
|
-
status?: string
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export type PostExamplePostBody = {
|
|
16
|
-
data?: string
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export type PostExamplePostHeaders = {
|
|
20
|
-
/**
|
|
21
|
-
* Bearer token for authorization
|
|
22
|
-
*/
|
|
23
|
-
Authorization: string
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export type GetExampleGet200 = {
|
|
27
|
-
message?: string
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export type GetExampleGetHeaders = {
|
|
31
|
-
/**
|
|
32
|
-
* A custom header for this request
|
|
33
|
-
*/
|
|
34
|
-
'X-Custom-Header'?: string
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export type CreateHeaderDemoAPIOptions = {
|
|
38
|
-
baseUrl: string
|
|
39
|
-
commonRequestParameters?: Params
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* This is the base client to use for interacting with the API.
|
|
44
|
-
*/
|
|
45
|
-
export const createHeaderDemoAPI = (
|
|
46
|
-
clientOptions: CreateHeaderDemoAPIOptions
|
|
47
|
-
) => {
|
|
48
|
-
const cleanBaseUrl = clientOptions.baseUrl.replace(/\/+$/, '')
|
|
49
|
-
/**
|
|
50
|
-
* This GET request demonstrates the use of custom request headers
|
|
51
|
-
* @summary GET request with headers
|
|
52
|
-
*/
|
|
53
|
-
const getExampleGet = (
|
|
54
|
-
headers?: GetExampleGetHeaders,
|
|
55
|
-
requestParameters?: Params
|
|
56
|
-
): GetExampleGetResponse => {
|
|
57
|
-
const url = new URL(cleanBaseUrl + `/example-get`)
|
|
58
|
-
const mergedRequestParameters = _mergeRequestParameters(
|
|
59
|
-
requestParameters || {},
|
|
60
|
-
clientOptions.commonRequestParameters
|
|
61
|
-
)
|
|
62
|
-
const response = http.request('GET', url.toString(), undefined, {
|
|
63
|
-
...mergedRequestParameters,
|
|
64
|
-
headers: {
|
|
65
|
-
...headers,
|
|
66
|
-
...mergedRequestParameters?.headers,
|
|
67
|
-
},
|
|
68
|
-
})
|
|
69
|
-
let data
|
|
70
|
-
|
|
71
|
-
try {
|
|
72
|
-
data = response.json()
|
|
73
|
-
} catch (error) {
|
|
74
|
-
data = response.body
|
|
75
|
-
}
|
|
76
|
-
return {
|
|
77
|
-
response,
|
|
78
|
-
data,
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* This POST request uses a security header for authentication
|
|
84
|
-
* @summary POST request with security headers
|
|
85
|
-
*/
|
|
86
|
-
const postExamplePost = (
|
|
87
|
-
postExamplePostBody: PostExamplePostBody,
|
|
88
|
-
headers: PostExamplePostHeaders,
|
|
89
|
-
requestParameters?: Params
|
|
90
|
-
): PostExamplePostResponse => {
|
|
91
|
-
const url = new URL(cleanBaseUrl + `/example-post`)
|
|
92
|
-
const mergedRequestParameters = _mergeRequestParameters(
|
|
93
|
-
requestParameters || {},
|
|
94
|
-
clientOptions.commonRequestParameters
|
|
95
|
-
)
|
|
96
|
-
const response = http.request(
|
|
97
|
-
'POST',
|
|
98
|
-
url.toString(),
|
|
99
|
-
JSON.stringify(postExamplePostBody),
|
|
100
|
-
{
|
|
101
|
-
...mergedRequestParameters,
|
|
102
|
-
headers: {
|
|
103
|
-
'Content-Type': 'application/json',
|
|
104
|
-
...headers,
|
|
105
|
-
...mergedRequestParameters?.headers,
|
|
106
|
-
},
|
|
107
|
-
}
|
|
108
|
-
)
|
|
109
|
-
let data
|
|
110
|
-
|
|
111
|
-
try {
|
|
112
|
-
data = response.json()
|
|
113
|
-
} catch (error) {
|
|
114
|
-
data = response.body
|
|
115
|
-
}
|
|
116
|
-
return {
|
|
117
|
-
response,
|
|
118
|
-
data,
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* This GET request returns custom response headers
|
|
124
|
-
* @summary GET request with response headers only
|
|
125
|
-
*/
|
|
126
|
-
const getExampleResponseHeaders = (
|
|
127
|
-
requestParameters?: Params
|
|
128
|
-
): GetExampleResponseHeadersResponse => {
|
|
129
|
-
const url = new URL(cleanBaseUrl + `/example-response-headers`)
|
|
130
|
-
const mergedRequestParameters = _mergeRequestParameters(
|
|
131
|
-
requestParameters || {},
|
|
132
|
-
clientOptions.commonRequestParameters
|
|
133
|
-
)
|
|
134
|
-
const response = http.request(
|
|
135
|
-
'GET',
|
|
136
|
-
url.toString(),
|
|
137
|
-
undefined,
|
|
138
|
-
mergedRequestParameters
|
|
139
|
-
)
|
|
140
|
-
let data
|
|
141
|
-
|
|
142
|
-
try {
|
|
143
|
-
data = response.json()
|
|
144
|
-
} catch (error) {
|
|
145
|
-
data = response.body
|
|
146
|
-
}
|
|
147
|
-
return {
|
|
148
|
-
response,
|
|
149
|
-
data,
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return { getExampleGet, postExamplePost, getExampleResponseHeaders }
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export type GetExampleGetResponse = {
|
|
157
|
-
response: Response
|
|
158
|
-
data: GetExampleGet200 | ResponseBody
|
|
159
|
-
}
|
|
160
|
-
export type PostExamplePostResponse = {
|
|
161
|
-
response: Response
|
|
162
|
-
data: void | ResponseBody
|
|
163
|
-
}
|
|
164
|
-
export type GetExampleResponseHeadersResponse = {
|
|
165
|
-
response: Response
|
|
166
|
-
data: GetExampleResponseHeaders200 | ResponseBody
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Merges the provided request parameters with default parameters for the client.
|
|
171
|
-
*
|
|
172
|
-
* @param {Params} requestParameters - The parameters provided specifically for the request
|
|
173
|
-
* @param {Params} commonRequestParameters - Common parameters for all requests
|
|
174
|
-
* @returns {Params} - The merged parameters
|
|
175
|
-
*/
|
|
176
|
-
const _mergeRequestParameters = (
|
|
177
|
-
requestParameters?: Params,
|
|
178
|
-
commonRequestParameters?: Params
|
|
179
|
-
): Params => {
|
|
180
|
-
return {
|
|
181
|
-
...commonRequestParameters, // Default to common parameters
|
|
182
|
-
...requestParameters, // Override with request-specific parameters
|
|
183
|
-
headers: {
|
|
184
|
-
...(commonRequestParameters?.headers || {}), // Ensure headers are defined
|
|
185
|
-
...(requestParameters?.headers || {}),
|
|
186
|
-
},
|
|
187
|
-
cookies: {
|
|
188
|
-
...(commonRequestParameters?.cookies || {}), // Ensure cookies are defined
|
|
189
|
-
...(requestParameters?.cookies || {}),
|
|
190
|
-
},
|
|
191
|
-
tags: {
|
|
192
|
-
...(commonRequestParameters?.tags || {}), // Ensure tags are defined
|
|
193
|
-
...(requestParameters?.tags || {}),
|
|
194
|
-
},
|
|
195
|
-
}
|
|
196
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Automatically generated by @grafana/openapi-to-k6: 0.1.2
|
|
3
|
-
* Do not edit manually.
|
|
4
|
-
* OpenAPI spec version: 1.0.0
|
|
5
|
-
*/
|
|
6
|
-
import { URL } from 'https://jslib.k6.io/url/1.0.0/index.js'
|
|
7
|
-
import http from 'k6/http'
|
|
8
|
-
import type { Params, Response, ResponseBody } from 'k6/http'
|
|
9
|
-
export type GetExample200 = {
|
|
10
|
-
message?: string
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export type CreateK6ClientOptions = {
|
|
14
|
-
baseUrl: string
|
|
15
|
-
commonRequestParameters?: Params
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* This is the base client to use for interacting with the API.
|
|
20
|
-
*/
|
|
21
|
-
export const createK6Client = (clientOptions: CreateK6ClientOptions) => {
|
|
22
|
-
const cleanBaseUrl = clientOptions.baseUrl.replace(/\/+$/, '')
|
|
23
|
-
/**
|
|
24
|
-
* @summary Retrieve example data
|
|
25
|
-
*/
|
|
26
|
-
const getExample = (requestParameters?: Params): GetExampleResponse => {
|
|
27
|
-
const url = new URL(cleanBaseUrl + `/example`)
|
|
28
|
-
const mergedRequestParameters = _mergeRequestParameters(
|
|
29
|
-
requestParameters || {},
|
|
30
|
-
clientOptions.commonRequestParameters
|
|
31
|
-
)
|
|
32
|
-
const response = http.request(
|
|
33
|
-
'GET',
|
|
34
|
-
url.toString(),
|
|
35
|
-
undefined,
|
|
36
|
-
mergedRequestParameters
|
|
37
|
-
)
|
|
38
|
-
let data
|
|
39
|
-
|
|
40
|
-
try {
|
|
41
|
-
data = response.json()
|
|
42
|
-
} catch (error) {
|
|
43
|
-
data = response.body
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
response,
|
|
47
|
-
data,
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return { getExample }
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export type GetExampleResponse = {
|
|
55
|
-
response: Response
|
|
56
|
-
data: GetExample200 | ResponseBody
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Merges the provided request parameters with default parameters for the client.
|
|
61
|
-
*
|
|
62
|
-
* @param {Params} requestParameters - The parameters provided specifically for the request
|
|
63
|
-
* @param {Params} commonRequestParameters - Common parameters for all requests
|
|
64
|
-
* @returns {Params} - The merged parameters
|
|
65
|
-
*/
|
|
66
|
-
const _mergeRequestParameters = (
|
|
67
|
-
requestParameters?: Params,
|
|
68
|
-
commonRequestParameters?: Params
|
|
69
|
-
): Params => {
|
|
70
|
-
return {
|
|
71
|
-
...commonRequestParameters, // Default to common parameters
|
|
72
|
-
...requestParameters, // Override with request-specific parameters
|
|
73
|
-
headers: {
|
|
74
|
-
...(commonRequestParameters?.headers || {}), // Ensure headers are defined
|
|
75
|
-
...(requestParameters?.headers || {}),
|
|
76
|
-
},
|
|
77
|
-
cookies: {
|
|
78
|
-
...(commonRequestParameters?.cookies || {}), // Ensure cookies are defined
|
|
79
|
-
...(requestParameters?.cookies || {}),
|
|
80
|
-
},
|
|
81
|
-
tags: {
|
|
82
|
-
...(commonRequestParameters?.tags || {}), // Ensure tags are defined
|
|
83
|
-
...(requestParameters?.tags || {}),
|
|
84
|
-
},
|
|
85
|
-
}
|
|
86
|
-
}
|