@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.
Files changed (156) hide show
  1. package/__mocks__/oauth.ts +57 -0
  2. package/coverage/clover.xml +1093 -1033
  3. package/coverage/coverage-final.json +77 -72
  4. package/coverage/lcov-report/index.html +83 -83
  5. package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +70 -70
  6. package/coverage/lcov-report/src/api/controllers/global/configs.js.html +35 -35
  7. package/coverage/lcov-report/src/api/controllers/global/email.js.html +4 -4
  8. package/coverage/lcov-report/src/api/controllers/global/index.html +38 -38
  9. package/coverage/lcov-report/src/api/controllers/global/license.ts.html +7 -7
  10. package/coverage/lcov-report/src/api/controllers/global/roles.js.html +10 -10
  11. package/coverage/lcov-report/src/api/controllers/global/self.ts.html +58 -58
  12. package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +11 -11
  13. package/coverage/lcov-report/src/api/controllers/global/users.ts.html +75 -69
  14. package/coverage/lcov-report/src/api/controllers/global/workspaces.js.html +7 -7
  15. package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +4 -4
  16. package/coverage/lcov-report/src/api/controllers/system/{environment.js.html → environment.ts.html} +21 -18
  17. package/coverage/lcov-report/src/api/controllers/system/index.html +63 -63
  18. package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +23 -23
  19. package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +22 -22
  20. package/coverage/lcov-report/src/api/controllers/system/{status.js.html → status.ts.html} +29 -26
  21. package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +34 -163
  22. package/coverage/lcov-report/src/api/index.html +11 -11
  23. package/coverage/lcov-report/src/api/index.ts.html +113 -44
  24. package/coverage/lcov-report/src/api/routes/global/auth.js.html +38 -89
  25. package/coverage/lcov-report/src/api/routes/global/configs.js.html +17 -17
  26. package/coverage/lcov-report/src/api/routes/global/email.js.html +11 -11
  27. package/coverage/lcov-report/src/api/routes/global/index.html +11 -11
  28. package/coverage/lcov-report/src/api/routes/global/license.ts.html +6 -6
  29. package/coverage/lcov-report/src/api/routes/global/roles.js.html +7 -7
  30. package/coverage/lcov-report/src/api/routes/global/self.ts.html +8 -8
  31. package/coverage/lcov-report/src/api/routes/global/templates.ts.html +11 -11
  32. package/coverage/lcov-report/src/api/routes/global/users.js.html +17 -17
  33. package/coverage/lcov-report/src/api/routes/global/workspaces.js.html +10 -10
  34. package/coverage/lcov-report/src/api/routes/index.html +1 -1
  35. package/coverage/lcov-report/src/api/routes/index.ts.html +19 -19
  36. package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +7 -7
  37. package/coverage/lcov-report/src/api/routes/system/{environment.js.html → environment.ts.html} +11 -11
  38. package/coverage/lcov-report/src/api/routes/system/index.html +4 -4
  39. package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +7 -7
  40. package/coverage/lcov-report/src/api/routes/system/restore.ts.html +6 -6
  41. package/coverage/lcov-report/src/api/routes/system/{status.js.html → status.ts.html} +11 -11
  42. package/coverage/lcov-report/src/api/routes/system/{tenants.js.html → tenants.ts.html} +20 -17
  43. package/coverage/lcov-report/src/api/routes/validation/index.html +1 -1
  44. package/coverage/lcov-report/src/api/routes/validation/index.ts.html +2 -2
  45. package/coverage/lcov-report/src/api/routes/validation/users.ts.html +13 -13
  46. package/coverage/lcov-report/src/constants/index.html +1 -1
  47. package/coverage/lcov-report/src/constants/index.js.html +18 -18
  48. package/coverage/lcov-report/src/constants/templates/index.html +1 -1
  49. package/coverage/lcov-report/src/constants/templates/index.js.html +10 -10
  50. package/coverage/lcov-report/src/db/index.html +1 -1
  51. package/coverage/lcov-report/src/db/index.ts.html +8 -8
  52. package/coverage/lcov-report/src/environment.ts.html +15 -15
  53. package/coverage/lcov-report/src/index.html +1 -1
  54. package/coverage/lcov-report/src/index.ts.html +40 -40
  55. package/coverage/lcov-report/src/middleware/cloudRestricted.js.html +22 -22
  56. package/coverage/lcov-report/src/middleware/index.html +21 -21
  57. package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +3 -3
  58. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  59. package/coverage/lcov-report/src/migrations/index.html +1 -1
  60. package/coverage/lcov-report/src/migrations/index.ts.html +17 -17
  61. package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +6 -6
  62. package/coverage/lcov-report/src/sdk/accounts/index.html +1 -1
  63. package/coverage/lcov-report/src/sdk/accounts/index.ts.html +2 -2
  64. package/coverage/lcov-report/src/sdk/index.html +1 -1
  65. package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
  66. package/coverage/lcov-report/src/sdk/users/events.ts.html +43 -43
  67. package/coverage/lcov-report/src/sdk/users/index.html +19 -19
  68. package/coverage/lcov-report/src/sdk/users/index.ts.html +2 -2
  69. package/coverage/lcov-report/src/sdk/users/users.ts.html +99 -99
  70. package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +261 -123
  71. package/coverage/lcov-report/src/tests/api/accounts.ts.html +12 -21
  72. package/coverage/lcov-report/src/tests/api/auth.ts.html +11 -20
  73. package/coverage/lcov-report/src/tests/api/base.ts.html +133 -0
  74. package/coverage/lcov-report/src/tests/api/configs.ts.html +44 -23
  75. package/coverage/lcov-report/src/tests/api/email.ts.html +9 -18
  76. package/coverage/lcov-report/src/tests/api/environment.ts.html +130 -0
  77. package/coverage/lcov-report/src/tests/api/index.html +106 -16
  78. package/coverage/lcov-report/src/tests/api/index.ts.html +62 -17
  79. package/coverage/lcov-report/src/tests/{structures/accounts.ts.html → api/migrations.ts.html} +31 -37
  80. package/coverage/lcov-report/src/tests/api/restore.ts.html +127 -0
  81. package/coverage/lcov-report/src/tests/api/self.ts.html +31 -16
  82. package/coverage/lcov-report/src/tests/api/status.ts.html +121 -0
  83. package/coverage/lcov-report/src/tests/api/tenants.ts.html +130 -0
  84. package/coverage/lcov-report/src/tests/api/users.ts.html +121 -25
  85. package/coverage/lcov-report/src/tests/controllers.js.html +2 -2
  86. package/coverage/lcov-report/src/tests/index.html +20 -20
  87. package/coverage/lcov-report/src/tests/index.ts.html +21 -9
  88. package/coverage/lcov-report/src/tests/mocks/email.js.html +2 -2
  89. package/coverage/lcov-report/src/tests/mocks/index.html +1 -1
  90. package/coverage/lcov-report/src/tests/mocks/index.ts.html +4 -4
  91. package/coverage/lcov-report/src/tests/structures/configs.js.html +8 -8
  92. package/coverage/lcov-report/src/tests/structures/groups.ts.html +2 -2
  93. package/coverage/lcov-report/src/tests/structures/index.html +9 -24
  94. package/coverage/lcov-report/src/tests/structures/index.ts.html +21 -15
  95. package/coverage/lcov-report/src/tests/structures/users.ts.html +13 -10
  96. package/coverage/lcov-report/src/utilities/appService.js.html +11 -11
  97. package/coverage/lcov-report/src/utilities/email.js.html +16 -16
  98. package/coverage/lcov-report/src/utilities/fileSystem.js.html +4 -4
  99. package/coverage/lcov-report/src/utilities/index.html +1 -1
  100. package/coverage/lcov-report/src/utilities/index.js.html +2 -2
  101. package/coverage/lcov-report/src/utilities/redis.js.html +13 -13
  102. package/coverage/lcov-report/src/utilities/templates.js.html +7 -7
  103. package/coverage/lcov-report/src/utilities/users.js.html +8 -8
  104. package/coverage/lcov.info +1685 -1511
  105. package/package.json +8 -6
  106. package/scripts/localdomain.js +33 -7
  107. package/src/api/controllers/global/auth.ts +1 -1
  108. package/src/api/controllers/global/users.ts +3 -1
  109. package/src/api/controllers/system/{environment.js → environment.ts} +3 -2
  110. package/src/api/controllers/system/{status.js → status.ts} +4 -3
  111. package/src/api/controllers/system/tenants.ts +8 -51
  112. package/src/api/index.ts +29 -6
  113. package/src/api/routes/global/auth.js +22 -39
  114. package/src/api/routes/global/tests/auth.spec.ts +134 -64
  115. package/src/api/routes/global/tests/configs.spec.ts +5 -6
  116. package/src/api/routes/global/tests/email.spec.ts +4 -3
  117. package/src/api/routes/global/tests/license.spec.ts +31 -0
  118. package/src/api/routes/global/tests/realEmail.spec.ts +2 -3
  119. package/src/api/routes/global/tests/roles.spec.ts +27 -0
  120. package/src/api/routes/global/tests/self.spec.ts +3 -4
  121. package/src/api/routes/global/tests/templates.spec.ts +35 -0
  122. package/src/api/routes/global/tests/users.spec.ts +51 -43
  123. package/src/api/routes/global/tests/workspaces.spec.ts +29 -0
  124. package/src/api/routes/system/environment.ts +8 -0
  125. package/src/api/routes/system/status.ts +8 -0
  126. package/src/api/routes/system/tenants.ts +13 -0
  127. package/src/api/routes/system/tests/accounts.spec.ts +5 -6
  128. package/src/api/routes/system/tests/environment.spec.ts +29 -0
  129. package/src/api/routes/system/tests/migrations.spec.ts +63 -0
  130. package/src/api/routes/system/tests/restore.spec.ts +36 -0
  131. package/src/api/routes/system/tests/status.spec.ts +48 -0
  132. package/src/api/routes/system/tests/tenants.spec.ts +61 -0
  133. package/src/middleware/tests/tenancy.spec.ts +73 -0
  134. package/src/tests/TestConfiguration.ts +88 -42
  135. package/src/tests/api/accounts.ts +5 -8
  136. package/src/tests/api/auth.ts +3 -6
  137. package/src/tests/api/base.ts +16 -0
  138. package/src/tests/api/configs.ts +15 -8
  139. package/src/tests/api/email.ts +3 -6
  140. package/src/tests/api/environment.ts +15 -0
  141. package/src/tests/api/index.ts +15 -0
  142. package/src/tests/api/migrations.ts +22 -0
  143. package/src/tests/api/restore.ts +14 -0
  144. package/src/tests/api/self.ts +11 -6
  145. package/src/tests/api/status.ts +12 -0
  146. package/src/tests/api/tenants.ts +15 -0
  147. package/src/tests/api/users.ts +38 -6
  148. package/src/tests/index.ts +4 -0
  149. package/src/tests/jestSetup.ts +7 -1
  150. package/src/tests/structures/index.ts +4 -2
  151. package/src/tests/structures/users.ts +1 -0
  152. package/__mocks__/node-fetch.ts +0 -1
  153. package/src/api/routes/system/environment.js +0 -8
  154. package/src/api/routes/system/status.js +0 -8
  155. package/src/api/routes/system/tenants.js +0 -12
  156. 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">&nbsp;</span>
91
+ <a name='L26'></a><a href='#L26'>26</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
95
92
  <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-yes">17x</span>
96
94
  <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-yes">7x</span>
95
+ <span class="cline-any cline-yes">17x</span>
98
96
  <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-yes">17x</span>
99
98
  <span class="cline-any cline-neutral">&nbsp;</span>
100
99
  <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
109
103
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -113,7 +107,7 @@
113
107
  <span class="cline-any cline-yes">3x</span>
114
108
  <span class="cline-any cline-neutral">&nbsp;</span>
115
109
  <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">7x</span>
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">&nbsp;</span>
119
113
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -121,21 +115,18 @@
121
115
  <span class="cline-any cline-neutral">&nbsp;</span>
122
116
  <span class="cline-any cline-neutral">&nbsp;</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
  &nbsp;
125
- export class AccountAPI {
126
- config: TestConfiguration
127
- request: any
128
- &nbsp;
120
+ export class AccountAPI extends TestAPI {
129
121
  constructor(config: TestConfiguration) {
130
- this.config = config
131
- this.request = config.request
122
+ super(config)
132
123
  }
133
124
  &nbsp;
134
125
  saveMetadata = async (account: Account) =&gt; {
135
126
  const res = await this.request
136
127
  .put(`/api/system/accounts/${account.accountId}/metadata`)
137
128
  .send(account)
138
- .set(this.config.defaultHeaders())
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) =&gt; {
145
136
  return this.request
146
137
  .del(`/api/system/accounts/${accountId}/metadata`)
147
- .set(this.config.defaultHeaders())
138
+ .set(this.config.internalAPIHeaders())
148
139
  }
149
140
  }
150
141
  &nbsp;</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 Tue Nov 15 2022 16:45:53 GMT+0000 (Coordinated Universal Time)
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
- <a name='L47'></a><a href='#L47'>47</a>
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">&nbsp;</span>
111
+ <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-yes">17x</span>
115
113
  <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-yes">7x</span>
114
+ <span class="cline-any cline-yes">17x</span>
117
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
+ <span class="cline-any cline-yes">17x</span>
118
117
  <span class="cline-any cline-neutral">&nbsp;</span>
119
118
  <span class="cline-any cline-neutral">&nbsp;</span>
120
- <span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
124
- <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
128
122
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -133,14 +127,14 @@
133
127
  <span class="cline-any cline-neutral">&nbsp;</span>
134
128
  <span class="cline-any cline-neutral">&nbsp;</span>
135
129
  <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-yes">7x</span>
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">&nbsp;</span>
139
133
  <span class="cline-any cline-neutral">&nbsp;</span>
140
134
  <span class="cline-any cline-neutral">&nbsp;</span>
141
135
  <span class="cline-any cline-neutral">&nbsp;</span>
142
136
  <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-yes">7x</span>
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">&nbsp;</span>
161
155
  <span class="cline-any cline-neutral">&nbsp;</span>
162
156
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
157
+ import { TestAPI } from "./base"
163
158
  &nbsp;
164
- export class AuthAPI {
165
- config: TestConfiguration
166
- request: any
167
- &nbsp;
159
+ export class AuthAPI extends TestAPI {
168
160
  constructor(config: TestConfiguration) {
169
- this.config = config
170
- this.request = config.request
161
+ super(config)
171
162
  }
172
163
  &nbsp;
173
164
  updatePassword = (code: string) =&gt; {
@@ -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 Tue Nov 15 2022 16:45:53 GMT+0000 (Coordinated Universal Time)
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">&nbsp;</span>
83
+ <span class="cline-any cline-neutral">&nbsp;</span>
84
+ <span class="cline-any cline-neutral">&nbsp;</span>
85
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
+ <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</span>
89
+ <span class="cline-any cline-yes">17x</span>
90
+ <span class="cline-any cline-neutral">&nbsp;</span>
91
+ <span class="cline-any cline-neutral">&nbsp;</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
97
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
99
+ &nbsp;
100
+ export interface TestAPIOpts {
101
+ headers?: any
102
+ status?: number
103
+ }
104
+ &nbsp;
105
+ export abstract class TestAPI {
106
+ config: TestConfiguration
107
+ request: any
108
+ &nbsp;
109
+ protected constructor(config: TestConfiguration) {
110
+ this.config = config
111
+ this.request = config.request
112
+ }
113
+ }
114
+ &nbsp;</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'>11/11</span>
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'>5/5</span>
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'>11/11</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
114
+ <span class="cline-any cline-yes">17x</span>
107
115
  <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-yes">7x</span>
116
+ <span class="cline-any cline-yes">17x</span>
109
117
  <span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-yes">17x</span>
110
119
  <span class="cline-any cline-neutral">&nbsp;</span>
111
120
  <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</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">&nbsp;</span>
116
125
  <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
120
127
  <span class="cline-any cline-neutral">&nbsp;</span>
121
128
  <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
123
132
  <span class="cline-any cline-neutral">&nbsp;</span>
124
133
  <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
128
135
  <span class="cline-any cline-neutral">&nbsp;</span>
129
136
  <span class="cline-any cline-neutral">&nbsp;</span>
130
137
  <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</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">&nbsp;</span>
133
146
  <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-yes">7x</span>
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">&nbsp;</span>
137
150
  <span class="cline-any cline-neutral">&nbsp;</span>
138
151
  <span class="cline-any cline-neutral">&nbsp;</span>
139
152
  <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-yes">7x</span>
141
- <span class="cline-any cline-yes">1x</span>
153
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
143
157
  <span class="cline-any cline-neutral">&nbsp;</span>
144
158
  <span class="cline-any cline-neutral">&nbsp;</span>
145
159
  <span class="cline-any cline-neutral">&nbsp;</span>
146
160
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
161
+ import { TestAPI } from "./base"
147
162
  &nbsp;
148
- export class ConfigAPI {
149
- config: TestConfiguration
150
- request: any
151
- &nbsp;
163
+ export class ConfigAPI extends TestAPI {
152
164
  constructor(config: TestConfiguration) {
153
- this.config = config
154
- this.request = config.request
165
+ super(config)
155
166
  }
156
167
  &nbsp;
157
168
  getConfigChecklist = () =&gt; {
@@ -171,10 +182,20 @@ export class ConfigAPI {
171
182
  .expect(200)
172
183
  }
173
184
  &nbsp;
174
- OIDCCallback = (configId: string) =&gt; {
185
+ OIDCCallback = (configId: string, preAuthRes: any) =&gt; {
186
+ const cookie = this.config.cookieHeader(preAuthRes.get("set-cookie"))
187
+ const setKoaSession = cookie.Cookie.find((c: string) =&gt;
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
- .set(this.config.getOIDConfigCookie(configId))
197
+ .query({ code: "test", state: handle })
198
+ .set(cookie)
178
199
  }
179
200
  &nbsp;
180
201
  getOIDCConfig = (configId: string) =&gt; {
@@ -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 Tue Nov 15 2022 16:45:53 GMT+0000 (Coordinated Universal Time)
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
- <a name='L23'></a><a href='#L23'>23</a>
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">&nbsp;</span>
87
+ <a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-yes">17x</span>
91
89
  <span class="cline-any cline-neutral">&nbsp;</span>
92
- <span class="cline-any cline-yes">7x</span>
90
+ <span class="cline-any cline-yes">17x</span>
93
91
  <span class="cline-any cline-neutral">&nbsp;</span>
92
+ <span class="cline-any cline-yes">17x</span>
94
93
  <span class="cline-any cline-neutral">&nbsp;</span>
95
94
  <span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
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">&nbsp;</span>
100
- <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
104
98
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -112,14 +106,11 @@
112
106
  <span class="cline-any cline-neutral">&nbsp;</span>
113
107
  <span class="cline-any cline-neutral">&nbsp;</span>
114
108
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
109
+ import { TestAPI } from "./base"
115
110
  &nbsp;
116
- export class EmailAPI {
117
- config: TestConfiguration
118
- request: any
119
- &nbsp;
111
+ export class EmailAPI extends TestAPI {
120
112
  constructor(config: TestConfiguration) {
121
- this.config = config
122
- this.request = config.request
113
+ super(config)
123
114
  }
124
115
  &nbsp;
125
116
  sendEmail = (purpose: string) =&gt; {
@@ -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 Tue Nov 15 2022 16:45:53 GMT+0000 (Coordinated Universal Time)
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">&nbsp;</span>
82
+ <span class="cline-any cline-yes">17x</span>
83
+ <span class="cline-any cline-neutral">&nbsp;</span>
84
+ <span class="cline-any cline-yes">17x</span>
85
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-yes">17x</span>
87
+ <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</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">&nbsp;</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-neutral">&nbsp;</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import TestConfiguration from "../TestConfiguration"
97
+ import { TestAPI } from "./base"
98
+ &nbsp;
99
+ export class EnvironmentAPI extends TestAPI {
100
+ constructor(config: TestConfiguration) {
101
+ super(config)
102
+ }
103
+ &nbsp;
104
+ getEnvironment = () =&gt; {
105
+ return this.request
106
+ .get(`/api/system/environment`)
107
+ .expect("Content-Type", /json/)
108
+ .expect(200)
109
+ }
110
+ }
111
+ &nbsp;</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
+