-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathk6CMSLoadTests.js
More file actions
140 lines (132 loc) · 2.29 KB
/
Copy pathk6CMSLoadTests.js
File metadata and controls
140 lines (132 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/* eslint-disable */
import { check, sleep } from 'k6';
import http from 'k6/http';
export const options = {
duration: '60s',
vus: 30,
};
const headers = {
"accept": "application/json",
"accept-language": "en-FI,en;q=0.9,fi-FI;q=0.8,fi;q=0.7,en-US;q=0.6,de;q=0.5,sv;q=0.4",
"cache-control": "no-cache",
"content-type": "application/json",
"pragma": "no-cache",
}
// A pageByTemplate query for the frontpage
const query = `
fragment SEO on SEO {
title
description
openGraphDescription
openGraphTitle
openGraphType
twitterDescription
twitterTitle
socialImage {
uri
}
}
fragment Language on Language {
code
id
locale
name
slug
}
fragment Page on Page {
id
content
slug
title
uri
link
lead
seo {
...SEO
}
language {
...Language
}
translations {
uri
slug
language {
...Language
}
seo {
...SEO
}
}
featuredImage {
node {
mediaItemUrl
link
altText
mimeType
title
uri
}
}
sidebar {
... on LayoutLinkList {
__typename
}
... on LayoutArticles {
__typename
}
... on LayoutPages {
__typename
}
}
modules {
... on LayoutArticles {
__typename
}
... on LayoutArticlesCarousel {
__typename
}
... on LayoutPages {
__typename
}
... on LayoutPagesCarousel {
__typename
}
... on EventSearch {
__typename
}
... on EventSelected {
__typename
}
... on EventSearchCarousel {
__typename
}
... on EventSelectedCarousel {
__typename
}
... on LayoutCollection {
__typename
}
... on LocationsSelected {
__typename
}
}
}
query pageByTemplate($template: TemplateEnum, $language: String) {
pageByTemplate(template: $template, language: $language) {
...Page
}
}
`
const variables = {
"template": "frontPage"
}
export default () => {
const res = http.post('https://harrastus.content.api.hel.fi/graphql', JSON.stringify({ query, variables }), { headers });
// console.log(res.json())
check(res, { 'status was 200 and a page was returned': (r) => {
const body = JSON.parse(r.body);
const pageId = body.data.pageByTemplate.id
return r.status === 200 && pageId !== null
}});
sleep(5);
};