1
1
package dev .openfeature .contrib .providers .flagd ;
2
2
3
3
import io .opentelemetry .api .OpenTelemetry ;
4
+ import org .junit .jupiter .api .Disabled ;
4
5
import org .junit .jupiter .api .Test ;
5
6
import org .mockito .Mockito ;
6
7
7
8
import java .util .function .Function ;
8
9
9
- import static dev .openfeature .contrib .providers .flagd .Config .DEFAULT_CACHE ;
10
- import static dev .openfeature .contrib .providers .flagd .Config .DEFAULT_HOST ;
11
- import static dev .openfeature .contrib .providers .flagd .Config .DEFAULT_MAX_CACHE_SIZE ;
12
- import static dev .openfeature .contrib .providers .flagd .Config .DEFAULT_MAX_EVENT_STREAM_RETRIES ;
13
- import static dev .openfeature .contrib .providers .flagd .Config .DEFAULT_PORT ;
14
- import static org .junit .jupiter .api .Assertions .assertEquals ;
15
- import static org .junit .jupiter .api .Assertions .assertFalse ;
16
- import static org .junit .jupiter .api .Assertions .assertNull ;
17
- import static org .junit .jupiter .api .Assertions .assertTrue ;
10
+ import static dev .openfeature .contrib .providers .flagd .Config .*;
11
+ import static org .assertj .core .api .Assertions .assertThat ;
12
+ import static org .junit .jupiter .api .Assertions .*;
18
13
19
- public class FlagdOptionsTest {
14
+ class FlagdOptionsTest {
20
15
21
16
@ Test
22
- public void TestDefaults () {
17
+ void TestDefaults () {
23
18
final FlagdOptions builder = FlagdOptions .builder ().build ();
24
19
25
20
assertEquals (DEFAULT_HOST , builder .getHost ());
26
- assertEquals (DEFAULT_PORT , Integer .toString (builder .getPort ()));
21
+ assertEquals (DEFAULT_RPC_PORT , Integer .toString (builder .getPort ()));
27
22
assertFalse (builder .isTls ());
28
23
assertNull (builder .getCertPath ());
29
24
assertNull (builder .getSocketPath ());
@@ -33,11 +28,11 @@ public void TestDefaults() {
33
28
assertNull (builder .getSelector ());
34
29
assertNull (builder .getOpenTelemetry ());
35
30
assertNull (builder .getOfflineFlagSourcePath ());
36
- assertEquals (Config . Resolver .RPC , builder .getResolverType ());
31
+ assertEquals (Resolver .RPC , builder .getResolverType ());
37
32
}
38
33
39
34
@ Test
40
- public void TestBuilderOptions () {
35
+ void TestBuilderOptions () {
41
36
OpenTelemetry openTelemetry = Mockito .mock (OpenTelemetry .class );
42
37
43
38
FlagdOptions flagdOptions = FlagdOptions .builder ()
@@ -51,7 +46,7 @@ public void TestBuilderOptions() {
51
46
.selector ("app=weatherApp" )
52
47
.offlineFlagSourcePath ("some-path" )
53
48
.openTelemetry (openTelemetry )
54
- .resolverType (Config . Resolver .IN_PROCESS )
49
+ .resolverType (Resolver .IN_PROCESS )
55
50
.build ();
56
51
57
52
assertEquals ("https://hosted-flagd" , flagdOptions .getHost ());
@@ -64,32 +59,92 @@ public void TestBuilderOptions() {
64
59
assertEquals ("app=weatherApp" , flagdOptions .getSelector ());
65
60
assertEquals ("some-path" , flagdOptions .getOfflineFlagSourcePath ());
66
61
assertEquals (openTelemetry , flagdOptions .getOpenTelemetry ());
67
- assertEquals (Config . Resolver .IN_PROCESS , flagdOptions .getResolverType ());
62
+ assertEquals (Resolver .IN_PROCESS , flagdOptions .getResolverType ());
68
63
}
69
64
70
65
71
66
@ Test
72
- public void testValueProviderForEdgeCase_valid () {
67
+ void testValueProviderForEdgeCase_valid () {
73
68
Function <String , String > valueProvider = s -> "in-process" ;
74
- assertEquals (Config . Resolver .IN_PROCESS , Config .fromValueProvider (valueProvider ));
69
+ assertEquals (Resolver .IN_PROCESS , Config .fromValueProvider (valueProvider ));
75
70
76
71
valueProvider = s -> "IN-PROCESS" ;
77
- assertEquals (Config . Resolver .IN_PROCESS , Config .fromValueProvider (valueProvider ));
72
+ assertEquals (Resolver .IN_PROCESS , Config .fromValueProvider (valueProvider ));
78
73
79
74
valueProvider = s -> "rpc" ;
80
- assertEquals (Config . Resolver .RPC , Config .fromValueProvider (valueProvider ));
75
+ assertEquals (Resolver .RPC , Config .fromValueProvider (valueProvider ));
81
76
82
77
valueProvider = s -> "RPC" ;
83
- assertEquals (Config . Resolver .RPC , Config .fromValueProvider (valueProvider ));
78
+ assertEquals (Resolver .RPC , Config .fromValueProvider (valueProvider ));
84
79
}
85
80
86
81
@ Test
87
- public void testValueProviderForEdgeCase_invalid () {
82
+ void testValueProviderForEdgeCase_invalid () {
88
83
Function <String , String > dummy = s -> "some-other" ;
89
84
assertEquals (Config .DEFAULT_RESOLVER_TYPE , Config .fromValueProvider (dummy ));
90
85
91
86
dummy = s -> null ;
92
87
assertEquals (Config .DEFAULT_RESOLVER_TYPE , Config .fromValueProvider (dummy ));
93
88
}
94
89
90
+ @ Test
91
+ @ Disabled ("Currently there is no defined way on how to set environment variables for tests" )
92
+ void testInProcessProviderFromEnv_noPortConfigured_defaultsToCorrectPort () {
93
+ FlagdOptions flagdOptions = FlagdOptions .builder ().build ();
94
+
95
+ assertThat (flagdOptions .getResolverType ()).isEqualTo (Resolver .IN_PROCESS );
96
+ assertThat (flagdOptions .getPort ()).isEqualTo (Integer .parseInt (DEFAULT_IN_PROCESS_PORT ));
97
+ }
98
+
99
+ @ Test
100
+ void testInProcessProvider_noPortConfigured_defaultsToCorrectPort () {
101
+ FlagdOptions flagdOptions = FlagdOptions .builder ()
102
+ .resolverType (Resolver .IN_PROCESS )
103
+ .build ();
104
+
105
+ assertThat (flagdOptions .getResolverType ()).isEqualTo (Resolver .IN_PROCESS );
106
+ assertThat (flagdOptions .getPort ()).isEqualTo (Integer .parseInt (DEFAULT_IN_PROCESS_PORT ));
107
+ }
108
+
109
+ @ Test
110
+ @ Disabled ("Currently there is no defined way on how to set environment variables for tests" )
111
+ void testInProcessProviderFromEnv_portConfigured_usesConfiguredPort () {
112
+ FlagdOptions flagdOptions = FlagdOptions .builder ()
113
+ .port (1000 )
114
+ .build ();
115
+
116
+ assertThat (flagdOptions .getResolverType ()).isEqualTo (Resolver .IN_PROCESS );
117
+ assertThat (flagdOptions .getPort ()).isEqualTo (1000 );
118
+ }
119
+
120
+ @ Test
121
+ @ Disabled ("Currently there is no defined way on how to set environment variables for tests" )
122
+ void testRpcProviderFromEnv_noPortConfigured_defaultsToCorrectPort () {
123
+ FlagdOptions flagdOptions = FlagdOptions .builder ().build ();
124
+
125
+ assertThat (flagdOptions .getResolverType ()).isEqualTo (Resolver .RPC );
126
+ assertThat (flagdOptions .getPort ()).isEqualTo (Integer .parseInt (DEFAULT_RPC_PORT ));
127
+ }
128
+
129
+ @ Test
130
+ void testRpcProvider_noPortConfigured_defaultsToCorrectPort () {
131
+ FlagdOptions flagdOptions = FlagdOptions .builder ()
132
+ .resolverType (Resolver .RPC )
133
+ .build ();
134
+
135
+ assertThat (flagdOptions .getResolverType ()).isEqualTo (Resolver .RPC );
136
+ assertThat (flagdOptions .getPort ()).isEqualTo (Integer .parseInt (DEFAULT_RPC_PORT ));
137
+ }
138
+
139
+ @ Test
140
+ @ Disabled ("Currently there is no defined way on how to set environment variables for tests" )
141
+ void testRpcProviderFromEnv_portConfigured_usesConfiguredPort () {
142
+ FlagdOptions flagdOptions = FlagdOptions .builder ()
143
+ .port (1534 )
144
+ .build ();
145
+
146
+ assertThat (flagdOptions .getResolverType ()).isEqualTo (Resolver .RPC );
147
+ assertThat (flagdOptions .getPort ()).isEqualTo (1534 );
148
+
149
+ }
95
150
}
0 commit comments