Skip to content

Commit e084b71

Browse files
committed
rollback SplitChangesDTO for deps
1 parent 2e76790 commit e084b71

File tree

8 files changed

+43
-42
lines changed

8 files changed

+43
-42
lines changed

dtos/split.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ import (
66

77
// SplitChangesDTO structure to map JSON message sent by Split servers.
88
type SplitChangesDTO struct {
9+
Till int64 `json:"till"`
10+
Since int64 `json:"since"`
11+
Splits []SplitDTO `json:"splits"`
12+
}
13+
14+
// RuleChangesDTO structure to map JSON message sent by Split servers.
15+
type RuleChangesDTO struct {
916
FeatureFlags FeatureFlagsDTO `json:"ff"`
1017
RuleBasedSegments RuleBasedSegmentsDTO `json:"rbs"`
1118
}
@@ -16,12 +23,6 @@ type FeatureFlagsDTO struct {
1623
Splits []SplitDTO `json:"d"`
1724
}
1825

19-
type SplitsDTO struct {
20-
Since int64 `json:"since"`
21-
Till int64 `json:"till"`
22-
Splits []SplitDTO `json:"splits"`
23-
}
24-
2526
type RuleBasedSegmentsDTO struct {
2627
Since int64 `json:"s"`
2728
Till int64 `json:"t"`

dtos/split_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ var splitMock, _ = os.ReadFile("../testdata/split_mock.json")
1414
func TestSplitDTO(t *testing.T) {
1515
mockedData := fmt.Sprintf(string(splitsMock), splitMock)
1616

17-
var splitChangesDtoFromMock SplitChangesDTO
18-
var splitChangesDtoFromMarshal SplitChangesDTO
17+
var splitChangesDtoFromMock RuleChangesDTO
18+
var splitChangesDtoFromMarshal RuleChangesDTO
1919

2020
err := json.Unmarshal([]byte(mockedData), &splitChangesDtoFromMock)
2121
if err != nil {

dtos/splitchangewrapper.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ type FFResponse interface {
1717

1818
// FFResponseLegacy handles the legacy format of feature flag responses.
1919
type FFResponseLegacy struct {
20-
SplitChanges SplitsDTO
20+
SplitChanges SplitChangesDTO
2121
}
2222

2323
// NewFFResponseLegacy creates a new FFResponseLegacy instance from the provided JSON data.
2424
func NewFFResponseLegacy(data []byte) (FFResponse, error) {
25-
var splitChangesDto SplitsDTO
25+
var splitChangesDto SplitChangesDTO
2626
err := json.Unmarshal(data, &splitChangesDto)
2727
if err == nil {
2828
return &FFResponseLegacy{
@@ -69,12 +69,12 @@ func (ffLegacy *FFResponseLegacy) RBSince() int64 {
6969

7070
// FFResponseV13 handles the version 1.3 format of feature flag responses.
7171
type FFResponseV13 struct {
72-
SplitChanges SplitChangesDTO
72+
SplitChanges RuleChangesDTO
7373
}
7474

7575
// NewFFResponseV13 creates a new FFResponseV13 instance from the provided JSON data.
7676
func NewFFResponseV13(data []byte) (FFResponse, error) {
77-
var splitChangesDto SplitChangesDTO
77+
var splitChangesDto RuleChangesDTO
7878
err := json.Unmarshal(data, &splitChangesDto)
7979
if err == nil {
8080
return &FFResponseV13{
@@ -121,12 +121,12 @@ func (f13 *FFResponseV13) FFSince() int64 {
121121

122122
// FFResponseLocalV13 is a local version of FFResponseV13 for internal use.
123123
type FFResponseLocalV13 struct {
124-
SplitChanges SplitChangesDTO
124+
SplitChanges RuleChangesDTO
125125
}
126126

127127
// NewFFResponseLocalV13 creates a new FFResponseLocalV13 instance from the provided JSON data.
128128
func NewFFResponseLocalV13(data []byte) (*FFResponseLocalV13, error) {
129-
var splitChangesDto SplitChangesDTO
129+
var splitChangesDto RuleChangesDTO
130130
err := json.Unmarshal(data, &splitChangesDto)
131131
if err == nil {
132132
return &FFResponseLocalV13{

service/local/splitFetcher.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ func (s *FileSplitFetcher) Fetch(fetchOptions *service.FlagRequestParams) (dtos.
315315

316316
s.lastHash = currSum
317317
return &dtos.FFResponseV13{
318-
SplitChanges: dtos.SplitChangesDTO{
318+
SplitChanges: dtos.RuleChangesDTO{
319319
FeatureFlags: dtos.FeatureFlagsDTO{
320320
Splits: splits,
321321
Since: fetchOptions.ChangeNumber(),

synchronizer/local_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func TestLocalSyncAllOk(t *testing.T) {
8787
logger := logging.NewLogger(&logging.LoggerOptions{})
8888
splitFetcher := &httpMocks.MockSplitFetcher{}
8989
response := &dtos.FFResponseV13{
90-
SplitChanges: dtos.SplitChangesDTO{
90+
SplitChanges: dtos.RuleChangesDTO{
9191
FeatureFlags: dtos.FeatureFlagsDTO{
9292
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2},
9393
Since: 3,
@@ -130,7 +130,7 @@ func TestLocalPeriodicFetching(t *testing.T) {
130130
logger := logging.NewLogger(&logging.LoggerOptions{})
131131
splitFetcher := &httpMocks.MockSplitFetcher{}
132132
response := &dtos.FFResponseV13{
133-
SplitChanges: dtos.SplitChangesDTO{
133+
SplitChanges: dtos.RuleChangesDTO{
134134
FeatureFlags: dtos.FeatureFlagsDTO{
135135
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2},
136136
Since: 3,

synchronizer/synchronizer_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ func TestSyncAllErrorInSegments(t *testing.T) {
9898
logger := logging.NewLogger(&logging.LoggerOptions{})
9999
splitFetcher := &httpMocks.MockSplitFetcher{}
100100
response := &dtos.FFResponseV13{
101-
SplitChanges: dtos.SplitChangesDTO{
101+
SplitChanges: dtos.RuleChangesDTO{
102102
FeatureFlags: dtos.FeatureFlagsDTO{
103103
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2},
104104
Since: 3,
@@ -173,7 +173,7 @@ func TestSyncAllOk(t *testing.T) {
173173
mockedSplit2 := dtos.SplitDTO{Name: "split2", Killed: true, Status: "ACTIVE", TrafficTypeName: "two"}
174174
logger := logging.NewLogger(&logging.LoggerOptions{})
175175
response := &dtos.FFResponseV13{
176-
SplitChanges: dtos.SplitChangesDTO{
176+
SplitChanges: dtos.RuleChangesDTO{
177177
FeatureFlags: dtos.FeatureFlagsDTO{
178178
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2},
179179
Since: 3,
@@ -266,7 +266,7 @@ func TestPeriodicFetching(t *testing.T) {
266266
logger := logging.NewLogger(&logging.LoggerOptions{})
267267

268268
response := &dtos.FFResponseV13{
269-
SplitChanges: dtos.SplitChangesDTO{
269+
SplitChanges: dtos.RuleChangesDTO{
270270
FeatureFlags: dtos.FeatureFlagsDTO{
271271
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2},
272272
Since: 3,

synchronizer/worker/split/split_test.go

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ func TestSplitSynchronizer(t *testing.T) {
110110
splitMockStorage.On("Update", []dtos.SplitDTO{mockedSplit1, mockedSplit2}, []dtos.SplitDTO{mockedSplit3}, int64(3)).Once()
111111

112112
response := &dtos.FFResponseV13{
113-
SplitChanges: dtos.SplitChangesDTO{
113+
SplitChanges: dtos.RuleChangesDTO{
114114
FeatureFlags: dtos.FeatureFlagsDTO{
115115
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2, mockedSplit3},
116116
Since: 3,
@@ -166,7 +166,7 @@ func TestSplitSyncProcess(t *testing.T) {
166166
}
167167

168168
response := &dtos.FFResponseV13{
169-
SplitChanges: dtos.SplitChangesDTO{
169+
SplitChanges: dtos.RuleChangesDTO{
170170
FeatureFlags: dtos.FeatureFlagsDTO{
171171
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2, mockedSplit3},
172172
Since: 3,
@@ -179,7 +179,7 @@ func TestSplitSyncProcess(t *testing.T) {
179179
splitMockFetcher.On("Fetch", mock.Anything).Return(response, nil).Once()
180180

181181
response1 := &dtos.FFResponseV13{
182-
SplitChanges: dtos.SplitChangesDTO{
182+
SplitChanges: dtos.RuleChangesDTO{
183183
FeatureFlags: dtos.FeatureFlagsDTO{
184184
Splits: []dtos.SplitDTO{mockedSplit4, mockedSplit5},
185185
Since: 3,
@@ -233,7 +233,7 @@ func TestSplitTill(t *testing.T) {
233233
mockedRuleBased1 := dtos.RuleBasedSegmentDTO{Name: "rb1", Status: "ACTIVE"}
234234

235235
response := &dtos.FFResponseV13{
236-
SplitChanges: dtos.SplitChangesDTO{
236+
SplitChanges: dtos.RuleChangesDTO{
237237
FeatureFlags: dtos.FeatureFlagsDTO{
238238
Splits: []dtos.SplitDTO{mockedSplit1},
239239
Since: 2,
@@ -279,7 +279,7 @@ func TestSplitTill(t *testing.T) {
279279
func TestByPassingCDN(t *testing.T) {
280280
mockedSplit1 := dtos.SplitDTO{Name: "split1", Killed: false, Status: "ACTIVE", TrafficTypeName: "one"}
281281
response := &dtos.FFResponseV13{
282-
SplitChanges: dtos.SplitChangesDTO{
282+
SplitChanges: dtos.RuleChangesDTO{
283283
FeatureFlags: dtos.FeatureFlagsDTO{
284284
Splits: []dtos.SplitDTO{mockedSplit1},
285285
Since: 1,
@@ -291,7 +291,7 @@ func TestByPassingCDN(t *testing.T) {
291291
splitMockFetcher.On("Fetch", service.MakeFlagRequestParams().WithChangeNumber(-1).WithChangeNumberRB(-1).WithSpecVersion(common.StringRef(specs.FLAG_V1_3))).Return(response, nil).Once()
292292

293293
response1 := &dtos.FFResponseV13{
294-
SplitChanges: dtos.SplitChangesDTO{
294+
SplitChanges: dtos.RuleChangesDTO{
295295
FeatureFlags: dtos.FeatureFlagsDTO{
296296
Splits: []dtos.SplitDTO{mockedSplit1},
297297
Since: 2,
@@ -301,7 +301,7 @@ func TestByPassingCDN(t *testing.T) {
301301
}
302302
splitMockFetcher.On("Fetch", service.MakeFlagRequestParams().WithChangeNumber(2).WithChangeNumberRB(-1).WithSpecVersion(common.StringRef(specs.FLAG_V1_3))).Return(response1, nil).Times(10)
303303
response2 := &dtos.FFResponseV13{
304-
SplitChanges: dtos.SplitChangesDTO{
304+
SplitChanges: dtos.RuleChangesDTO{
305305
FeatureFlags: dtos.FeatureFlagsDTO{
306306
Splits: []dtos.SplitDTO{mockedSplit1},
307307
Since: 3,
@@ -342,7 +342,7 @@ func TestByPassingCDNLimit(t *testing.T) {
342342
mockedSplit1 := dtos.SplitDTO{Name: "split1", Killed: false, Status: "ACTIVE", TrafficTypeName: "one"}
343343

344344
response := &dtos.FFResponseV13{
345-
SplitChanges: dtos.SplitChangesDTO{
345+
SplitChanges: dtos.RuleChangesDTO{
346346
FeatureFlags: dtos.FeatureFlagsDTO{
347347
Splits: []dtos.SplitDTO{mockedSplit1},
348348
Since: 1,
@@ -354,7 +354,7 @@ func TestByPassingCDNLimit(t *testing.T) {
354354
splitMockFetcher := &fetcherMock.MockSplitFetcher{}
355355
splitMockFetcher.On("Fetch", service.MakeFlagRequestParams().WithChangeNumber(-1).WithChangeNumberRB(-1).WithSpecVersion(common.StringRef(specs.FLAG_V1_3))).Return(response, nil).Once()
356356
response1 := &dtos.FFResponseV13{
357-
SplitChanges: dtos.SplitChangesDTO{
357+
SplitChanges: dtos.RuleChangesDTO{
358358
FeatureFlags: dtos.FeatureFlagsDTO{
359359
Splits: []dtos.SplitDTO{mockedSplit1},
360360
Since: 2,
@@ -364,7 +364,7 @@ func TestByPassingCDNLimit(t *testing.T) {
364364
}
365365
splitMockFetcher.On("Fetch", service.MakeFlagRequestParams().WithChangeNumber(2).WithChangeNumberRB(-1).WithSpecVersion(common.StringRef(specs.FLAG_V1_3))).Return(response1, nil).Times(10)
366366
response2 := &dtos.FFResponseV13{
367-
SplitChanges: dtos.SplitChangesDTO{
367+
SplitChanges: dtos.RuleChangesDTO{
368368
FeatureFlags: dtos.FeatureFlagsDTO{
369369
Splits: []dtos.SplitDTO{mockedSplit1},
370370
Since: 2,
@@ -430,7 +430,7 @@ func TestAddOrUpdateFeatureFlagNil(t *testing.T) {
430430
ffStorageMock.On("ChangeNumber").Return(int64(-1), nil).Times(3)
431431
ffStorageMock.On("Update", mock.Anything, mock.Anything, mock.Anything).Return(-1).Once()
432432
response := &dtos.FFResponseV13{
433-
SplitChanges: dtos.SplitChangesDTO{
433+
SplitChanges: dtos.RuleChangesDTO{
434434
FeatureFlags: dtos.FeatureFlagsDTO{
435435
Splits: []dtos.SplitDTO{},
436436
Since: 2,
@@ -510,7 +510,7 @@ func TestAddOrUpdateFFCNFromStorageError(t *testing.T) {
510510
ffStorageMock.On("ChangeNumber").Return(int64(0), errors.New("error geting change number")).Times(3)
511511
ffStorageMock.On("Update", mock.Anything, mock.Anything, int64(2)).Return().Once()
512512
response := &dtos.FFResponseV13{
513-
SplitChanges: dtos.SplitChangesDTO{
513+
SplitChanges: dtos.RuleChangesDTO{
514514
FeatureFlags: dtos.FeatureFlagsDTO{
515515
Splits: []dtos.SplitDTO{},
516516
Since: 2,
@@ -577,7 +577,7 @@ func TestSplitSyncWithSets(t *testing.T) {
577577
mockedSplit3 := dtos.SplitDTO{Name: "split3", Killed: false, Status: "ACTIVE", TrafficTypeName: "one", Sets: []string{"set5", "set1"}}
578578

579579
response := &dtos.FFResponseV13{
580-
SplitChanges: dtos.SplitChangesDTO{
580+
SplitChanges: dtos.RuleChangesDTO{
581581
FeatureFlags: dtos.FeatureFlagsDTO{
582582
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2, mockedSplit3},
583583
Since: 3,
@@ -620,7 +620,7 @@ func TestSplitSyncWithSetsInConfig(t *testing.T) {
620620
mockedSplit3 := dtos.SplitDTO{Name: "split3", Killed: false, Status: "ACTIVE", TrafficTypeName: "one", Sets: []string{"set5", "set2"}}
621621
mockedSplit4 := dtos.SplitDTO{Name: "split4", Killed: false, Status: "ACTIVE", TrafficTypeName: "one", Sets: []string{"set2"}}
622622
response := &dtos.FFResponseV13{
623-
SplitChanges: dtos.SplitChangesDTO{
623+
SplitChanges: dtos.RuleChangesDTO{
624624
FeatureFlags: dtos.FeatureFlagsDTO{
625625
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2, mockedSplit3, mockedSplit4},
626626
Since: 3,
@@ -709,7 +709,7 @@ func TestSynchronizeSplitsWithLowerTill(t *testing.T) {
709709
// Test case 2: till is equal to currentSince but less than currentRBSince
710710
till = 100
711711
response := &dtos.FFResponseV13{
712-
SplitChanges: dtos.SplitChangesDTO{
712+
SplitChanges: dtos.RuleChangesDTO{
713713
FeatureFlags: dtos.FeatureFlagsDTO{
714714
Splits: []dtos.SplitDTO{},
715715
Since: 100,
@@ -733,7 +733,7 @@ func TestSynchronizeSplitsWithLowerTill(t *testing.T) {
733733
till = 150
734734

735735
response1 := &dtos.FFResponseV13{
736-
SplitChanges: dtos.SplitChangesDTO{
736+
SplitChanges: dtos.RuleChangesDTO{
737737
FeatureFlags: dtos.FeatureFlagsDTO{
738738
Splits: []dtos.SplitDTO{},
739739
Since: 100,
@@ -861,7 +861,7 @@ func TestSynchronizeFeatureFlagsRuleBasedUpdateSecond(t *testing.T) {
861861
splitMockStorage.On("Update", []dtos.SplitDTO{}, []dtos.SplitDTO{}, int64(300)).Return().Once()
862862
splitMockFetcher := &fetcherMock.MockSplitFetcher{}
863863
splitMockFetcher.On("Fetch", mock.Anything).Return(&dtos.FFResponseV13{
864-
SplitChanges: dtos.SplitChangesDTO{
864+
SplitChanges: dtos.RuleChangesDTO{
865865
FeatureFlags: dtos.FeatureFlagsDTO{
866866
Splits: []dtos.SplitDTO{},
867867
Since: 300,
@@ -992,7 +992,7 @@ func TestSplitProxyDowngrade(t *testing.T) {
992992
t.Run("From 1.3 to 1.1", func(t *testing.T) {
993993
mockedSplit1 := dtos.SplitDTO{Name: "split1", Killed: false, Status: "ACTIVE", TrafficTypeName: "one"}
994994
response := &dtos.FFResponseLegacy{
995-
SplitChanges: dtos.SplitsDTO{
995+
SplitChanges: dtos.SplitChangesDTO{
996996
Splits: []dtos.SplitDTO{mockedSplit1},
997997
Since: 3,
998998
Till: 3,
@@ -1041,7 +1041,7 @@ func TestSplitProxyDowngrade(t *testing.T) {
10411041
mockedSplit1 := dtos.SplitDTO{Name: "split1", Killed: false, Status: "ACTIVE", TrafficTypeName: "one"}
10421042
mockedRuleBased1 := dtos.RuleBasedSegmentDTO{Name: "rb1", Status: "ACTIVE"}
10431043
response := &dtos.FFResponseV13{
1044-
SplitChanges: dtos.SplitChangesDTO{
1044+
SplitChanges: dtos.RuleChangesDTO{
10451045
FeatureFlags: dtos.FeatureFlagsDTO{
10461046
Splits: []dtos.SplitDTO{mockedSplit1},
10471047
Since: -1,
@@ -1095,7 +1095,7 @@ func TestSplitProxyDowngrade(t *testing.T) {
10951095
mockedSplit1 := dtos.SplitDTO{Name: "split1", Killed: false, Status: "ACTIVE", TrafficTypeName: "one"}
10961096
mockedRuleBased1 := dtos.RuleBasedSegmentDTO{Name: "rb1", Status: "ACTIVE"}
10971097
response := &dtos.FFResponseV13{
1098-
SplitChanges: dtos.SplitChangesDTO{
1098+
SplitChanges: dtos.RuleChangesDTO{
10991099
FeatureFlags: dtos.FeatureFlagsDTO{
11001100
Splits: []dtos.SplitDTO{mockedSplit1},
11011101
Since: -1,
@@ -1109,7 +1109,7 @@ func TestSplitProxyDowngrade(t *testing.T) {
11091109
},
11101110
}
11111111
empty := &dtos.FFResponseV13{
1112-
SplitChanges: dtos.SplitChangesDTO{
1112+
SplitChanges: dtos.RuleChangesDTO{
11131113
FeatureFlags: dtos.FeatureFlagsDTO{
11141114
Splits: []dtos.SplitDTO{},
11151115
Since: 3,

tasks/splitsync_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func TestSplitSyncTask(t *testing.T) {
4040

4141
splitMockFetcher := &fetcherMock.MockSplitFetcher{}
4242
response := &dtos.FFResponseV13{
43-
SplitChanges: dtos.SplitChangesDTO{
43+
SplitChanges: dtos.RuleChangesDTO{
4444
FeatureFlags: dtos.FeatureFlagsDTO{
4545
Splits: []dtos.SplitDTO{mockedSplit1, mockedSplit2, mockedSplit3},
4646
Since: 3,

0 commit comments

Comments
 (0)