11package dev .openfeature .contrib .providers .flagd ;
22
33import io .opentelemetry .api .OpenTelemetry ;
4+ import org .junit .jupiter .api .Disabled ;
45import org .junit .jupiter .api .Test ;
56import org .mockito .Mockito ;
67
78import java .util .function .Function ;
89
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 .*;
1813
19- public class FlagdOptionsTest {
14+ class FlagdOptionsTest {
2015
2116 @ Test
22- public void TestDefaults () {
17+ void TestDefaults () {
2318 final FlagdOptions builder = FlagdOptions .builder ().build ();
2419
2520 assertEquals (DEFAULT_HOST , builder .getHost ());
26- assertEquals (DEFAULT_PORT , Integer .toString (builder .getPort ()));
21+ assertEquals (DEFAULT_RPC_PORT , Integer .toString (builder .getPort ()));
2722 assertFalse (builder .isTls ());
2823 assertNull (builder .getCertPath ());
2924 assertNull (builder .getSocketPath ());
@@ -33,11 +28,11 @@ public void TestDefaults() {
3328 assertNull (builder .getSelector ());
3429 assertNull (builder .getOpenTelemetry ());
3530 assertNull (builder .getOfflineFlagSourcePath ());
36- assertEquals (Config . Resolver .RPC , builder .getResolverType ());
31+ assertEquals (Resolver .RPC , builder .getResolverType ());
3732 }
3833
3934 @ Test
40- public void TestBuilderOptions () {
35+ void TestBuilderOptions () {
4136 OpenTelemetry openTelemetry = Mockito .mock (OpenTelemetry .class );
4237
4338 FlagdOptions flagdOptions = FlagdOptions .builder ()
@@ -51,7 +46,7 @@ public void TestBuilderOptions() {
5146 .selector ("app=weatherApp" )
5247 .offlineFlagSourcePath ("some-path" )
5348 .openTelemetry (openTelemetry )
54- .resolverType (Config . Resolver .IN_PROCESS )
49+ .resolverType (Resolver .IN_PROCESS )
5550 .build ();
5651
5752 assertEquals ("https://hosted-flagd" , flagdOptions .getHost ());
@@ -64,32 +59,92 @@ public void TestBuilderOptions() {
6459 assertEquals ("app=weatherApp" , flagdOptions .getSelector ());
6560 assertEquals ("some-path" , flagdOptions .getOfflineFlagSourcePath ());
6661 assertEquals (openTelemetry , flagdOptions .getOpenTelemetry ());
67- assertEquals (Config . Resolver .IN_PROCESS , flagdOptions .getResolverType ());
62+ assertEquals (Resolver .IN_PROCESS , flagdOptions .getResolverType ());
6863 }
6964
7065
7166 @ Test
72- public void testValueProviderForEdgeCase_valid () {
67+ void testValueProviderForEdgeCase_valid () {
7368 Function <String , String > valueProvider = s -> "in-process" ;
74- assertEquals (Config . Resolver .IN_PROCESS , Config .fromValueProvider (valueProvider ));
69+ assertEquals (Resolver .IN_PROCESS , Config .fromValueProvider (valueProvider ));
7570
7671 valueProvider = s -> "IN-PROCESS" ;
77- assertEquals (Config . Resolver .IN_PROCESS , Config .fromValueProvider (valueProvider ));
72+ assertEquals (Resolver .IN_PROCESS , Config .fromValueProvider (valueProvider ));
7873
7974 valueProvider = s -> "rpc" ;
80- assertEquals (Config . Resolver .RPC , Config .fromValueProvider (valueProvider ));
75+ assertEquals (Resolver .RPC , Config .fromValueProvider (valueProvider ));
8176
8277 valueProvider = s -> "RPC" ;
83- assertEquals (Config . Resolver .RPC , Config .fromValueProvider (valueProvider ));
78+ assertEquals (Resolver .RPC , Config .fromValueProvider (valueProvider ));
8479 }
8580
8681 @ Test
87- public void testValueProviderForEdgeCase_invalid () {
82+ void testValueProviderForEdgeCase_invalid () {
8883 Function <String , String > dummy = s -> "some-other" ;
8984 assertEquals (Config .DEFAULT_RESOLVER_TYPE , Config .fromValueProvider (dummy ));
9085
9186 dummy = s -> null ;
9287 assertEquals (Config .DEFAULT_RESOLVER_TYPE , Config .fromValueProvider (dummy ));
9388 }
9489
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+ }
95150}
0 commit comments