8
8
import static org .mockito .Mockito .verify ;
9
9
10
10
import dev .openfeature .sdk .fixtures .HookFixtures ;
11
- import dev .openfeature .sdk .testutils .FeatureProviderTestUtils ;
12
11
import dev .openfeature .sdk .testutils .TestEventsProvider ;
13
12
import java .util .Arrays ;
14
13
import java .util .HashMap ;
@@ -23,7 +22,7 @@ class DeveloperExperienceTest implements HookFixtures {
23
22
24
23
@ Test
25
24
void simpleBooleanFlag () {
26
- OpenFeatureAPI api = OpenFeatureAPI . getInstance ();
25
+ OpenFeatureAPI api = new OpenFeatureAPI ();
27
26
api .setProviderAndWait (new TestEventsProvider ());
28
27
Client client = api .getClient ();
29
28
Boolean retval = client .getBooleanValue (flagKey , false );
@@ -34,7 +33,7 @@ void simpleBooleanFlag() {
34
33
void clientHooks () {
35
34
Hook <Boolean > exampleHook = mockBooleanHook ();
36
35
37
- OpenFeatureAPI api = OpenFeatureAPI . getInstance ();
36
+ OpenFeatureAPI api = new OpenFeatureAPI ();
38
37
api .setProviderAndWait (new TestEventsProvider ());
39
38
Client client = api .getClient ();
40
39
client .addHooks (exampleHook );
@@ -48,7 +47,7 @@ void evalHooks() {
48
47
Hook <Boolean > clientHook = mockBooleanHook ();
49
48
Hook <Boolean > evalHook = mockBooleanHook ();
50
49
51
- OpenFeatureAPI api = OpenFeatureAPI . getInstance ();
50
+ OpenFeatureAPI api = new OpenFeatureAPI ();
52
51
api .setProviderAndWait (new TestEventsProvider ());
53
52
Client client = api .getClient ();
54
53
client .addHooks (clientHook );
@@ -69,7 +68,7 @@ void evalHooks() {
69
68
@ Test
70
69
void providingContext () {
71
70
72
- OpenFeatureAPI api = OpenFeatureAPI . getInstance ();
71
+ OpenFeatureAPI api = new OpenFeatureAPI ();
73
72
api .setProviderAndWait (new TestEventsProvider ());
74
73
Client client = api .getClient ();
75
74
Map <String , Value > attributes = new HashMap <>();
@@ -86,8 +85,8 @@ void providingContext() {
86
85
87
86
@ Test
88
87
void brokenProvider () {
89
- OpenFeatureAPI api = OpenFeatureAPI . getInstance ();
90
- FeatureProviderTestUtils . setFeatureProvider (new AlwaysBrokenProvider ());
88
+ OpenFeatureAPI api = new OpenFeatureAPI ();
89
+ api . setProviderAndWait (new AlwaysBrokenProvider ());
91
90
Client client = api .getClient ();
92
91
FlagEvaluationDetails <Boolean > retval = client .getBooleanDetails (flagKey , false );
93
92
assertEquals (ErrorCode .FLAG_NOT_FOUND , retval .getErrorCode ());
@@ -99,23 +98,24 @@ void brokenProvider() {
99
98
@ Test
100
99
void providerLockedPerTransaction () {
101
100
101
+ final String defaultValue = "string-value" ;
102
+ final OpenFeatureAPI api = new OpenFeatureAPI ();
103
+
102
104
class MutatingHook implements Hook {
103
105
104
106
@ Override
105
107
@ SneakyThrows
106
108
// change the provider during a before hook - this should not impact the evaluation in progress
107
109
public Optional before (HookContext ctx , Map hints ) {
108
110
109
- FeatureProviderTestUtils . setFeatureProvider (TestEventsProvider .newInitializedTestEventsProvider ());
111
+ api . setProviderAndWait (TestEventsProvider .newInitializedTestEventsProvider ());
110
112
111
113
return Optional .empty ();
112
114
}
113
115
}
114
116
115
- final String defaultValue = "string-value" ;
116
- final OpenFeatureAPI api = OpenFeatureAPI .getInstance ();
117
117
final Client client = api .getClient ();
118
- FeatureProviderTestUtils . setFeatureProvider (new DoSomethingProvider ());
118
+ api . setProviderAndWait (new DoSomethingProvider ());
119
119
api .addHooks (new MutatingHook ());
120
120
121
121
// if provider is changed during an evaluation transaction it should proceed with the original provider
@@ -132,7 +132,7 @@ public Optional before(HookContext ctx, Map hints) {
132
132
@ Test
133
133
void setProviderAndWaitShouldPutTheProviderInReadyState () {
134
134
String domain = "domain" ;
135
- OpenFeatureAPI api = OpenFeatureAPI . getInstance ();
135
+ OpenFeatureAPI api = new OpenFeatureAPI ();
136
136
api .setProviderAndWait (domain , new TestEventsProvider ());
137
137
Client client = api .getClient (domain );
138
138
assertThat (client .getProviderState ()).isEqualTo (ProviderState .READY );
@@ -145,7 +145,7 @@ void setProviderAndWaitShouldPutTheProviderInReadyState() {
145
145
@ Test
146
146
void shouldPutTheProviderInStateErrorAfterEmittingErrorEvent () {
147
147
String domain = "domain" ;
148
- OpenFeatureAPI api = OpenFeatureAPI . getInstance ();
148
+ OpenFeatureAPI api = new OpenFeatureAPI ();
149
149
TestEventsProvider provider = new TestEventsProvider ();
150
150
api .setProviderAndWait (domain , provider );
151
151
Client client = api .getClient (domain );
@@ -161,7 +161,7 @@ void shouldPutTheProviderInStateErrorAfterEmittingErrorEvent() {
161
161
@ Test
162
162
void shouldPutTheProviderInStateStaleAfterEmittingStaleEvent () {
163
163
String domain = "domain" ;
164
- OpenFeatureAPI api = OpenFeatureAPI . getInstance ();
164
+ OpenFeatureAPI api = new OpenFeatureAPI ();
165
165
TestEventsProvider provider = new TestEventsProvider ();
166
166
api .setProviderAndWait (domain , provider );
167
167
Client client = api .getClient (domain );
@@ -177,7 +177,7 @@ void shouldPutTheProviderInStateStaleAfterEmittingStaleEvent() {
177
177
@ Test
178
178
void shouldPutTheProviderInStateReadyAfterEmittingReadyEvent () {
179
179
String domain = "domain" ;
180
- OpenFeatureAPI api = OpenFeatureAPI . getInstance ();
180
+ OpenFeatureAPI api = new OpenFeatureAPI ();
181
181
TestEventsProvider provider = new TestEventsProvider ();
182
182
api .setProviderAndWait (domain , provider );
183
183
Client client = api .getClient (domain );
0 commit comments