Skip to content

Commit 27ffe54

Browse files
aepfliclaude
andcommitted
refactor: Remove Mockito dependencies from TelemetryTest
- Replace Mockito mocks with concrete implementations and lambda expressions - Use ImmutableContext instead of mocked EvaluationContext - Simplify test setup by removing mocking boilerplate - Extract common test data to class-level fields for better organization - Fix missing semicolon in import statement 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 836658d commit 27ffe54

File tree

1 file changed

+22
-51
lines changed

1 file changed

+22
-51
lines changed

openfeature-api/src/test/java/dev/openfeature/api/TelemetryTest.java

Lines changed: 22 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,19 @@
22

33
import static org.junit.jupiter.api.Assertions.assertEquals;
44
import static org.junit.jupiter.api.Assertions.assertNull;
5-
import static org.mockito.Mockito.mock;
6-
import static org.mockito.Mockito.when;
7-
85
import org.junit.jupiter.api.Test;
6+
import java.util.Collections;
7+
import java.util.Map;
98

109
public class TelemetryTest {
1110

11+
String flagKey = "test-flag";
12+
String providerName = "test-provider";
13+
String reason = "static";
14+
Metadata providerMetadata = () -> providerName;
15+
1216
@Test
1317
void testCreatesEvaluationEventWithMandatoryFields() {
14-
// Arrange
15-
String flagKey = "test-flag";
16-
String providerName = "test-provider";
17-
String reason = "static";
18-
19-
Metadata providerMetadata = Mockito.mock(Metadata.class);
20-
Mockito.when(providerMetadata.getName()).thenReturn(providerName);
21-
2218
HookContext<Boolean> hookContext = HookContext.<Boolean>builder()
2319
.flagKey(flagKey)
2420
.providerMetadata(providerMetadata)
@@ -42,13 +38,6 @@ void testCreatesEvaluationEventWithMandatoryFields() {
4238

4339
@Test
4440
void testHandlesNullReason() {
45-
// Arrange
46-
String flagKey = "test-flag";
47-
String providerName = "test-provider";
48-
49-
Metadata providerMetadata = Mockito.mock(Metadata.class);
50-
Mockito.when(providerMetadata.getName()).thenReturn(providerName);
51-
5241
HookContext<Boolean> hookContext = HookContext.<Boolean>builder()
5342
.flagKey(flagKey)
5443
.providerMetadata(providerMetadata)
@@ -73,9 +62,9 @@ void testSetsVariantAttributeWhenVariantExists() {
7362
.flagKey("testFlag")
7463
.type(FlagValueType.STRING)
7564
.defaultValue("default")
76-
.ctx(Mockito.mock(EvaluationContext.class))
77-
.clientMetadata(Mockito.mock(ClientMetadata.class))
78-
.providerMetadata(Mockito.mock(Metadata.class))
65+
.ctx(EvaluationContext.EMPTY)
66+
.clientMetadata(() -> "")
67+
.providerMetadata(providerMetadata)
7968
.build();
8069

8170
FlagEvaluationDetails<String> providerEvaluation = FlagEvaluationDetails.<String>builder()
@@ -94,9 +83,9 @@ void test_sets_value_in_body_when_variant_is_null() {
9483
.flagKey("testFlag")
9584
.type(FlagValueType.STRING)
9685
.defaultValue("default")
97-
.ctx(Mockito.mock(EvaluationContext.class))
98-
.clientMetadata(Mockito.mock(ClientMetadata.class))
99-
.providerMetadata(Mockito.mock(Metadata.class))
86+
.ctx(EvaluationContext.EMPTY)
87+
.clientMetadata(() -> "")
88+
.providerMetadata(providerMetadata)
10089
.build();
10190

10291
FlagEvaluationDetails<String> providerEvaluation = FlagEvaluationDetails.<String>builder()
@@ -111,19 +100,13 @@ void test_sets_value_in_body_when_variant_is_null() {
111100

112101
@Test
113102
void testAllFieldsPopulated() {
114-
EvaluationContext evaluationContext = Mockito.mock(EvaluationContext.class);
115-
Mockito.when(evaluationContext.getTargetingKey()).thenReturn("realTargetingKey");
116-
117-
Metadata providerMetadata = Mockito.mock(Metadata.class);
118-
Mockito.when(providerMetadata.getName()).thenReturn("realProviderName");
119-
120103
HookContext<String> hookContext = HookContext.<String>builder()
121104
.flagKey("realFlag")
122105
.type(FlagValueType.STRING)
123106
.defaultValue("realDefault")
124-
.ctx(evaluationContext)
125-
.clientMetadata(Mockito.mock(ClientMetadata.class))
126-
.providerMetadata(providerMetadata)
107+
.ctx(new ImmutableContext("realTargetingKey", Map.of()))
108+
.clientMetadata(() -> "")
109+
.providerMetadata(()-> "realProviderName")
127110
.build();
128111

129112
FlagEvaluationDetails<String> providerEvaluation = FlagEvaluationDetails.<String>builder()
@@ -150,19 +133,13 @@ void testAllFieldsPopulated() {
150133

151134
@Test
152135
void testErrorEvaluation() {
153-
EvaluationContext evaluationContext = Mockito.mock(EvaluationContext.class);
154-
Mockito.when(evaluationContext.getTargetingKey()).thenReturn("realTargetingKey");
155-
156-
Metadata providerMetadata = Mockito.mock(Metadata.class);
157-
Mockito.when(providerMetadata.getName()).thenReturn("realProviderName");
158-
159136
HookContext<String> hookContext = HookContext.<String>builder()
160137
.flagKey("realFlag")
161138
.type(FlagValueType.STRING)
162139
.defaultValue("realDefault")
163-
.ctx(evaluationContext)
164-
.clientMetadata(Mockito.mock(ClientMetadata.class))
165-
.providerMetadata(providerMetadata)
140+
.ctx(new ImmutableContext("realTargetingKey", Map.of()))
141+
.clientMetadata(() -> "")
142+
.providerMetadata(()-> "realProviderName")
166143
.build();
167144

168145
FlagEvaluationDetails<String> providerEvaluation = FlagEvaluationDetails.<String>builder()
@@ -190,19 +167,13 @@ void testErrorEvaluation() {
190167

191168
@Test
192169
void testErrorCodeEvaluation() {
193-
EvaluationContext evaluationContext = Mockito.mock(EvaluationContext.class);
194-
Mockito.when(evaluationContext.getTargetingKey()).thenReturn("realTargetingKey");
195-
196-
Metadata providerMetadata = Mockito.mock(Metadata.class);
197-
Mockito.when(providerMetadata.getName()).thenReturn("realProviderName");
198-
199170
HookContext<String> hookContext = HookContext.<String>builder()
200171
.flagKey("realFlag")
201172
.type(FlagValueType.STRING)
202173
.defaultValue("realDefault")
203-
.ctx(evaluationContext)
204-
.clientMetadata(Mockito.mock(ClientMetadata.class))
205-
.providerMetadata(providerMetadata)
174+
.ctx(new ImmutableContext("realTargetingKey", Map.of()))
175+
.clientMetadata(() -> "")
176+
.providerMetadata(()-> "realProviderName")
206177
.build();
207178

208179
FlagEvaluationDetails<String> providerEvaluation = FlagEvaluationDetails.<String>builder()

0 commit comments

Comments
 (0)