@@ -30,58 +30,103 @@ func Test_e2e(t *testing.T) {
30
30
for _ , experiment := range tstData {
31
31
expName := experiment .Experiment
32
32
33
- assignments := []string {}
33
+ booleanAssignments := []bool {}
34
+ jsonAssignments := []string {}
34
35
numericAssignments := []float64 {}
36
+ stringAssignments := []string {}
35
37
36
38
for _ , subject := range experiment .SubjectsWithAttributes {
37
- if experiment .ValueType == "numeric" {
39
+ switch experiment .ValueType {
40
+ case "boolean" :
41
+ booleanAssignment , err := client .GetBoolAssignment (subject .SubjectKey , expName , subject .SubjectAttributes )
42
+ if err == nil {
43
+ assert .Nil (t , err )
44
+ }
45
+
46
+ booleanAssignments = append (booleanAssignments , booleanAssignment )
47
+ case "numeric" :
38
48
numericAssignment , err := client .GetNumericAssignment (subject .SubjectKey , expName , subject .SubjectAttributes )
39
49
if err == nil {
40
50
assert .Nil (t , err )
41
51
}
42
52
43
53
numericAssignments = append (numericAssignments , numericAssignment )
44
- } else {
45
- assignment , err := client .GetStringAssignment (subject .SubjectKey , expName , subject .SubjectAttributes )
46
- if assignment != "" {
54
+ case "json" :
55
+ jsonAssignment , err := client .GetJSONStringAssignment (subject .SubjectKey , expName , subject .SubjectAttributes )
56
+ if err == nil {
57
+ assert .Nil (t , err )
58
+ }
59
+
60
+ jsonAssignments = append (jsonAssignments , jsonAssignment )
61
+ case "string" :
62
+ stringAssignment , err := client .GetStringAssignment (subject .SubjectKey , expName , subject .SubjectAttributes )
63
+ if err == nil {
47
64
assert .Nil (t , err )
48
65
}
49
66
50
- assignments = append (assignments , assignment )
67
+ stringAssignments = append (stringAssignments , stringAssignment )
51
68
}
52
69
}
53
70
54
71
for _ , subject := range experiment .Subjects {
55
- if experiment .ValueType == "numeric" {
72
+ switch experiment .ValueType {
73
+ case "boolean" :
74
+ booleanAssignment , err := client .GetBoolAssignment (subject , expName , dictionary {})
75
+ if err == nil {
76
+ assert .Nil (t , err )
77
+ }
78
+
79
+ booleanAssignments = append (booleanAssignments , booleanAssignment )
80
+ case "json" :
81
+ jsonAssignment , err := client .GetJSONStringAssignment (subject , expName , dictionary {})
82
+ if err == nil {
83
+ assert .Nil (t , err )
84
+ }
85
+
86
+ jsonAssignments = append (jsonAssignments , jsonAssignment )
87
+ case "numeric" :
56
88
numericAssignment , err := client .GetNumericAssignment (subject , expName , dictionary {})
57
89
if err == nil {
58
90
assert .Nil (t , err )
59
91
}
60
92
61
93
numericAssignments = append (numericAssignments , numericAssignment )
62
- } else {
63
- assignment , err := client .GetStringAssignment (subject , expName , dictionary {})
94
+ case "string" :
95
+ stringAssignment , err := client .GetStringAssignment (subject , expName , dictionary {})
64
96
65
- if assignment != "" {
97
+ if err == nil {
66
98
assert .Nil (t , err )
67
99
}
68
100
69
- assignments = append (assignments , assignment )
101
+ stringAssignments = append (stringAssignments , stringAssignment )
70
102
}
71
103
}
72
104
73
- if experiment .ValueType == "numeric" {
105
+ switch experiment .ValueType {
106
+ case "boolean" :
107
+ expectedAssignments := []bool {}
108
+ for _ , assignment := range experiment .ExpectedAssignments {
109
+ expectedAssignments = append (expectedAssignments , assignment .boolValue )
110
+ }
111
+ assert .Equal (t , expectedAssignments , booleanAssignments )
112
+ case "json" :
113
+ expectedAssignments := []string {}
114
+ for _ , assignment := range experiment .ExpectedAssignments {
115
+ expectedAssignments = append (expectedAssignments , assignment .stringValue )
116
+ }
117
+ assert .Equal (t , expectedAssignments , jsonAssignments )
118
+ case "numeric" :
74
119
expectedAssignments := []float64 {}
75
120
for _ , assignment := range experiment .ExpectedAssignments {
76
121
expectedAssignments = append (expectedAssignments , assignment .numericValue )
77
122
}
78
123
assert .Equal (t , expectedAssignments , numericAssignments )
79
- } else {
124
+ case "string" :
80
125
expectedAssignments := []string {}
81
126
for _ , assignment := range experiment .ExpectedAssignments {
82
127
expectedAssignments = append (expectedAssignments , assignment .stringValue )
83
128
}
84
- assert .Equal (t , expectedAssignments , assignments )
129
+ assert .Equal (t , expectedAssignments , stringAssignments )
85
130
}
86
131
}
87
132
}
0 commit comments