@@ -25,6 +25,56 @@ import (
2525 psmocks "github.com/splitio/split-synchronizer/v5/splitio/proxy/storage/mocks"
2626)
2727
28+ func TestSplitChangesImpressionsDisabled (t * testing.T ) {
29+ gin .SetMode (gin .TestMode )
30+
31+ var splitStorage psmocks.ProxySplitStorageMock
32+ splitStorage .On ("ChangesSince" , int64 (- 1 ), []string (nil )).
33+ Return (& dtos.SplitChangesDTO {Since : - 1 , Till : 1 , Splits : []dtos.SplitDTO {{Name : "s1" , Status : "ACTIVE" , ImpressionsDisabled : true }, {Name : "s2" , Status : "ACTIVE" }}}, nil ).
34+ Once ()
35+
36+ var splitFetcher splitFetcherMock
37+ var largeSegmentStorageMock largeSegmentStorageMock
38+
39+ resp := httptest .NewRecorder ()
40+ ctx , router := gin .CreateTestContext (resp )
41+ logger := logging .NewLogger (nil )
42+ group := router .Group ("/api" )
43+ controller := NewSdkServerController (
44+ logger ,
45+ & splitFetcher ,
46+ & splitStorage ,
47+ nil ,
48+ flagsets .NewMatcher (false , nil ),
49+ & largeSegmentStorageMock ,
50+ )
51+ controller .Register (group )
52+
53+ ctx .Request , _ = http .NewRequest (http .MethodGet , "/api/splitChanges?since=-1" , nil )
54+ ctx .Request .Header .Set ("Authorization" , "Bearer someApiKey" )
55+ ctx .Request .Header .Set ("SplitSDKVersion" , "go-1.1.1" )
56+ ctx .Request .Header .Set ("SplitSDKMachineIp" , "1.2.3.4" )
57+ ctx .Request .Header .Set ("SplitSDKMachineName" , "ip-1-2-3-4" )
58+ router .ServeHTTP (resp , ctx .Request )
59+
60+ assert .Equal (t , 200 , resp .Code )
61+
62+ body , err := io .ReadAll (resp .Body )
63+ assert .Nil (t , err )
64+
65+ var s dtos.SplitChangesDTO
66+ err = json .Unmarshal (body , & s )
67+ assert .Nil (t , err )
68+ assert .Equal (t , 2 , len (s .Splits ))
69+ assert .Equal (t , int64 (- 1 ), s .Since )
70+ assert .Equal (t , int64 (1 ), s .Till )
71+ assert .True (t , s .Splits [0 ].ImpressionsDisabled )
72+ assert .False (t , s .Splits [1 ].ImpressionsDisabled )
73+
74+ splitStorage .AssertExpectations (t )
75+ splitFetcher .AssertExpectations (t )
76+ }
77+
2878func TestSplitChangesRecentSince (t * testing.T ) {
2979 gin .SetMode (gin .TestMode )
3080
0 commit comments