@@ -19,24 +19,24 @@ import (
1919 impressionlistener "github.com/splitio/go-client/v6/splitio/impressionListener"
2020 "github.com/stretchr/testify/assert"
2121
22- commonsCfg "github.com/splitio/go-split-commons/v8 /conf"
23- "github.com/splitio/go-split-commons/v8 /dtos"
24- "github.com/splitio/go-split-commons/v8 /engine/evaluator"
25- "github.com/splitio/go-split-commons/v8 /engine/evaluator/impressionlabels"
26- evaluatorMock "github.com/splitio/go-split-commons/v8 /engine/evaluator/mocks"
27- "github.com/splitio/go-split-commons/v8 /healthcheck/application"
28- "github.com/splitio/go-split-commons/v8 /provisional"
29- "github.com/splitio/go-split-commons/v8 /provisional/strategy"
30- authMocks "github.com/splitio/go-split-commons/v8 /service/mocks"
31- "github.com/splitio/go-split-commons/v8 /storage"
32- "github.com/splitio/go-split-commons/v8 /storage/inmemory"
33- "github.com/splitio/go-split-commons/v8 /storage/inmemory/mutexqueue"
34- "github.com/splitio/go-split-commons/v8 /storage/mocks"
35- "github.com/splitio/go-split-commons/v8 /storage/redis"
36- "github.com/splitio/go-split-commons/v8 /synchronizer"
37- syncMock "github.com/splitio/go-split-commons/v8 /synchronizer/mocks"
38- "github.com/splitio/go-split-commons/v8 /telemetry"
39- "github.com/splitio/go-split-commons/v8 /util"
22+ commonsCfg "github.com/splitio/go-split-commons/v9 /conf"
23+ "github.com/splitio/go-split-commons/v9 /dtos"
24+ "github.com/splitio/go-split-commons/v9 /engine/evaluator"
25+ "github.com/splitio/go-split-commons/v9 /engine/evaluator/impressionlabels"
26+ evaluatorMock "github.com/splitio/go-split-commons/v9 /engine/evaluator/mocks"
27+ "github.com/splitio/go-split-commons/v9 /healthcheck/application"
28+ "github.com/splitio/go-split-commons/v9 /provisional"
29+ "github.com/splitio/go-split-commons/v9 /provisional/strategy"
30+ authMocks "github.com/splitio/go-split-commons/v9 /service/mocks"
31+ "github.com/splitio/go-split-commons/v9 /storage"
32+ "github.com/splitio/go-split-commons/v9 /storage/inmemory"
33+ "github.com/splitio/go-split-commons/v9 /storage/inmemory/mutexqueue"
34+ "github.com/splitio/go-split-commons/v9 /storage/mocks"
35+ "github.com/splitio/go-split-commons/v9 /storage/redis"
36+ "github.com/splitio/go-split-commons/v9 /synchronizer"
37+ syncMock "github.com/splitio/go-split-commons/v9 /synchronizer/mocks"
38+ "github.com/splitio/go-split-commons/v9 /telemetry"
39+ "github.com/splitio/go-split-commons/v9 /util"
4040
4141 "github.com/splitio/go-toolkit/v5/datastructures/set"
4242 "github.com/splitio/go-toolkit/v5/logging"
@@ -1322,6 +1322,22 @@ func TestClient(t *testing.T) {
13221322 cfg .LabelsEnabled = true
13231323 logger := logging .NewLogger (nil )
13241324
1325+ stringConfig := "flag1_config"
1326+ globalTreatment := "global_treatment"
1327+ flag1Treatment := "flag1_treatment"
1328+ config := & dtos.FallbackTreatmentConfig {
1329+ GlobalFallbackTreatment : & dtos.FallbackTreatment {
1330+ Treatment : & globalTreatment ,
1331+ },
1332+ ByFlagFallbackTreatment : map [string ]dtos.FallbackTreatment {
1333+ "flag1" : {
1334+ Treatment : & flag1Treatment ,
1335+ Config : & stringConfig ,
1336+ },
1337+ },
1338+ }
1339+ fallbackTreatmentCalculator := dtos .NewFallbackTreatmentCalculatorImp (config )
1340+
13251341 evaluator := evaluator .NewEvaluator (
13261342 mocks.MockSplitStorage {
13271343 SplitCall : func (splitName string ) * dtos.SplitDTO {
@@ -1374,6 +1390,7 @@ func TestClient(t *testing.T) {
13741390 logger ,
13751391 cfg .Advanced .FeatureFlagRules ,
13761392 cfg .Advanced .RuleBasedSegmentRules ,
1393+ fallbackTreatmentCalculator ,
13771394 )
13781395
13791396 mockedTelemetryStorage := mocks.MockTelemetryStorage {
@@ -1409,19 +1426,19 @@ func TestClient(t *testing.T) {
14091426 t .Error ("Wrong impression saved" )
14101427 }
14111428
1412- expectedTreatment (client .Treatment ("invalid" , "invalid" , nil ), "control " , t )
1413- if client .Treatment ("invalid" , "invalid" , nil ) != "control " {
1429+ expectedTreatment (client .Treatment ("invalid" , "invalid" , nil ), "global_treatment " , t )
1430+ if client .Treatment ("invalid" , "invalid" , nil ) != "global_treatment " {
14141431 t .Error ("Unexpected Treatment Result" )
14151432 }
14161433
14171434 expectedTreatment (client .Treatment ("invalid" , "killed" , nil ), "defTreatment" , t )
1418- if isInvalidImpression (client , "invalid" , "killed " , "defTreatment " ) {
1435+ if isInvalidImpression (client , "invalid" , "invalid " , "global_treatment " ) {
14191436 t .Error ("Wrong impression saved" )
14201437 }
14211438
14221439 // Assertion Treatments
14231440 treatments := client .Treatments ("user1" , []string {"valid" , "invalid" , "killed" }, nil )
1424- expectedTreatment (treatments ["invalid" ], "control " , t )
1441+ expectedTreatment (treatments ["invalid" ], "global_treatment " , t )
14251442 expectedTreatment (treatments ["killed" ], "defTreatment" , t )
14261443 expectedTreatment (treatments ["valid" ], "on" , t )
14271444 client .impressions .(storage.ImpressionStorage ).PopN (cfg .Advanced .ImpressionsBulkSize )
@@ -1437,15 +1454,15 @@ func TestClient(t *testing.T) {
14371454 t .Error ("Wrong impression saved" )
14381455 }
14391456
1440- expectedTreatmentAndConfig (client .TreatmentWithConfig ("invalid" , "invalid" , nil ), "control " , "" , t )
1457+ expectedTreatmentAndConfig (client .TreatmentWithConfig ("invalid" , "invalid" , nil ), "global_treatment " , "" , t )
14411458 expectedTreatmentAndConfig (client .TreatmentWithConfig ("invalid" , "killed" , nil ), "defTreatment" , "{\" color\" : \" orange\" ,\" size\" : 15}" , t )
1442- if isInvalidImpression (client , "invalid" , "killed " , "defTreatment " ) {
1459+ if isInvalidImpression (client , "invalid" , "invalid " , "global_treatment " ) {
14431460 t .Error ("Wrong impression saved" )
14441461 }
14451462
14461463 // Assertion TreatmentsWithConfig
14471464 treatmentsWithConfigs := client .TreatmentsWithConfig ("user1" , []string {"valid" , "invalid" , "killed" }, nil )
1448- expectedTreatmentAndConfig (treatmentsWithConfigs ["invalid" ], "control " , "" , t )
1465+ expectedTreatmentAndConfig (treatmentsWithConfigs ["invalid" ], "global_treatment " , "" , t )
14491466 expectedTreatmentAndConfig (treatmentsWithConfigs ["killed" ], "defTreatment" , "{\" color\" : \" orange\" ,\" size\" : 15}" , t )
14501467 expectedTreatmentAndConfig (treatmentsWithConfigs ["valid" ], "on" , "{\" color\" : \" blue\" ,\" size\" : 13}" , t )
14511468}
0 commit comments