@featurevisor/core 1.22.0 → 1.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,6 +42,242 @@ describe("core: Traffic", function () {
42
42
  },
43
43
  ]);
44
44
  });
45
+ it("should allocate traffic for 0-100 weight on two variations", function () {
46
+ var result = (0, traffic_1.getTraffic)(
47
+ // parsed variations from YAML
48
+ [
49
+ {
50
+ value: "control",
51
+ weight: 0,
52
+ },
53
+ {
54
+ value: "treatment",
55
+ weight: 100,
56
+ },
57
+ ],
58
+ // parsed rollouts from YAML
59
+ [
60
+ {
61
+ key: "1",
62
+ segments: "*",
63
+ percentage: 80,
64
+ },
65
+ ],
66
+ // existing feature from previous release
67
+ undefined);
68
+ expect(result).toEqual([
69
+ {
70
+ key: "1",
71
+ segments: "*",
72
+ percentage: 80000,
73
+ allocation: [
74
+ // should be filtered out automatically
75
+ // {
76
+ // variation: "control",
77
+ // range: [0, 0],
78
+ // },
79
+ {
80
+ variation: "treatment",
81
+ range: [0, 80000],
82
+ },
83
+ ],
84
+ },
85
+ ]);
86
+ });
87
+ it("should allocate traffic for 0-100 weight on two variations, with rule percentage going from 80% to 100%", function () {
88
+ var result = (0, traffic_1.getTraffic)(
89
+ // parsed variations from YAML
90
+ [
91
+ {
92
+ value: "control",
93
+ weight: 0,
94
+ },
95
+ {
96
+ value: "treatment",
97
+ weight: 100,
98
+ },
99
+ ],
100
+ // parsed rollouts from YAML
101
+ [
102
+ {
103
+ key: "1",
104
+ segments: "*",
105
+ percentage: 100,
106
+ },
107
+ ],
108
+ // existing feature from previous release
109
+ {
110
+ variations: [
111
+ {
112
+ value: "control",
113
+ weight: 0,
114
+ },
115
+ {
116
+ value: "treatment",
117
+ weight: 80,
118
+ },
119
+ ],
120
+ traffic: [
121
+ {
122
+ key: "1",
123
+ percentage: 80000,
124
+ allocation: [
125
+ {
126
+ variation: "treatment",
127
+ range: [0, 80000],
128
+ },
129
+ ],
130
+ },
131
+ ],
132
+ });
133
+ expect(result).toEqual([
134
+ {
135
+ key: "1",
136
+ segments: "*",
137
+ percentage: 100000,
138
+ allocation: [
139
+ // should be filtered out automatically
140
+ // {
141
+ // variation: "control",
142
+ // range: [0, 0],
143
+ // },
144
+ {
145
+ variation: "treatment",
146
+ range: [0, 100000],
147
+ },
148
+ ],
149
+ },
150
+ ]);
151
+ });
152
+ it("should allocate traffic for 0-100 weight on two variations, with rule percentage going from 100% to 80%", function () {
153
+ var result = (0, traffic_1.getTraffic)(
154
+ // parsed variations from YAML
155
+ [
156
+ {
157
+ value: "control",
158
+ weight: 0,
159
+ },
160
+ {
161
+ value: "treatment",
162
+ weight: 100,
163
+ },
164
+ ],
165
+ // parsed rollouts from YAML
166
+ [
167
+ {
168
+ key: "1",
169
+ segments: "*",
170
+ percentage: 80,
171
+ },
172
+ ],
173
+ // existing feature from previous release
174
+ {
175
+ variations: [
176
+ {
177
+ value: "control",
178
+ weight: 0,
179
+ },
180
+ {
181
+ value: "treatment",
182
+ weight: 80,
183
+ },
184
+ ],
185
+ traffic: [
186
+ {
187
+ key: "1",
188
+ percentage: 100000,
189
+ allocation: [
190
+ {
191
+ variation: "treatment",
192
+ range: [0, 100000],
193
+ },
194
+ ],
195
+ },
196
+ ],
197
+ });
198
+ expect(result).toEqual([
199
+ {
200
+ key: "1",
201
+ segments: "*",
202
+ percentage: 80000,
203
+ allocation: [
204
+ // should be filtered out automatically
205
+ // {
206
+ // variation: "control",
207
+ // range: [0, 0],
208
+ // },
209
+ {
210
+ variation: "treatment",
211
+ range: [0, 80000],
212
+ },
213
+ ],
214
+ },
215
+ ]);
216
+ });
217
+ it("should allocate traffic for existing variations state of 0-100 weights", function () {
218
+ var result = (0, traffic_1.getTraffic)(
219
+ // parsed variations from YAML
220
+ [
221
+ {
222
+ value: "control",
223
+ weight: 50,
224
+ },
225
+ {
226
+ value: "treatment",
227
+ weight: 50,
228
+ },
229
+ ],
230
+ // parsed rollouts from YAML
231
+ [
232
+ {
233
+ key: "1",
234
+ segments: "*",
235
+ percentage: 80,
236
+ },
237
+ ],
238
+ // existing feature from previous release
239
+ {
240
+ variations: [
241
+ {
242
+ value: "control",
243
+ weight: 0,
244
+ },
245
+ {
246
+ value: "treatment",
247
+ weight: 80,
248
+ },
249
+ ],
250
+ traffic: [
251
+ {
252
+ key: "1",
253
+ percentage: 80000,
254
+ allocation: [
255
+ {
256
+ variation: "treatment",
257
+ range: [0, 80000],
258
+ },
259
+ ],
260
+ },
261
+ ],
262
+ });
263
+ expect(result).toEqual([
264
+ {
265
+ key: "1",
266
+ segments: "*",
267
+ percentage: 80000,
268
+ allocation: [
269
+ {
270
+ variation: "control",
271
+ range: [0, 40000],
272
+ },
273
+ {
274
+ variation: "treatment",
275
+ range: [40000, 80000],
276
+ },
277
+ ],
278
+ },
279
+ ]);
280
+ });
45
281
  it("should allocate traffic for 50-50 weight on two variations", function () {
46
282
  var result = (0, traffic_1.getTraffic)(
47
283
  // parsed variations from YAML
@@ -1 +1 @@
1
- {"version":3,"file":"traffic.spec.js","sourceRoot":"","sources":["../../src/builder/traffic.spec.ts"],"names":[],"mappings":";;AAAA,qCAAuC;AAEvC,QAAQ,CAAC,eAAe,EAAE;IACxB,EAAE,CAAC,sBAAsB,EAAE;QACzB,MAAM,CAAC,OAAO,oBAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE;QAC/D,IAAM,MAAM,GAAG,IAAA,oBAAU;QACvB,8BAA8B;QAC9B;YACE;gBACE,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,GAAG;aACZ;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC;aACV;SACF;QAED,4BAA4B;QAC5B;YACE;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,EAAE;aACf;SACF;QAED,yCAAyC;QACzC,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE;oBACV;wBACE,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;qBAClB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE;QAC/D,IAAM,MAAM,GAAG,IAAA,oBAAU;QACvB,8BAA8B;QAC9B;YACE;gBACE,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE;aACX;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAAE;aACX;SACF;QAED,4BAA4B;QAC5B;YACE;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,EAAE;aACf;SACF;QAED,yCAAyC;QACzC,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE;oBACV;wBACE,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE;QACtF,IAAM,MAAM,GAAG,IAAA,oBAAU;QACvB,8BAA8B;QAC9B;YACE;gBACE,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,KAAK;aACd;YACD;gBACE,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,KAAK;aACd;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,KAAK;aACd;SACF;QAED,4BAA4B;QAC5B;YACE;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,GAAG;aAChB;SACF;QAED,yCAAyC;QACzC,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,MAAM;gBAClB,UAAU,EAAE;oBACV;wBACE,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;oBACD;wBACE,SAAS,EAAE,OAAO;wBAClB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;qBACvB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gHAAgH,EAAE;QACnH,IAAM,MAAM,GAAG,IAAA,oBAAU;QACvB,8BAA8B;QAC9B;YACE;gBACE,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE;aACX;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAAE;aACX;SACF;QAED,4BAA4B;QAC5B;YACE;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,EAAE;aACf;SACF;QAED,yCAAyC;QACzC;YACE,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,EAAE;iBACX;aACF;YACD,OAAO,EAAE;gBACP;oBACE,GAAG,EAAE,GAAG;oBACR,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE;wBACV;4BACE,SAAS,EAAE,IAAI;4BACf,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;yBAClB;wBACD;4BACE,SAAS,EAAE,KAAK;4BAChB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;yBACtB;qBACF;iBACF;aACF;SACF,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE;oBACV,WAAW;oBACX;wBACE,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;oBAED,MAAM;oBACN;wBACE,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;oBACD;wBACE,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gHAAgH,EAAE;QACnH,IAAM,MAAM,GAAG,IAAA,oBAAU;QACvB,8BAA8B;QAC9B;YACE;gBACE,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE;aACX;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,EAAE;aACX;SACF;QAED,4BAA4B;QAC5B;YACE;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,EAAE;aACf;SACF;QAED,yCAAyC;QACzC;YACE,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,EAAE;iBACX;aACF;YACD,OAAO,EAAE;gBACP;oBACE,GAAG,EAAE,GAAG;oBACR,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE;wBACV;4BACE,SAAS,EAAE,IAAI;4BACf,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;yBAClB;wBACD;4BACE,SAAS,EAAE,KAAK;4BAChB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;yBACtB;qBACF;iBACF;aACF;SACF,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE;oBACV;wBACE,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yGAAyG,EAAE;QAC5G,IAAM,MAAM,GAAG,IAAA,oBAAU;QACvB,8BAA8B;QAC9B;YACE;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,KAAK;aACd;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,KAAK;aACd;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,KAAK;aACd;SACF;QAED,4BAA4B;QAC5B;YACE;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,EAAE;aACf;SACF;QAED,yCAAyC;QACzC;YACE,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;aACF;YACD,OAAO,EAAE;gBACP;oBACE,GAAG,EAAE,GAAG;oBACR,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE;wBACV;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;yBAClB;wBACD;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;yBACtB;qBACF;iBACF;aACF;SACF,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE;oBACV;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kIAAkI,EAAE;QACrI,IAAM,MAAM,GAAG,IAAA,oBAAU;QACvB,8BAA8B;QAC9B;YACE;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE;aACX;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE;aACX;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE;aACX;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE;aACX;SACF;QAED,4BAA4B;QAC5B;YACE;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,GAAG;aAChB;SACF;QAED,yCAAyC;QACzC;YACE,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;aACF;YACD,OAAO,EAAE;gBACP;oBACE,GAAG,EAAE,GAAG;oBACR,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE;wBACV;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;yBAClB;wBACD;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;yBACtB;qBACF;iBACF;aACF;SACF,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,MAAM;gBAClB,UAAU,EAAE;oBACV;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;qBACvB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0GAA0G,EAAE;QAC7G,IAAM,MAAM,GAAG,IAAA,oBAAU;QACvB,8BAA8B;QAC9B;YACE;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE;aACX;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE;aACX;SACF;QAED,4BAA4B;QAC5B;YACE;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,GAAG;aAChB;SACF;QAED,yCAAyC;QACzC;YACE,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;aACF;YACD,OAAO,EAAE;gBACP;oBACE,GAAG,EAAE,GAAG;oBACR,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE;wBACV;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;yBAClB;wBACD;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;yBACtB;wBACD;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;yBACtB;wBACD;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;yBACvB;qBACF;iBACF;aACF;SACF,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,MAAM;gBAClB,UAAU,EAAE;oBACV;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;qBACvB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iHAAiH,EAAE;QACpH,IAAM,MAAM,GAAG,IAAA,oBAAU;QACvB,8BAA8B;QAC9B;YACE;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE;aACX;YACD;gBACE,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,EAAE;aACX;SACF;QAED,4BAA4B;QAC5B;YACE;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,EAAE;aACf;SACF;QAED,yCAAyC;QACzC;YACE,UAAU,EAAE;gBACV;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;gBACD;oBACE,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,EAAE;iBACX;aACF;YACD,OAAO,EAAE;gBACP;oBACE,GAAG,EAAE,GAAG;oBACR,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE;wBACV;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;yBAClB;wBACD;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;yBACtB;wBACD;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;yBACtB;wBACD;4BACE,SAAS,EAAE,GAAG;4BACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;yBACvB;qBACF;iBACF;aACF;SACF,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,GAAG,EAAE,GAAG;gBACR,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE;oBACV;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;qBAClB;oBACD;wBACE,SAAS,EAAE,GAAG;wBACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;qBACtB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"traffic.spec.js","sourceRoot":"","sources":["../../src/builder/traffic.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@featurevisor/core",
3
- "version": "1.22.0",
3
+ "version": "1.22.1",
4
4
  "description": "Core package of Featurevisor for Node.js usage",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -57,5 +57,5 @@
57
57
  "@types/js-yaml": "^4.0.5",
58
58
  "@types/tar": "^6.1.4"
59
59
  },
60
- "gitHead": "28dfe5e2ff046e4a715877e97785d4911dd822fb"
60
+ "gitHead": "f01c20aa5d6ccd9288626be1fb06de27b69e5723"
61
61
  }
@@ -22,6 +22,10 @@ export function getUpdatedAvailableRangesAfterFilling(
22
22
  availableRanges: Range[],
23
23
  fill: Percentage,
24
24
  ): Range[] {
25
+ if (fill === 0) {
26
+ return availableRanges;
27
+ }
28
+
25
29
  const result: Range[] = [];
26
30
 
27
31
  let remaining = fill;
@@ -47,6 +47,265 @@ describe("core: Traffic", function () {
47
47
  ]);
48
48
  });
49
49
 
50
+ it("should allocate traffic for 0-100 weight on two variations", function () {
51
+ const result = getTraffic(
52
+ // parsed variations from YAML
53
+ [
54
+ {
55
+ value: "control",
56
+ weight: 0,
57
+ },
58
+ {
59
+ value: "treatment",
60
+ weight: 100,
61
+ },
62
+ ],
63
+
64
+ // parsed rollouts from YAML
65
+ [
66
+ {
67
+ key: "1",
68
+ segments: "*",
69
+ percentage: 80,
70
+ },
71
+ ],
72
+
73
+ // existing feature from previous release
74
+ undefined,
75
+ );
76
+
77
+ expect(result).toEqual([
78
+ {
79
+ key: "1",
80
+ segments: "*",
81
+ percentage: 80000,
82
+ allocation: [
83
+ // should be filtered out automatically
84
+ // {
85
+ // variation: "control",
86
+ // range: [0, 0],
87
+ // },
88
+
89
+ {
90
+ variation: "treatment",
91
+ range: [0, 80000],
92
+ },
93
+ ],
94
+ },
95
+ ]);
96
+ });
97
+
98
+ it("should allocate traffic for 0-100 weight on two variations, with rule percentage going from 80% to 100%", function () {
99
+ const result = getTraffic(
100
+ // parsed variations from YAML
101
+ [
102
+ {
103
+ value: "control",
104
+ weight: 0,
105
+ },
106
+ {
107
+ value: "treatment",
108
+ weight: 100,
109
+ },
110
+ ],
111
+
112
+ // parsed rollouts from YAML
113
+ [
114
+ {
115
+ key: "1",
116
+ segments: "*",
117
+ percentage: 100,
118
+ },
119
+ ],
120
+
121
+ // existing feature from previous release
122
+ {
123
+ variations: [
124
+ {
125
+ value: "control",
126
+ weight: 0,
127
+ },
128
+ {
129
+ value: "treatment",
130
+ weight: 80,
131
+ },
132
+ ],
133
+ traffic: [
134
+ {
135
+ key: "1",
136
+ percentage: 80000,
137
+ allocation: [
138
+ {
139
+ variation: "treatment",
140
+ range: [0, 80000],
141
+ },
142
+ ],
143
+ },
144
+ ],
145
+ },
146
+ );
147
+
148
+ expect(result).toEqual([
149
+ {
150
+ key: "1",
151
+ segments: "*",
152
+ percentage: 100000,
153
+ allocation: [
154
+ // should be filtered out automatically
155
+ // {
156
+ // variation: "control",
157
+ // range: [0, 0],
158
+ // },
159
+
160
+ {
161
+ variation: "treatment",
162
+ range: [0, 100000],
163
+ },
164
+ ],
165
+ },
166
+ ]);
167
+ });
168
+
169
+ it("should allocate traffic for 0-100 weight on two variations, with rule percentage going from 100% to 80%", function () {
170
+ const result = getTraffic(
171
+ // parsed variations from YAML
172
+ [
173
+ {
174
+ value: "control",
175
+ weight: 0,
176
+ },
177
+ {
178
+ value: "treatment",
179
+ weight: 100,
180
+ },
181
+ ],
182
+
183
+ // parsed rollouts from YAML
184
+ [
185
+ {
186
+ key: "1",
187
+ segments: "*",
188
+ percentage: 80,
189
+ },
190
+ ],
191
+
192
+ // existing feature from previous release
193
+ {
194
+ variations: [
195
+ {
196
+ value: "control",
197
+ weight: 0,
198
+ },
199
+ {
200
+ value: "treatment",
201
+ weight: 80,
202
+ },
203
+ ],
204
+ traffic: [
205
+ {
206
+ key: "1",
207
+ percentage: 100000,
208
+ allocation: [
209
+ {
210
+ variation: "treatment",
211
+ range: [0, 100000],
212
+ },
213
+ ],
214
+ },
215
+ ],
216
+ },
217
+ );
218
+
219
+ expect(result).toEqual([
220
+ {
221
+ key: "1",
222
+ segments: "*",
223
+ percentage: 80000,
224
+ allocation: [
225
+ // should be filtered out automatically
226
+ // {
227
+ // variation: "control",
228
+ // range: [0, 0],
229
+ // },
230
+
231
+ {
232
+ variation: "treatment",
233
+ range: [0, 80000],
234
+ },
235
+ ],
236
+ },
237
+ ]);
238
+ });
239
+
240
+ it("should allocate traffic for existing variations state of 0-100 weights", function () {
241
+ const result = getTraffic(
242
+ // parsed variations from YAML
243
+ [
244
+ {
245
+ value: "control",
246
+ weight: 50,
247
+ },
248
+ {
249
+ value: "treatment",
250
+ weight: 50,
251
+ },
252
+ ],
253
+
254
+ // parsed rollouts from YAML
255
+ [
256
+ {
257
+ key: "1",
258
+ segments: "*",
259
+ percentage: 80,
260
+ },
261
+ ],
262
+
263
+ // existing feature from previous release
264
+ {
265
+ variations: [
266
+ {
267
+ value: "control",
268
+ weight: 0,
269
+ },
270
+ {
271
+ value: "treatment",
272
+ weight: 80,
273
+ },
274
+ ],
275
+ traffic: [
276
+ {
277
+ key: "1",
278
+ percentage: 80000,
279
+ allocation: [
280
+ {
281
+ variation: "treatment",
282
+ range: [0, 80000],
283
+ },
284
+ ],
285
+ },
286
+ ],
287
+ },
288
+ );
289
+
290
+ expect(result).toEqual([
291
+ {
292
+ key: "1",
293
+ segments: "*",
294
+ percentage: 80000,
295
+ allocation: [
296
+ {
297
+ variation: "control",
298
+ range: [0, 40000],
299
+ },
300
+ {
301
+ variation: "treatment",
302
+ range: [40000, 80000],
303
+ },
304
+ ],
305
+ },
306
+ ]);
307
+ });
308
+
50
309
  it("should allocate traffic for 50-50 weight on two variations", function () {
51
310
  const result = getTraffic(
52
311
  // parsed variations from YAML