unleash-server 4.2.0 → 4.2.4

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 (205) hide show
  1. package/CHANGELOG.md +1266 -0
  2. package/dist/lib/addons/addon.d.ts +2 -1
  3. package/dist/lib/addons/addon.js.map +1 -1
  4. package/dist/lib/addons/datadog.d.ts +2 -1
  5. package/dist/lib/addons/datadog.js.map +1 -1
  6. package/dist/lib/addons/datadog.test.js +3 -0
  7. package/dist/lib/addons/datadog.test.js.map +1 -1
  8. package/dist/lib/addons/feature-event-formatter-md.d.ts +1 -1
  9. package/dist/lib/addons/feature-event-formatter-md.js +13 -14
  10. package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
  11. package/dist/lib/addons/slack.d.ts +2 -1
  12. package/dist/lib/addons/slack.js.map +1 -1
  13. package/dist/lib/addons/slack.test.js +6 -0
  14. package/dist/lib/addons/slack.test.js.map +1 -1
  15. package/dist/lib/addons/teams.d.ts +2 -1
  16. package/dist/lib/addons/teams.js.map +1 -1
  17. package/dist/lib/addons/teams.test.js +3 -0
  18. package/dist/lib/addons/teams.test.js.map +1 -1
  19. package/dist/lib/addons/webhook.d.ts +8 -2
  20. package/dist/lib/addons/webhook.js +0 -1
  21. package/dist/lib/addons/webhook.js.map +1 -1
  22. package/dist/lib/addons/webhook.test.js +2 -0
  23. package/dist/lib/addons/webhook.test.js.map +1 -1
  24. package/dist/lib/create-config.js +6 -5
  25. package/dist/lib/create-config.js.map +1 -1
  26. package/dist/lib/db/client-instance-store.js +2 -2
  27. package/dist/lib/db/client-instance-store.js.map +1 -1
  28. package/dist/lib/db/client-metrics-db.js +2 -2
  29. package/dist/lib/db/client-metrics-db.js.map +1 -1
  30. package/dist/lib/db/client-metrics-store-v2.js +5 -1
  31. package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
  32. package/dist/lib/db/client-metrics-store.js +2 -2
  33. package/dist/lib/db/client-metrics-store.js.map +1 -1
  34. package/dist/lib/db/event-store.d.ts +10 -6
  35. package/dist/lib/db/event-store.js +21 -1
  36. package/dist/lib/db/event-store.js.map +1 -1
  37. package/dist/lib/db/session-store.js +2 -1
  38. package/dist/lib/db/session-store.js.map +1 -1
  39. package/dist/lib/error/minimum-one-environment-error.d.ts +5 -0
  40. package/dist/lib/error/minimum-one-environment-error.js +24 -0
  41. package/dist/lib/error/minimum-one-environment-error.js.map +1 -0
  42. package/dist/lib/metrics.js +20 -12
  43. package/dist/lib/metrics.js.map +1 -1
  44. package/dist/lib/metrics.test.js +1 -0
  45. package/dist/lib/metrics.test.js.map +1 -1
  46. package/dist/lib/middleware/rbac-middleware.js +2 -17
  47. package/dist/lib/middleware/rbac-middleware.js.map +1 -1
  48. package/dist/lib/middleware/rbac-middleware.test.js +0 -21
  49. package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
  50. package/dist/lib/middleware/secure-headers.js +2 -1
  51. package/dist/lib/middleware/secure-headers.js.map +1 -1
  52. package/dist/lib/middleware/session-db.js +2 -3
  53. package/dist/lib/middleware/session-db.js.map +1 -1
  54. package/dist/lib/routes/admin-api/event.d.ts +8 -4
  55. package/dist/lib/routes/admin-api/event.js +8 -10
  56. package/dist/lib/routes/admin-api/event.js.map +1 -1
  57. package/dist/lib/routes/admin-api/feature.js +6 -2
  58. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  59. package/dist/lib/routes/admin-api/project/features.js +11 -8
  60. package/dist/lib/routes/admin-api/project/features.js.map +1 -1
  61. package/dist/lib/routes/admin-api/state.js +2 -3
  62. package/dist/lib/routes/admin-api/state.js.map +1 -1
  63. package/dist/lib/routes/client-api/feature.test.js +3 -2
  64. package/dist/lib/routes/client-api/feature.test.js.map +1 -1
  65. package/dist/lib/routes/util.js +2 -0
  66. package/dist/lib/routes/util.js.map +1 -1
  67. package/dist/lib/services/addon-service-test-simple-addon.d.ts +1 -1
  68. package/dist/lib/services/addon-service-test-simple-addon.js.map +1 -1
  69. package/dist/lib/services/addon-service.js +2 -2
  70. package/dist/lib/services/addon-service.js.map +1 -1
  71. package/dist/lib/services/api-token-service.js +2 -2
  72. package/dist/lib/services/api-token-service.js.map +1 -1
  73. package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -4
  74. package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
  75. package/dist/lib/services/client-metrics/client-metrics.test.js +74 -41
  76. package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
  77. package/dist/lib/services/client-metrics/index.d.ts +6 -5
  78. package/dist/lib/services/client-metrics/index.js +13 -10
  79. package/dist/lib/services/client-metrics/index.js.map +1 -1
  80. package/dist/lib/services/client-metrics/list.d.ts +19 -16
  81. package/dist/lib/services/client-metrics/list.js +6 -4
  82. package/dist/lib/services/client-metrics/list.js.map +1 -1
  83. package/dist/lib/services/client-metrics/list.test.js +9 -5
  84. package/dist/lib/services/client-metrics/list.test.js.map +1 -1
  85. package/dist/lib/services/client-metrics/ttl-list.d.ts +20 -13
  86. package/dist/lib/services/client-metrics/ttl-list.js +26 -15
  87. package/dist/lib/services/client-metrics/ttl-list.js.map +1 -1
  88. package/dist/lib/services/client-metrics/ttl-list.test.js +33 -9
  89. package/dist/lib/services/client-metrics/ttl-list.test.js.map +1 -1
  90. package/dist/lib/services/environment-service.d.ts +2 -1
  91. package/dist/lib/services/environment-service.js +10 -3
  92. package/dist/lib/services/environment-service.js.map +1 -1
  93. package/dist/lib/services/event-service.d.ts +1 -1
  94. package/dist/lib/services/event-service.js +1 -1
  95. package/dist/lib/services/event-service.js.map +1 -1
  96. package/dist/lib/services/feature-tag-service.js +7 -11
  97. package/dist/lib/services/feature-tag-service.js.map +1 -1
  98. package/dist/lib/services/{feature-toggle-service-v2.d.ts → feature-toggle-service.d.ts} +29 -19
  99. package/dist/lib/services/{feature-toggle-service-v2.js → feature-toggle-service.js} +177 -145
  100. package/dist/lib/services/feature-toggle-service.js.map +1 -0
  101. package/dist/lib/services/index.js +3 -2
  102. package/dist/lib/services/index.js.map +1 -1
  103. package/dist/lib/services/project-health-service.d.ts +2 -2
  104. package/dist/lib/services/project-health-service.js +3 -3
  105. package/dist/lib/services/project-health-service.js.map +1 -1
  106. package/dist/lib/services/project-service.d.ts +2 -2
  107. package/dist/lib/services/project-service.js +5 -3
  108. package/dist/lib/services/project-service.js.map +1 -1
  109. package/dist/lib/services/reset-token-service.js +2 -2
  110. package/dist/lib/services/reset-token-service.js.map +1 -1
  111. package/dist/lib/services/state-util.js +1 -1
  112. package/dist/lib/services/state-util.js.map +1 -1
  113. package/dist/lib/services/user-service.d.ts +3 -2
  114. package/dist/lib/services/user-service.js +37 -21
  115. package/dist/lib/services/user-service.js.map +1 -1
  116. package/dist/lib/services/version-service.js +2 -2
  117. package/dist/lib/services/version-service.js.map +1 -1
  118. package/dist/lib/types/events.d.ts +165 -2
  119. package/dist/lib/types/events.js +124 -4
  120. package/dist/lib/types/events.js.map +1 -1
  121. package/dist/lib/types/model.d.ts +0 -12
  122. package/dist/lib/types/model.js.map +1 -1
  123. package/dist/lib/types/services.d.ts +3 -2
  124. package/dist/lib/types/stores/event-store.d.ts +4 -3
  125. package/dist/lib/util/constants.d.ts +0 -2
  126. package/dist/lib/util/constants.js +1 -3
  127. package/dist/lib/util/constants.js.map +1 -1
  128. package/dist/migrations/20210428103922-patch-role-table.d.ts +2 -0
  129. package/dist/migrations/20210428103922-patch-role-table.js +19 -0
  130. package/dist/migrations/20210428103922-patch-role-table.js.map +1 -0
  131. package/dist/migrations/20210428103924-patch-admin-role-name.d.ts +2 -0
  132. package/dist/migrations/20210428103924-patch-admin-role-name.js +11 -0
  133. package/dist/migrations/20210428103924-patch-admin-role-name.js.map +1 -0
  134. package/dist/migrations/20210428103924-patch-admin_role.d.ts +2 -0
  135. package/dist/migrations/20210428103924-patch-admin_role.js +23 -0
  136. package/dist/migrations/20210428103924-patch-admin_role.js.map +1 -0
  137. package/dist/migrations/20210428103924-patch-role_permissions.d.ts +2 -0
  138. package/dist/migrations/20210428103924-patch-role_permissions.js +50 -0
  139. package/dist/migrations/20210428103924-patch-role_permissions.js.map +1 -0
  140. package/dist/migrations/20211105104316-add-feature-name-column-to-events.d.ts +2 -0
  141. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js +16 -0
  142. package/dist/migrations/20211105104316-add-feature-name-column-to-events.js.map +1 -0
  143. package/dist/migrations/20211105105509-add-predata-column-to-events.d.ts +2 -0
  144. package/dist/migrations/20211105105509-add-predata-column-to-events.js +8 -0
  145. package/dist/migrations/20211105105509-add-predata-column-to-events.js.map +1 -0
  146. package/dist/migrator.js +9 -2
  147. package/dist/migrator.js.map +1 -1
  148. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +16 -12
  149. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  150. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +1 -2
  151. package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
  152. package/dist/test/e2e/api/admin/feature.e2e.test.js +19 -2
  153. package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
  154. package/dist/test/e2e/api/admin/metrics.e2e.test.js +5 -3
  155. package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
  156. package/dist/test/e2e/api/admin/project/environments.e2e.test.js +10 -0
  157. package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
  158. package/dist/test/e2e/api/admin/project/features.e2e.test.js +120 -8
  159. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  160. package/dist/test/e2e/api/admin/state.e2e.test.js +17 -13
  161. package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
  162. package/dist/test/e2e/api/admin/user-admin.e2e.test.js +2 -16
  163. package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
  164. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +8 -4
  165. package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
  166. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +4 -4
  167. package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
  168. package/dist/test/e2e/api/client/register.e2e.test.js +1 -1
  169. package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
  170. package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
  171. package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
  172. package/dist/test/e2e/services/api-token-service.e2e.test.js +5 -3
  173. package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
  174. package/dist/test/e2e/services/client-metrics-service.e2e.test.js +5 -2
  175. package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
  176. package/dist/test/e2e/services/environment-service.test.js +1 -1
  177. package/dist/test/e2e/services/environment-service.test.js.map +1 -1
  178. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +14 -11
  179. package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
  180. package/dist/test/e2e/services/project-health-service.e2e.test.js +2 -2
  181. package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
  182. package/dist/test/e2e/services/project-service.e2e.test.js +2 -2
  183. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  184. package/dist/test/e2e/services/session-service.e2e.test.js +5 -4
  185. package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
  186. package/dist/test/e2e/services/user-service.e2e.test.js +3 -2
  187. package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
  188. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js +4 -6
  189. package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +1 -1
  190. package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
  191. package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
  192. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -1
  193. package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
  194. package/dist/test/fixtures/fake-event-store.d.ts +2 -1
  195. package/dist/test/fixtures/fake-event-store.js +3 -0
  196. package/dist/test/fixtures/fake-event-store.js.map +1 -1
  197. package/docs/api/oas/openapi.yaml +35 -55
  198. package/package.json +10 -11
  199. package/dist/lib/event-differ.d.ts +0 -1
  200. package/dist/lib/event-differ.js +0 -117
  201. package/dist/lib/event-differ.js.map +0 -1
  202. package/dist/lib/event-differ.test.d.ts +0 -1
  203. package/dist/lib/event-differ.test.js +0 -142
  204. package/dist/lib/event-differ.test.js.map +0 -1
  205. package/dist/lib/services/feature-toggle-service-v2.js.map +0 -1
@@ -7,6 +7,7 @@ const faker_1 = __importDefault(require("faker"));
7
7
  const database_init_1 = __importDefault(require("../../helpers/database-init"));
8
8
  const test_helper_1 = require("../../helpers/test-helper");
9
9
  const no_logger_1 = __importDefault(require("../../../fixtures/no-logger"));
10
+ const constants_1 = require("../../../../lib/util/constants");
10
11
  let app;
11
12
  let db;
12
13
  const defaultStrategy = {
@@ -19,7 +20,7 @@ beforeAll(async () => {
19
20
  app = await (0, test_helper_1.setupApp)(db.stores);
20
21
  const createToggle = async (toggle, strategy = defaultStrategy, projectId = 'default', username = 'test') => {
21
22
  await app.services.featureToggleServiceV2.createFeatureToggle(projectId, toggle, username);
22
- await app.services.featureToggleServiceV2.createStrategy(strategy, projectId, toggle.name, username);
23
+ await app.services.featureToggleServiceV2.createStrategy(strategy, { projectId, featureName: toggle.name, environment: constants_1.DEFAULT_ENV }, username);
23
24
  };
24
25
  await createToggle({
25
26
  name: 'featureX',
@@ -202,6 +203,22 @@ test('can change status of feature toggle that does exist', async () => {
202
203
  .set('Content-Type', 'application/json')
203
204
  .expect(200);
204
205
  });
206
+ test('cannot change project for feature toggle', async () => {
207
+ await app.request
208
+ .put('/api/admin/features/featureY')
209
+ .send({
210
+ name: 'featureY',
211
+ enabled: true,
212
+ project: 'random',
213
+ strategies: [{ name: 'default' }],
214
+ })
215
+ .set('Content-Type', 'application/json')
216
+ .expect(200);
217
+ const { body } = await app.request
218
+ .get('/api/admin/features/featureY')
219
+ .expect(200);
220
+ expect(body.project).toBe('default');
221
+ });
205
222
  test('can not toggle of feature that does not exist', async () => {
206
223
  expect.assertions(0);
207
224
  return app.request
@@ -216,7 +233,7 @@ test('can toggle a feature that does exist', async () => {
216
233
  const feature = await app.services.featureToggleServiceV2.createFeatureToggle('default', {
217
234
  name: featureName,
218
235
  }, 'test');
219
- await app.services.featureToggleServiceV2.createStrategy(defaultStrategy, 'default', featureName, username);
236
+ await app.services.featureToggleServiceV2.createStrategy(defaultStrategy, { projectId: 'default', featureName, environment: constants_1.DEFAULT_ENV }, username);
220
237
  return app.request
221
238
  .post(`/api/admin/features/${feature.name}/toggle`)
222
239
  .set('Content-Type', 'application/json')
@@ -1 +1 @@
1
- {"version":3,"file":"feature.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/feature.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/feature.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const database_init_1 = __importDefault(require("../../helpers/database-init"));
7
7
  const test_helper_1 = require("../../helpers/test-helper");
8
8
  const no_logger_1 = __importDefault(require("../../../fixtures/no-logger"));
9
+ const date_fns_1 = require("date-fns");
9
10
  let app;
10
11
  let db;
11
12
  beforeAll(async () => {
@@ -30,25 +31,26 @@ beforeEach(async () => {
30
31
  description: 'Some desc',
31
32
  announced: true,
32
33
  });
34
+ const clientStartedDate = (0, date_fns_1.parseISO)('2018-01-15T14:35:38.494Z');
33
35
  await db.stores.clientInstanceStore.insert({
34
36
  appName: 'demo-app-1',
35
37
  instanceId: 'test-1',
36
38
  strategies: ['default'],
37
- started: 1516026938494,
39
+ started: clientStartedDate,
38
40
  interval: 10,
39
41
  });
40
42
  await db.stores.clientInstanceStore.insert({
41
43
  appName: 'demo-seed-2',
42
44
  instanceId: 'test-2',
43
45
  strategies: ['default'],
44
- started: 1516026938494,
46
+ started: clientStartedDate,
45
47
  interval: 10,
46
48
  });
47
49
  await db.stores.clientInstanceStore.insert({
48
50
  appName: 'deletable-app',
49
51
  instanceId: 'inst-1',
50
52
  strategies: ['default'],
51
- started: 1516026938494,
53
+ started: clientStartedDate,
52
54
  interval: 10,
53
55
  });
54
56
  await app.services.clientMetricsService.addPayload({
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/metrics.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/metrics.e2e.test.ts"],"names":[],"mappings":";;;;;AAAA,gFAAiD;AACjD,2DAAqD;AACrD,4EAAoD;AACpD,uCAAoC;AAEpC,IAAI,GAAG,CAAC;AACR,IAAI,EAAE,CAAC;AAEP,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,EAAE,GAAG,MAAM,IAAA,uBAAM,EAAC,gBAAgB,EAAE,mBAAS,CAAC,CAAC;IAC/C,GAAG,GAAG,MAAM,IAAA,sBAAQ,EAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;QACtD,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,SAAS,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;QACtD,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;QAChC,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;QACtD,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAA,mBAAQ,EAAC,0BAA0B,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC;QAC/C,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;YACjB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;YAChB,OAAO,EAAE;gBACL,UAAU,EAAE;oBACR,GAAG,EAAE,GAAG;oBACR,EAAE,EAAE,CAAC;iBACR;gBACD,aAAa,EAAE;oBACX,GAAG,EAAE,CAAC;oBACN,EAAE,EAAE,CAAC;iBACR;aACJ;SACJ;KACJ,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAChB,IAAI,EAAE,EAAE;QACJ,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;KACtB;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,4CAA4C,CAAC;SACjD,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,iCAAiC,CAAC;SACtC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;IACjD,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,8BAA8B,CAAC;SACnC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;IACpD,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,iCAAiC,CAAC;SACtC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IACzD,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,oCAAoC,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;IACjD,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,kDAAkD,CAAC;SACvD,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,GAAG,CAAC,OAAO;SACZ,MAAM,CAAC,+CAA+C,CAAC;SACvD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACP,OAAO,GAAG,CAAC,OAAO;SACb,GAAG,CAAC,iCAAiC,CAAC;SACtC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC;SAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;IAC3E,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC,OAAO;SACb,MAAM,CAAC,yCAAyC,CAAC;SACjD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC"}
@@ -62,4 +62,14 @@ test('Should remove environment from project', async () => {
62
62
  const envs = await db.stores.projectStore.getEnvironmentsForProject('default');
63
63
  expect(envs).toHaveLength(1);
64
64
  });
65
+ test('Should not remove environment from project if project only has one environment enabled', async () => {
66
+ await app.request
67
+ .delete(`/api/admin/projects/default/environments/default`)
68
+ .expect(400)
69
+ .expect((r) => {
70
+ expect(r.body.details[0].message).toBe('You must always have one active environment');
71
+ });
72
+ const envs = await db.stores.projectStore.getEnvironmentsForProject('default');
73
+ expect(envs).toHaveLength(1);
74
+ });
65
75
  //# sourceMappingURL=environments.e2e.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environments.e2e.test.js","sourceRoot":"","sources":["../../../../../../src/test/e2e/api/admin/project/environments.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environments.e2e.test.js","sourceRoot":"","sources":["../../../../../../src/test/e2e/api/admin/project/environments.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -468,9 +468,8 @@ test('Patching feature toggles to stale should trigger FEATURE_STALE_ON event',
468
468
  const events = await db.stores.eventStore.getAll({
469
469
  type: events_1.FEATURE_STALE_ON,
470
470
  });
471
- const updateForOurToggle = events.find((e) => e.data.name === name);
471
+ const updateForOurToggle = events.find((e) => e.featureName === name);
472
472
  expect(updateForOurToggle).toBeTruthy();
473
- expect(updateForOurToggle.data.stale).toBe(true);
474
473
  });
475
474
  test('Patching feature toggles to active (turning stale to false) should trigger FEATURE_STALE_OFF event', async () => {
476
475
  const url = '/api/admin/projects/default/features';
@@ -490,9 +489,8 @@ test('Patching feature toggles to active (turning stale to false) should trigger
490
489
  const events = await db.stores.eventStore.getAll({
491
490
  type: events_1.FEATURE_STALE_OFF,
492
491
  });
493
- const updateForOurToggle = events.find((e) => e.data.name === name);
492
+ const updateForOurToggle = events.find((e) => e.featureName === name);
494
493
  expect(updateForOurToggle).toBeTruthy();
495
- expect(updateForOurToggle.data.stale).toBe(false);
496
494
  });
497
495
  test('Should archive feature toggle', async () => {
498
496
  const url = '/api/admin/projects/default/features';
@@ -544,6 +542,120 @@ test('Can add strategy to feature toggle to a "some-env-2"', async () => {
544
542
  expect(env.strategies).toHaveLength(1);
545
543
  });
546
544
  });
545
+ test('Can update strategy on feature toggle', async () => {
546
+ const envName = 'default';
547
+ const featureName = 'feature.strategy.update.strat';
548
+ const projectPath = '/api/admin/projects/default';
549
+ const featurePath = `${projectPath}/features/${featureName}`;
550
+ // create feature toggle
551
+ await app.request
552
+ .post(`${projectPath}/features`)
553
+ .send({ name: featureName })
554
+ .expect(201);
555
+ // add strategy
556
+ const { body: strategy } = await app.request
557
+ .post(`${featurePath}/environments/${envName}/strategies`)
558
+ .send({
559
+ name: 'default',
560
+ parameters: {
561
+ userIds: '',
562
+ },
563
+ })
564
+ .expect(200);
565
+ // update strategy
566
+ await app.request
567
+ .put(`${featurePath}/environments/${envName}/strategies/${strategy.id}`)
568
+ .send({
569
+ name: 'default',
570
+ parameters: {
571
+ userIds: '1234',
572
+ },
573
+ })
574
+ .expect(200);
575
+ const { body } = await app.request.get(`${featurePath}`);
576
+ const defaultEnv = body.environments[0];
577
+ expect(body.environments).toHaveLength(1);
578
+ expect(defaultEnv.name).toBe(envName);
579
+ expect(defaultEnv.strategies).toHaveLength(1);
580
+ expect(defaultEnv.strategies[0].parameters).toStrictEqual({
581
+ userIds: '1234',
582
+ });
583
+ });
584
+ test('Can NOT delete strategy with wrong projectId', async () => {
585
+ const envName = 'default';
586
+ const featureName = 'feature.strategy.delete.strat.error';
587
+ const projectPath = '/api/admin/projects/default';
588
+ const featurePath = `${projectPath}/features/${featureName}`;
589
+ // create feature toggle
590
+ await app.request
591
+ .post(`${projectPath}/features`)
592
+ .send({ name: featureName })
593
+ .expect(201);
594
+ // add strategy
595
+ const { body: strategy } = await app.request
596
+ .post(`${featurePath}/environments/${envName}/strategies`)
597
+ .send({
598
+ name: 'default',
599
+ parameters: {
600
+ userIds: '',
601
+ },
602
+ })
603
+ .expect(200);
604
+ // delete strategy
605
+ await app.request
606
+ .delete(`/api/admin/projects/wrongId/features/${featureName}/environments/${envName}/strategies/${strategy.id}`)
607
+ .expect(403);
608
+ });
609
+ test('add strategy cannot use wrong projectId', async () => {
610
+ const envName = 'default';
611
+ const featureName = 'feature.strategy.add.strat.wrong.projectId';
612
+ // create feature toggle
613
+ await app.request
614
+ .post('/api/admin/projects/default/features')
615
+ .send({ name: featureName })
616
+ .expect(201);
617
+ // add strategy
618
+ await app.request
619
+ .post(`/api/admin/projects/invalidId/features/${featureName}/environments/${envName}/strategies`)
620
+ .send({
621
+ name: 'default',
622
+ parameters: {
623
+ userIds: '',
624
+ },
625
+ })
626
+ .expect(403);
627
+ });
628
+ test('update strategy on feature toggle cannot use wrong projectId', async () => {
629
+ const envName = 'default';
630
+ const featureName = 'feature.strategy.update.strat.wrong.projectId';
631
+ const projectPath = '/api/admin/projects/default';
632
+ const featurePath = `${projectPath}/features/${featureName}`;
633
+ // create feature toggle
634
+ await app.request
635
+ .post(`${projectPath}/features`)
636
+ .send({ name: featureName })
637
+ .expect(201);
638
+ // add strategy
639
+ const { body: strategy } = await app.request
640
+ .post(`${featurePath}/environments/${envName}/strategies`)
641
+ .send({
642
+ name: 'default',
643
+ parameters: {
644
+ userIds: '',
645
+ },
646
+ })
647
+ .expect(200);
648
+ // update strategy
649
+ await app.request
650
+ .put(`/api/admin/projects/invalidId/features/${featureName}/environments/${envName}/strategies/${strategy.id}`)
651
+ .send({
652
+ name: 'default',
653
+ parameters: {
654
+ userIds: '1234',
655
+ },
656
+ })
657
+ .expect(403);
658
+ });
547
659
  test('Environments are returned in sortOrder', async () => {
548
660
  const sortedSecond = 'sortedSecond';
549
661
  const sortedLast = 'sortedLast';
@@ -862,9 +974,9 @@ test('Deleting a strategy should include name of feature strategy was deleted fr
862
974
  type: events_1.FEATURE_STRATEGY_REMOVE,
863
975
  });
864
976
  expect(events).toHaveLength(1);
865
- expect(events[0].data.name).toBe(featureName);
977
+ expect(events[0].featureName).toBe(featureName);
866
978
  expect(events[0].environment).toBe(environment);
867
- expect(events[0].data.id).toBe(strategyId);
979
+ expect(events[0].preData.id).toBe(strategyId);
868
980
  });
869
981
  test('Enabling environment creates a FEATURE_ENVIRONMENT_ENABLED event', async () => {
870
982
  const environment = 'environment_enabled_env';
@@ -898,7 +1010,7 @@ test('Enabling environment creates a FEATURE_ENVIRONMENT_ENABLED event', async (
898
1010
  const events = await db.stores.eventStore.getAll({
899
1011
  type: events_1.FEATURE_ENVIRONMENT_ENABLED,
900
1012
  });
901
- const enabledEvents = events.filter((e) => e.data.name === featureName);
1013
+ const enabledEvents = events.filter((e) => e.featureName === featureName);
902
1014
  expect(enabledEvents).toHaveLength(1);
903
1015
  });
904
1016
  test('Disabling environment creates a FEATURE_ENVIRONMENT_DISABLED event', async () => {
@@ -937,7 +1049,7 @@ test('Disabling environment creates a FEATURE_ENVIRONMENT_DISABLED event', async
937
1049
  const events = await db.stores.eventStore.getAll({
938
1050
  type: events_1.FEATURE_ENVIRONMENT_DISABLED,
939
1051
  });
940
- const ourFeatureEvent = events.find((e) => e.data.name === featureName);
1052
+ const ourFeatureEvent = events.find((e) => e.featureName === featureName);
941
1053
  expect(ourFeatureEvent).toBeTruthy();
942
1054
  });
943
1055
  test('Can delete strategy from feature toggle', async () => {