Skip to content

Commit f53d459

Browse files
committed
fixup: test improvements
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
1 parent 54112fd commit f53d459

File tree

5 files changed

+19
-22
lines changed

5 files changed

+19
-22
lines changed

src/test/java/dev/openfeature/sdk/AlwaysBrokenWithDetailsProvider.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
public class AlwaysBrokenWithDetailsProvider implements FeatureProvider {
66

7+
private final String name = "always broken with details";
8+
79
@Override
810
public Metadata getMetadata() {
9-
return () -> {
10-
throw new FlagNotFoundError(TestConstants.BROKEN_MESSAGE);
11-
};
11+
return () -> name;
1212
}
1313

1414
@Override

src/test/java/dev/openfeature/sdk/AlwaysBrokenProvider.java renamed to src/test/java/dev/openfeature/sdk/AlwaysBrokenWithExceptionProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import dev.openfeature.sdk.exceptions.FlagNotFoundError;
44

5-
public class AlwaysBrokenProvider implements FeatureProvider {
5+
public class AlwaysBrokenWithExceptionProvider implements FeatureProvider {
66

77
private final String name = "always broken";
88

src/test/java/dev/openfeature/sdk/DeveloperExperienceTest.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,20 @@
1515
import java.util.Map;
1616
import java.util.Optional;
1717
import lombok.SneakyThrows;
18+
import org.junit.jupiter.api.BeforeEach;
1819
import org.junit.jupiter.api.Test;
1920

2021
class DeveloperExperienceTest implements HookFixtures {
2122
transient String flagKey = "mykey";
23+
private OpenFeatureAPI api;
24+
25+
@BeforeEach
26+
public void setUp() throws Exception {
27+
api = new OpenFeatureAPI();
28+
}
2229

2330
@Test
2431
void simpleBooleanFlag() {
25-
OpenFeatureAPI api = new OpenFeatureAPI();
2632
api.setProviderAndWait(new TestEventsProvider());
2733
Client client = api.getClient();
2834
Boolean retval = client.getBooleanValue(flagKey, false);
@@ -33,7 +39,6 @@ void simpleBooleanFlag() {
3339
void clientHooks() {
3440
Hook<Boolean> exampleHook = mockBooleanHook();
3541

36-
OpenFeatureAPI api = new OpenFeatureAPI();
3742
api.setProviderAndWait(new TestEventsProvider());
3843
Client client = api.getClient();
3944
client.addHooks(exampleHook);
@@ -47,7 +52,6 @@ void evalHooks() {
4752
Hook<Boolean> clientHook = mockBooleanHook();
4853
Hook<Boolean> evalHook = mockBooleanHook();
4954

50-
OpenFeatureAPI api = new OpenFeatureAPI();
5155
api.setProviderAndWait(new TestEventsProvider());
5256
Client client = api.getClient();
5357
client.addHooks(clientHook);
@@ -68,7 +72,6 @@ void evalHooks() {
6872
@Test
6973
void providingContext() {
7074

71-
OpenFeatureAPI api = new OpenFeatureAPI();
7275
api.setProviderAndWait(new TestEventsProvider());
7376
Client client = api.getClient();
7477
Map<String, Value> attributes = new HashMap<>();
@@ -85,8 +88,7 @@ void providingContext() {
8588

8689
@Test
8790
void brokenProvider() {
88-
OpenFeatureAPI api = new OpenFeatureAPI();
89-
api.setProviderAndWait(new AlwaysBrokenProvider());
91+
api.setProviderAndWait(new AlwaysBrokenWithExceptionProvider());
9092
Client client = api.getClient();
9193
FlagEvaluationDetails<Boolean> retval = client.getBooleanDetails(flagKey, false);
9294
assertEquals(ErrorCode.FLAG_NOT_FOUND, retval.getErrorCode());
@@ -132,7 +134,6 @@ public Optional before(HookContext ctx, Map hints) {
132134
@Test
133135
void setProviderAndWaitShouldPutTheProviderInReadyState() {
134136
String domain = "domain";
135-
OpenFeatureAPI api = new OpenFeatureAPI();
136137
api.setProviderAndWait(domain, new TestEventsProvider());
137138
Client client = api.getClient(domain);
138139
assertThat(client.getProviderState()).isEqualTo(ProviderState.READY);
@@ -145,7 +146,6 @@ void setProviderAndWaitShouldPutTheProviderInReadyState() {
145146
@Test
146147
void shouldPutTheProviderInStateErrorAfterEmittingErrorEvent() {
147148
String domain = "domain";
148-
OpenFeatureAPI api = new OpenFeatureAPI();
149149
TestEventsProvider provider = new TestEventsProvider();
150150
api.setProviderAndWait(domain, provider);
151151
Client client = api.getClient(domain);
@@ -161,7 +161,6 @@ void shouldPutTheProviderInStateErrorAfterEmittingErrorEvent() {
161161
@Test
162162
void shouldPutTheProviderInStateStaleAfterEmittingStaleEvent() {
163163
String domain = "domain";
164-
OpenFeatureAPI api = new OpenFeatureAPI();
165164
TestEventsProvider provider = new TestEventsProvider();
166165
api.setProviderAndWait(domain, provider);
167166
Client client = api.getClient(domain);
@@ -177,7 +176,6 @@ void shouldPutTheProviderInStateStaleAfterEmittingStaleEvent() {
177176
@Test
178177
void shouldPutTheProviderInStateReadyAfterEmittingReadyEvent() {
179178
String domain = "domain";
180-
OpenFeatureAPI api = new OpenFeatureAPI();
181179
TestEventsProvider provider = new TestEventsProvider();
182180
api.setProviderAndWait(domain, provider);
183181
Client client = api.getClient(domain);

src/test/java/dev/openfeature/sdk/FlagEvaluationSpecTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ void hooks() {
376376
"In cases of abnormal execution, the `evaluation details` structure's `error message` field **MAY** contain a string containing additional details about the nature of the error.")
377377
@Test
378378
void broken_provider() {
379-
api.setProviderAndWait(new AlwaysBrokenProvider());
379+
api.setProviderAndWait(new AlwaysBrokenWithExceptionProvider());
380380
Client c = api.getClient();
381381
boolean defaultValue = false;
382382
assertFalse(c.getBooleanValue("key", defaultValue));
@@ -405,8 +405,7 @@ void broken_provider() {
405405
"In cases of abnormal execution, the `evaluation details` structure's `error message` field **MAY** contain a string containing additional details about the nature of the error.")
406406
@Test
407407
void broken_provider_withDetails() throws InterruptedException {
408-
api.setProvider(new AlwaysBrokenWithDetailsProvider());
409-
Thread.sleep(50);
408+
api.setProviderAndWait(new AlwaysBrokenWithDetailsProvider());
410409
Client c = api.getClient();
411410
boolean defaultValue = false;
412411
assertFalse(c.getBooleanValue("key", defaultValue));
@@ -422,7 +421,7 @@ void broken_provider_withDetails() throws InterruptedException {
422421
text = "Methods, functions, or operations on the client SHOULD NOT write log messages.")
423422
@Test
424423
void log_on_error() throws NotImplementedException {
425-
api.setProviderAndWait(new AlwaysBrokenProvider());
424+
api.setProviderAndWait(new AlwaysBrokenWithExceptionProvider());
426425
Client c = api.getClient();
427426
FlagEvaluationDetails<Boolean> result = c.getBooleanDetails("test", false);
428427

@@ -441,7 +440,7 @@ void clientMetadata() {
441440
assertNull(c.getMetadata().getDomain());
442441

443442
String domainName = "test domain";
444-
api.setProviderAndWait(new AlwaysBrokenProvider());
443+
api.setProviderAndWait(new AlwaysBrokenWithExceptionProvider());
445444
Client c2 = api.getClient(domainName);
446445

447446
assertEquals(domainName, c2.getMetadata().getName());
@@ -454,7 +453,7 @@ void clientMetadata() {
454453
"In cases of abnormal execution (network failure, unhandled error, etc) the reason field in the evaluation details SHOULD indicate an error.")
455454
@Test
456455
void reason_is_error_when_there_are_errors() {
457-
api.setProviderAndWait(new AlwaysBrokenProvider());
456+
api.setProviderAndWait(new AlwaysBrokenWithExceptionProvider());
458457
Client c = api.getClient();
459458
FlagEvaluationDetails<Boolean> result = c.getBooleanDetails("test", false);
460459
assertEquals(Reason.ERROR.toString(), result.getReason());

src/test/java/dev/openfeature/sdk/HookSpecTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ void optional_properties() {
175175
@Test
176176
void before_runs_ahead_of_evaluation() {
177177

178-
api.setProviderAndWait(new AlwaysBrokenProvider());
178+
api.setProviderAndWait(new AlwaysBrokenWithExceptionProvider());
179179
Client client = api.getClient();
180180
Hook<Boolean> evalHook = mockBooleanHook();
181181

@@ -411,7 +411,7 @@ void error_stops_before() {
411411
doThrow(RuntimeException.class).when(h).before(any(), any());
412412
Hook<Boolean> h2 = mockBooleanHook();
413413

414-
api.setProviderAndWait(new AlwaysBrokenProvider());
414+
api.setProviderAndWait(new AlwaysBrokenWithExceptionProvider());
415415
Client c = api.getClient();
416416

417417
c.getBooleanDetails(

0 commit comments

Comments
 (0)