@budibase/worker 2.1.22-alpha.4 → 2.1.22-alpha.6
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/__mocks__/oauth.ts +57 -0
- package/coverage/clover.xml +1093 -1033
- package/coverage/coverage-final.json +77 -72
- package/coverage/lcov-report/index.html +83 -83
- package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +70 -70
- package/coverage/lcov-report/src/api/controllers/global/configs.js.html +35 -35
- package/coverage/lcov-report/src/api/controllers/global/email.js.html +4 -4
- package/coverage/lcov-report/src/api/controllers/global/index.html +38 -38
- package/coverage/lcov-report/src/api/controllers/global/license.ts.html +7 -7
- package/coverage/lcov-report/src/api/controllers/global/roles.js.html +10 -10
- package/coverage/lcov-report/src/api/controllers/global/self.ts.html +58 -58
- package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +11 -11
- package/coverage/lcov-report/src/api/controllers/global/users.ts.html +75 -69
- package/coverage/lcov-report/src/api/controllers/global/workspaces.js.html +7 -7
- package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +4 -4
- package/coverage/lcov-report/src/api/controllers/system/{environment.js.html → environment.ts.html} +21 -18
- package/coverage/lcov-report/src/api/controllers/system/index.html +63 -63
- package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +23 -23
- package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +22 -22
- package/coverage/lcov-report/src/api/controllers/system/{status.js.html → status.ts.html} +29 -26
- package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +34 -163
- package/coverage/lcov-report/src/api/index.html +11 -11
- package/coverage/lcov-report/src/api/index.ts.html +113 -44
- package/coverage/lcov-report/src/api/routes/global/auth.js.html +38 -89
- package/coverage/lcov-report/src/api/routes/global/configs.js.html +17 -17
- package/coverage/lcov-report/src/api/routes/global/email.js.html +11 -11
- package/coverage/lcov-report/src/api/routes/global/index.html +11 -11
- package/coverage/lcov-report/src/api/routes/global/license.ts.html +6 -6
- package/coverage/lcov-report/src/api/routes/global/roles.js.html +7 -7
- package/coverage/lcov-report/src/api/routes/global/self.ts.html +8 -8
- package/coverage/lcov-report/src/api/routes/global/templates.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/global/users.js.html +17 -17
- package/coverage/lcov-report/src/api/routes/global/workspaces.js.html +10 -10
- package/coverage/lcov-report/src/api/routes/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/index.ts.html +19 -19
- package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +7 -7
- package/coverage/lcov-report/src/api/routes/system/{environment.js.html → environment.ts.html} +11 -11
- package/coverage/lcov-report/src/api/routes/system/index.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +7 -7
- package/coverage/lcov-report/src/api/routes/system/restore.ts.html +6 -6
- package/coverage/lcov-report/src/api/routes/system/{status.js.html → status.ts.html} +11 -11
- package/coverage/lcov-report/src/api/routes/system/{tenants.js.html → tenants.ts.html} +20 -17
- package/coverage/lcov-report/src/api/routes/validation/index.html +1 -1
- package/coverage/lcov-report/src/api/routes/validation/index.ts.html +2 -2
- package/coverage/lcov-report/src/api/routes/validation/users.ts.html +13 -13
- package/coverage/lcov-report/src/constants/index.html +1 -1
- package/coverage/lcov-report/src/constants/index.js.html +18 -18
- package/coverage/lcov-report/src/constants/templates/index.html +1 -1
- package/coverage/lcov-report/src/constants/templates/index.js.html +10 -10
- package/coverage/lcov-report/src/db/index.html +1 -1
- package/coverage/lcov-report/src/db/index.ts.html +8 -8
- package/coverage/lcov-report/src/environment.ts.html +15 -15
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/index.ts.html +40 -40
- package/coverage/lcov-report/src/middleware/cloudRestricted.js.html +22 -22
- package/coverage/lcov-report/src/middleware/index.html +21 -21
- package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +3 -3
- package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
- package/coverage/lcov-report/src/migrations/index.html +1 -1
- package/coverage/lcov-report/src/migrations/index.ts.html +17 -17
- package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +6 -6
- package/coverage/lcov-report/src/sdk/accounts/index.html +1 -1
- package/coverage/lcov-report/src/sdk/accounts/index.ts.html +2 -2
- package/coverage/lcov-report/src/sdk/index.html +1 -1
- package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
- package/coverage/lcov-report/src/sdk/users/events.ts.html +43 -43
- package/coverage/lcov-report/src/sdk/users/index.html +19 -19
- package/coverage/lcov-report/src/sdk/users/index.ts.html +2 -2
- package/coverage/lcov-report/src/sdk/users/users.ts.html +99 -99
- package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +261 -123
- package/coverage/lcov-report/src/tests/api/accounts.ts.html +12 -21
- package/coverage/lcov-report/src/tests/api/auth.ts.html +11 -20
- package/coverage/lcov-report/src/tests/api/base.ts.html +133 -0
- package/coverage/lcov-report/src/tests/api/configs.ts.html +44 -23
- package/coverage/lcov-report/src/tests/api/email.ts.html +9 -18
- package/coverage/lcov-report/src/tests/api/environment.ts.html +130 -0
- package/coverage/lcov-report/src/tests/api/index.html +106 -16
- package/coverage/lcov-report/src/tests/api/index.ts.html +62 -17
- package/coverage/lcov-report/src/tests/{structures/accounts.ts.html → api/migrations.ts.html} +31 -37
- package/coverage/lcov-report/src/tests/api/restore.ts.html +127 -0
- package/coverage/lcov-report/src/tests/api/self.ts.html +31 -16
- package/coverage/lcov-report/src/tests/api/status.ts.html +121 -0
- package/coverage/lcov-report/src/tests/api/tenants.ts.html +130 -0
- package/coverage/lcov-report/src/tests/api/users.ts.html +121 -25
- package/coverage/lcov-report/src/tests/controllers.js.html +2 -2
- package/coverage/lcov-report/src/tests/index.html +20 -20
- package/coverage/lcov-report/src/tests/index.ts.html +21 -9
- package/coverage/lcov-report/src/tests/mocks/email.js.html +2 -2
- package/coverage/lcov-report/src/tests/mocks/index.html +1 -1
- package/coverage/lcov-report/src/tests/mocks/index.ts.html +4 -4
- package/coverage/lcov-report/src/tests/structures/configs.js.html +8 -8
- package/coverage/lcov-report/src/tests/structures/groups.ts.html +2 -2
- package/coverage/lcov-report/src/tests/structures/index.html +9 -24
- package/coverage/lcov-report/src/tests/structures/index.ts.html +21 -15
- package/coverage/lcov-report/src/tests/structures/users.ts.html +13 -10
- package/coverage/lcov-report/src/utilities/appService.js.html +11 -11
- package/coverage/lcov-report/src/utilities/email.js.html +16 -16
- package/coverage/lcov-report/src/utilities/fileSystem.js.html +4 -4
- package/coverage/lcov-report/src/utilities/index.html +1 -1
- package/coverage/lcov-report/src/utilities/index.js.html +2 -2
- package/coverage/lcov-report/src/utilities/redis.js.html +13 -13
- package/coverage/lcov-report/src/utilities/templates.js.html +7 -7
- package/coverage/lcov-report/src/utilities/users.js.html +8 -8
- package/coverage/lcov.info +1685 -1511
- package/package.json +8 -6
- package/scripts/localdomain.js +33 -7
- package/src/api/controllers/global/auth.ts +1 -1
- package/src/api/controllers/global/users.ts +3 -1
- package/src/api/controllers/system/{environment.js → environment.ts} +3 -2
- package/src/api/controllers/system/{status.js → status.ts} +4 -3
- package/src/api/controllers/system/tenants.ts +8 -51
- package/src/api/index.ts +29 -6
- package/src/api/routes/global/auth.js +22 -39
- package/src/api/routes/global/tests/auth.spec.ts +134 -64
- package/src/api/routes/global/tests/configs.spec.ts +5 -6
- package/src/api/routes/global/tests/email.spec.ts +4 -3
- package/src/api/routes/global/tests/license.spec.ts +31 -0
- package/src/api/routes/global/tests/realEmail.spec.ts +2 -3
- package/src/api/routes/global/tests/roles.spec.ts +27 -0
- package/src/api/routes/global/tests/self.spec.ts +3 -4
- package/src/api/routes/global/tests/templates.spec.ts +35 -0
- package/src/api/routes/global/tests/users.spec.ts +51 -43
- package/src/api/routes/global/tests/workspaces.spec.ts +29 -0
- package/src/api/routes/system/environment.ts +8 -0
- package/src/api/routes/system/status.ts +8 -0
- package/src/api/routes/system/tenants.ts +13 -0
- package/src/api/routes/system/tests/accounts.spec.ts +5 -6
- package/src/api/routes/system/tests/environment.spec.ts +29 -0
- package/src/api/routes/system/tests/migrations.spec.ts +63 -0
- package/src/api/routes/system/tests/restore.spec.ts +36 -0
- package/src/api/routes/system/tests/status.spec.ts +48 -0
- package/src/api/routes/system/tests/tenants.spec.ts +61 -0
- package/src/middleware/tests/tenancy.spec.ts +73 -0
- package/src/tests/TestConfiguration.ts +88 -42
- package/src/tests/api/accounts.ts +5 -8
- package/src/tests/api/auth.ts +3 -6
- package/src/tests/api/base.ts +16 -0
- package/src/tests/api/configs.ts +15 -8
- package/src/tests/api/email.ts +3 -6
- package/src/tests/api/environment.ts +15 -0
- package/src/tests/api/index.ts +15 -0
- package/src/tests/api/migrations.ts +22 -0
- package/src/tests/api/restore.ts +14 -0
- package/src/tests/api/self.ts +11 -6
- package/src/tests/api/status.ts +12 -0
- package/src/tests/api/tenants.ts +15 -0
- package/src/tests/api/users.ts +38 -6
- package/src/tests/index.ts +4 -0
- package/src/tests/jestSetup.ts +7 -1
- package/src/tests/structures/index.ts +4 -2
- package/src/tests/structures/users.ts +1 -0
- package/__mocks__/node-fetch.ts +0 -1
- package/src/api/routes/system/environment.js +0 -8
- package/src/api/routes/system/status.js +0 -8
- package/src/api/routes/system/tenants.js +0 -12
- package/src/tests/structures/accounts.ts +0 -24
|
@@ -88,22 +88,16 @@
|
|
|
88
88
|
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
89
|
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
90
|
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
95
92
|
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-yes">17x</span>
|
|
96
94
|
<span class="cline-any cline-neutral"> </span>
|
|
97
|
-
<span class="cline-any cline-yes">
|
|
95
|
+
<span class="cline-any cline-yes">17x</span>
|
|
98
96
|
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-yes">17x</span>
|
|
99
98
|
<span class="cline-any cline-neutral"> </span>
|
|
100
99
|
<span class="cline-any cline-neutral"> </span>
|
|
101
|
-
<span class="cline-any cline-
|
|
102
|
-
<span class="cline-any cline-yes">7x</span>
|
|
103
|
-
<span class="cline-any cline-yes">7x</span>
|
|
104
|
-
<span class="cline-any cline-neutral"> </span>
|
|
105
|
-
<span class="cline-any cline-neutral"> </span>
|
|
106
|
-
<span class="cline-any cline-yes">7x</span>
|
|
100
|
+
<span class="cline-any cline-yes">17x</span>
|
|
107
101
|
<span class="cline-any cline-yes">3x</span>
|
|
108
102
|
<span class="cline-any cline-neutral"> </span>
|
|
109
103
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -113,7 +107,7 @@
|
|
|
113
107
|
<span class="cline-any cline-yes">3x</span>
|
|
114
108
|
<span class="cline-any cline-neutral"> </span>
|
|
115
109
|
<span class="cline-any cline-neutral"> </span>
|
|
116
|
-
<span class="cline-any cline-yes">
|
|
110
|
+
<span class="cline-any cline-yes">17x</span>
|
|
117
111
|
<span class="cline-any cline-yes">2x</span>
|
|
118
112
|
<span class="cline-any cline-neutral"> </span>
|
|
119
113
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -121,21 +115,18 @@
|
|
|
121
115
|
<span class="cline-any cline-neutral"> </span>
|
|
122
116
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Account, AccountMetadata } from "@budibase/types"
|
|
123
117
|
import TestConfiguration from "../TestConfiguration"
|
|
118
|
+
import { TestAPI } from "./base"
|
|
124
119
|
|
|
125
|
-
export class AccountAPI {
|
|
126
|
-
config: TestConfiguration
|
|
127
|
-
request: any
|
|
128
|
-
|
|
120
|
+
export class AccountAPI extends TestAPI {
|
|
129
121
|
constructor(config: TestConfiguration) {
|
|
130
|
-
|
|
131
|
-
this.request = config.request
|
|
122
|
+
super(config)
|
|
132
123
|
}
|
|
133
124
|
|
|
134
125
|
saveMetadata = async (account: Account) => {
|
|
135
126
|
const res = await this.request
|
|
136
127
|
.put(`/api/system/accounts/${account.accountId}/metadata`)
|
|
137
128
|
.send(account)
|
|
138
|
-
.set(this.config.
|
|
129
|
+
.set(this.config.internalAPIHeaders())
|
|
139
130
|
.expect("Content-Type", /json/)
|
|
140
131
|
.expect(200)
|
|
141
132
|
return res.body as AccountMetadata
|
|
@@ -144,7 +135,7 @@ export class AccountAPI {
|
|
|
144
135
|
destroyMetadata = (accountId: string) => {
|
|
145
136
|
return this.request
|
|
146
137
|
.del(`/api/system/accounts/${accountId}/metadata`)
|
|
147
|
-
.set(this.config.
|
|
138
|
+
.set(this.config.internalAPIHeaders())
|
|
148
139
|
}
|
|
149
140
|
}
|
|
150
141
|
</pre></td></tr></table></pre>
|
|
@@ -154,7 +145,7 @@ export class AccountAPI {
|
|
|
154
145
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
155
146
|
Code coverage generated by
|
|
156
147
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
157
|
-
at
|
|
148
|
+
at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
|
|
158
149
|
</div>
|
|
159
150
|
<script src="../../../prettify.js"></script>
|
|
160
151
|
<script>
|
|
@@ -108,21 +108,15 @@
|
|
|
108
108
|
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
109
|
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
110
|
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
112
|
+
<span class="cline-any cline-yes">17x</span>
|
|
115
113
|
<span class="cline-any cline-neutral"> </span>
|
|
116
|
-
<span class="cline-any cline-yes">
|
|
114
|
+
<span class="cline-any cline-yes">17x</span>
|
|
117
115
|
<span class="cline-any cline-neutral"> </span>
|
|
116
|
+
<span class="cline-any cline-yes">17x</span>
|
|
118
117
|
<span class="cline-any cline-neutral"> </span>
|
|
119
118
|
<span class="cline-any cline-neutral"> </span>
|
|
120
|
-
<span class="cline-any cline-
|
|
121
|
-
<span class="cline-any cline-yes">7x</span>
|
|
122
|
-
<span class="cline-any cline-yes">7x</span>
|
|
123
|
-
<span class="cline-any cline-neutral"> </span>
|
|
124
|
-
<span class="cline-any cline-neutral"> </span>
|
|
125
|
-
<span class="cline-any cline-yes">7x</span>
|
|
119
|
+
<span class="cline-any cline-yes">17x</span>
|
|
126
120
|
<span class="cline-any cline-yes">1x</span>
|
|
127
121
|
<span class="cline-any cline-neutral"> </span>
|
|
128
122
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -133,14 +127,14 @@
|
|
|
133
127
|
<span class="cline-any cline-neutral"> </span>
|
|
134
128
|
<span class="cline-any cline-neutral"> </span>
|
|
135
129
|
<span class="cline-any cline-neutral"> </span>
|
|
136
|
-
<span class="cline-any cline-yes">
|
|
130
|
+
<span class="cline-any cline-yes">17x</span>
|
|
137
131
|
<span class="cline-any cline-yes">1x</span>
|
|
138
132
|
<span class="cline-any cline-neutral"> </span>
|
|
139
133
|
<span class="cline-any cline-neutral"> </span>
|
|
140
134
|
<span class="cline-any cline-neutral"> </span>
|
|
141
135
|
<span class="cline-any cline-neutral"> </span>
|
|
142
136
|
<span class="cline-any cline-neutral"> </span>
|
|
143
|
-
<span class="cline-any cline-yes">
|
|
137
|
+
<span class="cline-any cline-yes">17x</span>
|
|
144
138
|
<span class="cline-any cline-yes">2x</span>
|
|
145
139
|
<span class="cline-any cline-yes">2x</span>
|
|
146
140
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -160,14 +154,11 @@
|
|
|
160
154
|
<span class="cline-any cline-neutral"> </span>
|
|
161
155
|
<span class="cline-any cline-neutral"> </span>
|
|
162
156
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
|
|
157
|
+
import { TestAPI } from "./base"
|
|
163
158
|
|
|
164
|
-
export class AuthAPI {
|
|
165
|
-
config: TestConfiguration
|
|
166
|
-
request: any
|
|
167
|
-
|
|
159
|
+
export class AuthAPI extends TestAPI {
|
|
168
160
|
constructor(config: TestConfiguration) {
|
|
169
|
-
|
|
170
|
-
this.request = config.request
|
|
161
|
+
super(config)
|
|
171
162
|
}
|
|
172
163
|
|
|
173
164
|
updatePassword = (code: string) => {
|
|
@@ -214,7 +205,7 @@ export class AuthAPI {
|
|
|
214
205
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
215
206
|
Code coverage generated by
|
|
216
207
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
217
|
-
at
|
|
208
|
+
at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
|
|
218
209
|
</div>
|
|
219
210
|
<script src="../../../prettify.js"></script>
|
|
220
211
|
<script>
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/tests/api/base.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/tests/api</a> base.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>3/3</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/0</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>3/3</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
83
|
+
<span class="cline-any cline-neutral"> </span>
|
|
84
|
+
<span class="cline-any cline-neutral"> </span>
|
|
85
|
+
<span class="cline-any cline-neutral"> </span>
|
|
86
|
+
<span class="cline-any cline-neutral"> </span>
|
|
87
|
+
<span class="cline-any cline-neutral"> </span>
|
|
88
|
+
<span class="cline-any cline-neutral"> </span>
|
|
89
|
+
<span class="cline-any cline-yes">17x</span>
|
|
90
|
+
<span class="cline-any cline-neutral"> </span>
|
|
91
|
+
<span class="cline-any cline-neutral"> </span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-neutral"> </span>
|
|
94
|
+
<span class="cline-any cline-yes">187x</span>
|
|
95
|
+
<span class="cline-any cline-yes">187x</span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
|
|
99
|
+
|
|
100
|
+
export interface TestAPIOpts {
|
|
101
|
+
headers?: any
|
|
102
|
+
status?: number
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export abstract class TestAPI {
|
|
106
|
+
config: TestConfiguration
|
|
107
|
+
request: any
|
|
108
|
+
|
|
109
|
+
protected constructor(config: TestConfiguration) {
|
|
110
|
+
this.config = config
|
|
111
|
+
this.request = config.request
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
</pre></td></tr></table></pre>
|
|
115
|
+
|
|
116
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
117
|
+
</div><!-- /wrapper -->
|
|
118
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
119
|
+
Code coverage generated by
|
|
120
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
121
|
+
at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
|
|
122
|
+
</div>
|
|
123
|
+
<script src="../../../prettify.js"></script>
|
|
124
|
+
<script>
|
|
125
|
+
window.onload = function () {
|
|
126
|
+
prettyPrint();
|
|
127
|
+
};
|
|
128
|
+
</script>
|
|
129
|
+
<script src="../../../sorter.js"></script>
|
|
130
|
+
<script src="../../../block-navigation.js"></script>
|
|
131
|
+
</body>
|
|
132
|
+
</html>
|
|
133
|
+
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>17/17</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>6/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>17/17</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -103,55 +103,66 @@
|
|
|
103
103
|
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
104
|
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
105
|
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
114
|
+
<span class="cline-any cline-yes">17x</span>
|
|
107
115
|
<span class="cline-any cline-neutral"> </span>
|
|
108
|
-
<span class="cline-any cline-yes">
|
|
116
|
+
<span class="cline-any cline-yes">17x</span>
|
|
109
117
|
<span class="cline-any cline-neutral"> </span>
|
|
118
|
+
<span class="cline-any cline-yes">17x</span>
|
|
110
119
|
<span class="cline-any cline-neutral"> </span>
|
|
111
120
|
<span class="cline-any cline-neutral"> </span>
|
|
121
|
+
<span class="cline-any cline-yes">17x</span>
|
|
122
|
+
<span class="cline-any cline-yes">1x</span>
|
|
112
123
|
<span class="cline-any cline-neutral"> </span>
|
|
113
|
-
<span class="cline-any cline-yes">7x</span>
|
|
114
|
-
<span class="cline-any cline-yes">7x</span>
|
|
115
124
|
<span class="cline-any cline-neutral"> </span>
|
|
116
125
|
<span class="cline-any cline-neutral"> </span>
|
|
117
|
-
<span class="cline-any cline-yes">7x</span>
|
|
118
|
-
<span class="cline-any cline-yes">1x</span>
|
|
119
126
|
<span class="cline-any cline-neutral"> </span>
|
|
120
127
|
<span class="cline-any cline-neutral"> </span>
|
|
121
128
|
<span class="cline-any cline-neutral"> </span>
|
|
129
|
+
<span class="cline-any cline-yes">17x</span>
|
|
130
|
+
<span class="cline-any cline-yes">19x</span>
|
|
122
131
|
<span class="cline-any cline-neutral"> </span>
|
|
123
132
|
<span class="cline-any cline-neutral"> </span>
|
|
124
133
|
<span class="cline-any cline-neutral"> </span>
|
|
125
|
-
<span class="cline-any cline-yes">7x</span>
|
|
126
|
-
<span class="cline-any cline-yes">19x</span>
|
|
127
134
|
<span class="cline-any cline-neutral"> </span>
|
|
128
135
|
<span class="cline-any cline-neutral"> </span>
|
|
129
136
|
<span class="cline-any cline-neutral"> </span>
|
|
130
137
|
<span class="cline-any cline-neutral"> </span>
|
|
138
|
+
<span class="cline-any cline-yes">17x</span>
|
|
139
|
+
<span class="cline-any cline-yes">1x</span>
|
|
140
|
+
<span class="cline-any cline-yes">1x</span>
|
|
141
|
+
<span class="cline-any cline-yes">3x</span>
|
|
131
142
|
<span class="cline-any cline-neutral"> </span>
|
|
143
|
+
<span class="cline-any cline-yes">1x</span>
|
|
144
|
+
<span class="cline-any cline-yes">1x</span>
|
|
132
145
|
<span class="cline-any cline-neutral"> </span>
|
|
133
146
|
<span class="cline-any cline-neutral"> </span>
|
|
134
|
-
<span class="cline-any cline-yes">
|
|
147
|
+
<span class="cline-any cline-yes">1x</span>
|
|
135
148
|
<span class="cline-any cline-yes">1x</span>
|
|
136
149
|
<span class="cline-any cline-neutral"> </span>
|
|
137
150
|
<span class="cline-any cline-neutral"> </span>
|
|
138
151
|
<span class="cline-any cline-neutral"> </span>
|
|
139
152
|
<span class="cline-any cline-neutral"> </span>
|
|
140
|
-
<span class="cline-any cline-
|
|
141
|
-
<span class="cline-any cline-yes">
|
|
153
|
+
<span class="cline-any cline-neutral"> </span>
|
|
154
|
+
<span class="cline-any cline-yes">17x</span>
|
|
155
|
+
<span class="cline-any cline-yes">2x</span>
|
|
142
156
|
<span class="cline-any cline-neutral"> </span>
|
|
143
157
|
<span class="cline-any cline-neutral"> </span>
|
|
144
158
|
<span class="cline-any cline-neutral"> </span>
|
|
145
159
|
<span class="cline-any cline-neutral"> </span>
|
|
146
160
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
|
|
161
|
+
import { TestAPI } from "./base"
|
|
147
162
|
|
|
148
|
-
export class ConfigAPI {
|
|
149
|
-
config: TestConfiguration
|
|
150
|
-
request: any
|
|
151
|
-
|
|
163
|
+
export class ConfigAPI extends TestAPI {
|
|
152
164
|
constructor(config: TestConfiguration) {
|
|
153
|
-
|
|
154
|
-
this.request = config.request
|
|
165
|
+
super(config)
|
|
155
166
|
}
|
|
156
167
|
|
|
157
168
|
getConfigChecklist = () => {
|
|
@@ -171,10 +182,20 @@ export class ConfigAPI {
|
|
|
171
182
|
.expect(200)
|
|
172
183
|
}
|
|
173
184
|
|
|
174
|
-
OIDCCallback = (configId: string) => {
|
|
185
|
+
OIDCCallback = (configId: string, preAuthRes: any) => {
|
|
186
|
+
const cookie = this.config.cookieHeader(preAuthRes.get("set-cookie"))
|
|
187
|
+
const setKoaSession = cookie.Cookie.find((c: string) =>
|
|
188
|
+
c.includes("koa:sess")
|
|
189
|
+
)
|
|
190
|
+
const koaSession = setKoaSession.split("=")[1] + "=="
|
|
191
|
+
const sessionContent = JSON.parse(
|
|
192
|
+
Buffer.from(koaSession, "base64").toString("utf-8")
|
|
193
|
+
)
|
|
194
|
+
const handle = sessionContent["openidconnect:localhost"].state.handle
|
|
175
195
|
return this.request
|
|
176
196
|
.get(`/api/global/auth/${this.config.getTenantId()}/oidc/callback`)
|
|
177
|
-
.
|
|
197
|
+
.query({ code: "test", state: handle })
|
|
198
|
+
.set(cookie)
|
|
178
199
|
}
|
|
179
200
|
|
|
180
201
|
getOIDCConfig = (configId: string) => {
|
|
@@ -190,7 +211,7 @@ export class ConfigAPI {
|
|
|
190
211
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
191
212
|
Code coverage generated by
|
|
192
213
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
193
|
-
at
|
|
214
|
+
at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
|
|
194
215
|
</div>
|
|
195
216
|
<script src="../../../prettify.js"></script>
|
|
196
217
|
<script>
|
|
@@ -84,21 +84,15 @@
|
|
|
84
84
|
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
85
|
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
86
|
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
88
|
+
<span class="cline-any cline-yes">17x</span>
|
|
91
89
|
<span class="cline-any cline-neutral"> </span>
|
|
92
|
-
<span class="cline-any cline-yes">
|
|
90
|
+
<span class="cline-any cline-yes">17x</span>
|
|
93
91
|
<span class="cline-any cline-neutral"> </span>
|
|
92
|
+
<span class="cline-any cline-yes">17x</span>
|
|
94
93
|
<span class="cline-any cline-neutral"> </span>
|
|
95
94
|
<span class="cline-any cline-neutral"> </span>
|
|
96
|
-
<span class="cline-any cline-
|
|
97
|
-
<span class="cline-any cline-yes">7x</span>
|
|
98
|
-
<span class="cline-any cline-yes">7x</span>
|
|
99
|
-
<span class="cline-any cline-neutral"> </span>
|
|
100
|
-
<span class="cline-any cline-neutral"> </span>
|
|
101
|
-
<span class="cline-any cline-yes">7x</span>
|
|
95
|
+
<span class="cline-any cline-yes">17x</span>
|
|
102
96
|
<span class="cline-any cline-yes">1x</span>
|
|
103
97
|
<span class="cline-any cline-neutral"> </span>
|
|
104
98
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -112,14 +106,11 @@
|
|
|
112
106
|
<span class="cline-any cline-neutral"> </span>
|
|
113
107
|
<span class="cline-any cline-neutral"> </span>
|
|
114
108
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
|
|
109
|
+
import { TestAPI } from "./base"
|
|
115
110
|
|
|
116
|
-
export class EmailAPI {
|
|
117
|
-
config: TestConfiguration
|
|
118
|
-
request: any
|
|
119
|
-
|
|
111
|
+
export class EmailAPI extends TestAPI {
|
|
120
112
|
constructor(config: TestConfiguration) {
|
|
121
|
-
|
|
122
|
-
this.request = config.request
|
|
113
|
+
super(config)
|
|
123
114
|
}
|
|
124
115
|
|
|
125
116
|
sendEmail = (purpose: string) => {
|
|
@@ -142,7 +133,7 @@ export class EmailAPI {
|
|
|
142
133
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
134
|
Code coverage generated by
|
|
144
135
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at
|
|
136
|
+
at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
|
|
146
137
|
</div>
|
|
147
138
|
<script src="../../../prettify.js"></script>
|
|
148
139
|
<script>
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/tests/api/environment.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/tests/api</a> environment.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>5/5</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/0</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>5/5</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
82
|
+
<span class="cline-any cline-yes">17x</span>
|
|
83
|
+
<span class="cline-any cline-neutral"> </span>
|
|
84
|
+
<span class="cline-any cline-yes">17x</span>
|
|
85
|
+
<span class="cline-any cline-neutral"> </span>
|
|
86
|
+
<span class="cline-any cline-yes">17x</span>
|
|
87
|
+
<span class="cline-any cline-neutral"> </span>
|
|
88
|
+
<span class="cline-any cline-neutral"> </span>
|
|
89
|
+
<span class="cline-any cline-yes">17x</span>
|
|
90
|
+
<span class="cline-any cline-yes">1x</span>
|
|
91
|
+
<span class="cline-any cline-neutral"> </span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-neutral"> </span>
|
|
94
|
+
<span class="cline-any cline-neutral"> </span>
|
|
95
|
+
<span class="cline-any cline-neutral"> </span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
|
|
97
|
+
import { TestAPI } from "./base"
|
|
98
|
+
|
|
99
|
+
export class EnvironmentAPI extends TestAPI {
|
|
100
|
+
constructor(config: TestConfiguration) {
|
|
101
|
+
super(config)
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
getEnvironment = () => {
|
|
105
|
+
return this.request
|
|
106
|
+
.get(`/api/system/environment`)
|
|
107
|
+
.expect("Content-Type", /json/)
|
|
108
|
+
.expect(200)
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
</pre></td></tr></table></pre>
|
|
112
|
+
|
|
113
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
114
|
+
</div><!-- /wrapper -->
|
|
115
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
116
|
+
Code coverage generated by
|
|
117
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
118
|
+
at Wed Nov 16 2022 13:31:07 GMT+0000 (Coordinated Universal Time)
|
|
119
|
+
</div>
|
|
120
|
+
<script src="../../../prettify.js"></script>
|
|
121
|
+
<script>
|
|
122
|
+
window.onload = function () {
|
|
123
|
+
prettyPrint();
|
|
124
|
+
};
|
|
125
|
+
</script>
|
|
126
|
+
<script src="../../../sorter.js"></script>
|
|
127
|
+
<script src="../../../block-navigation.js"></script>
|
|
128
|
+
</body>
|
|
129
|
+
</html>
|
|
130
|
+
|