1
+ using System ;
1
2
using Xunit ;
2
3
3
4
namespace OpenFeature . Contrib . Providers . Flagd . Test
@@ -11,36 +12,36 @@ public void TestFlagdConfigDefault()
11
12
var config = new FlagdConfig ( ) ;
12
13
13
14
Assert . False ( config . CacheEnabled ) ;
14
- Assert . Equal ( new System . Uri ( "http://localhost:8013" ) , config . GetUri ( ) ) ;
15
+ Assert . Equal ( new Uri ( "http://localhost:8013" ) , config . GetUri ( ) ) ;
15
16
}
16
17
17
18
[ Fact ]
18
19
public void TestFlagdConfigUseTLS ( )
19
20
{
20
21
CleanEnvVars ( ) ;
21
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarTLS , "true" ) ;
22
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarTLS , "true" ) ;
22
23
23
24
var config = new FlagdConfig ( ) ;
24
25
25
- Assert . Equal ( new System . Uri ( "https://localhost:8013" ) , config . GetUri ( ) ) ;
26
+ Assert . Equal ( new Uri ( "https://localhost:8013" ) , config . GetUri ( ) ) ;
26
27
}
27
28
28
29
[ Fact ]
29
30
public void TestFlagdConfigUnixSocket ( )
30
31
{
31
32
CleanEnvVars ( ) ;
32
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarSocketPath , "tmp.sock" ) ;
33
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarSocketPath , "tmp.sock" ) ;
33
34
34
35
var config = new FlagdConfig ( ) ;
35
36
36
- Assert . Equal ( new System . Uri ( "unix://tmp.sock/" ) , config . GetUri ( ) ) ;
37
+ Assert . Equal ( new Uri ( "unix://tmp.sock/" ) , config . GetUri ( ) ) ;
37
38
}
38
39
39
40
[ Fact ]
40
41
public void TestFlagdConfigEnabledCacheDefaultCacheSize ( )
41
42
{
42
43
CleanEnvVars ( ) ;
43
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarCache , "LRU" ) ;
44
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarCache , "LRU" ) ;
44
45
45
46
var config = new FlagdConfig ( ) ;
46
47
@@ -52,8 +53,8 @@ public void TestFlagdConfigEnabledCacheDefaultCacheSize()
52
53
public void TestFlagdConfigEnabledCacheApplyCacheSize ( )
53
54
{
54
55
CleanEnvVars ( ) ;
55
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarCache , "LRU" ) ;
56
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarMaxCacheSize , "20" ) ;
56
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarCache , "LRU" ) ;
57
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarMaxCacheSize , "20" ) ;
57
58
58
59
var config = new FlagdConfig ( ) ;
59
60
@@ -65,7 +66,7 @@ public void TestFlagdConfigEnabledCacheApplyCacheSize()
65
66
public void TestFlagdConfigSetCertificatePath ( )
66
67
{
67
68
CleanEnvVars ( ) ;
68
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvCertPart , "/cert/path" ) ;
69
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvCertPart , "/cert/path" ) ;
69
70
70
71
var config = new FlagdConfig ( ) ;
71
72
@@ -80,13 +81,87 @@ public void TestFlagdConfigSetCertificatePath()
80
81
Assert . False ( config . UseCertificate ) ;
81
82
}
82
83
84
+ [ Fact ]
85
+ public void TestFlagdConfigFromUriHttp ( )
86
+ {
87
+ CleanEnvVars ( ) ;
88
+ var config = new FlagdConfig ( new Uri ( "http://domain:8123" ) ) ;
89
+
90
+ Assert . False ( config . CacheEnabled ) ;
91
+ Assert . Equal ( new Uri ( "http://domain:8123" ) , config . GetUri ( ) ) ;
92
+ }
93
+
94
+ [ Fact ]
95
+ public void TestFlagdConfigFromUriHttps ( )
96
+ {
97
+ CleanEnvVars ( ) ;
98
+ var config = new FlagdConfig ( new Uri ( "https://domain:8123" ) ) ;
99
+
100
+ Assert . False ( config . CacheEnabled ) ;
101
+ Assert . Equal ( new Uri ( "https://domain:8123" ) , config . GetUri ( ) ) ;
102
+ }
103
+
104
+ [ Fact ]
105
+ public void TestFlagdConfigFromUriUnix ( )
106
+ {
107
+ CleanEnvVars ( ) ;
108
+ var config = new FlagdConfig ( new Uri ( "unix:///var/run/tmp.sock" ) ) ;
109
+
110
+ Assert . False ( config . CacheEnabled ) ;
111
+ Assert . Equal ( new Uri ( "unix:///var/run/tmp.sock" ) , config . GetUri ( ) ) ;
112
+ }
113
+
114
+ [ Fact ]
115
+ public void TestFlagdConfigFromUriSetCertificatePath ( )
116
+ {
117
+ CleanEnvVars ( ) ;
118
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvCertPart , "/cert/path" ) ;
119
+
120
+ var config = new FlagdConfig ( new Uri ( "http://localhost:8013" ) ) ;
121
+
122
+ Assert . Equal ( "/cert/path" , config . CertificatePath ) ;
123
+ Assert . True ( config . UseCertificate ) ;
124
+
125
+ CleanEnvVars ( ) ;
126
+
127
+ config = new FlagdConfig ( new Uri ( "http://localhost:8013" ) ) ;
128
+
129
+ Assert . Equal ( "" , config . CertificatePath ) ;
130
+ Assert . False ( config . UseCertificate ) ;
131
+ }
132
+
133
+ [ Fact ]
134
+ public void TestFlagdConfigFromUriEnabledCacheDefaultCacheSize ( )
135
+ {
136
+ CleanEnvVars ( ) ;
137
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarCache , "LRU" ) ;
138
+
139
+ var config = new FlagdConfig ( new Uri ( "http://localhost:8013" ) ) ;
140
+
141
+ Assert . True ( config . CacheEnabled ) ;
142
+ Assert . Equal ( FlagdConfig . CacheSizeDefault , config . MaxCacheSize ) ;
143
+ }
144
+
145
+ [ Fact ]
146
+ public void TestFlagdConfigFromUriEnabledCacheApplyCacheSize ( )
147
+ {
148
+ CleanEnvVars ( ) ;
149
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarCache , "LRU" ) ;
150
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarMaxCacheSize , "20" ) ;
151
+
152
+ var config = new FlagdConfig ( new Uri ( "http://localhost:8013" ) ) ;
153
+
154
+ Assert . True ( config . CacheEnabled ) ;
155
+ Assert . Equal ( 20 , config . MaxCacheSize ) ;
156
+ }
157
+
83
158
private void CleanEnvVars ( )
84
159
{
85
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarTLS , "" ) ;
86
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarSocketPath , "" ) ;
87
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarCache , "" ) ;
88
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarMaxCacheSize , "" ) ;
89
- System . Environment . SetEnvironmentVariable ( FlagdConfig . EnvCertPart , "" ) ;
160
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarTLS , "" ) ;
161
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarSocketPath , "" ) ;
162
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarCache , "" ) ;
163
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvVarMaxCacheSize , "" ) ;
164
+ Environment . SetEnvironmentVariable ( FlagdConfig . EnvCertPart , "" ) ;
90
165
}
91
166
}
92
- }
167
+ }
0 commit comments