@@ -14,11 +14,11 @@ import (
1414 "tailscale.com/util/syspolicy/setting"
1515)
1616
17- func TestKeyToVariableName (t * testing.T ) {
17+ func TestKeyToEnvVarName (t * testing.T ) {
1818 tests := []struct {
1919 name string
2020 key setting.Key
21- want string
21+ want string // suffix after "TS_DEBUGSYSPOLICY_"
2222 wantErr error
2323 }{
2424 {
@@ -29,87 +29,87 @@ func TestKeyToVariableName(t *testing.T) {
2929 {
3030 name : "lowercase" ,
3131 key : "tailnet" ,
32- want : "TS_TAILNET " ,
32+ want : "TAILNET " ,
3333 },
3434 {
3535 name : "CamelCase" ,
3636 key : "AuthKey" ,
37- want : "TS_AUTH_KEY " ,
37+ want : "AUTH_KEY " ,
3838 },
3939 {
4040 name : "LongerCamelCase" ,
4141 key : "ManagedByOrganizationName" ,
42- want : "TS_MANAGED_BY_ORGANIZATION_NAME " ,
42+ want : "MANAGED_BY_ORGANIZATION_NAME " ,
4343 },
4444 {
4545 name : "UPPERCASE" ,
4646 key : "UPPERCASE" ,
47- want : "TS_UPPERCASE " ,
47+ want : "UPPERCASE " ,
4848 },
4949 {
5050 name : "WithAbbrev/Front" ,
5151 key : "DNSServer" ,
52- want : "TS_DNS_SERVER " ,
52+ want : "DNS_SERVER " ,
5353 },
5454 {
5555 name : "WithAbbrev/Middle" ,
5656 key : "ExitNodeAllowLANAccess" ,
57- want : "TS_EXIT_NODE_ALLOW_LAN_ACCESS " ,
57+ want : "EXIT_NODE_ALLOW_LAN_ACCESS " ,
5858 },
5959 {
6060 name : "WithAbbrev/Back" ,
6161 key : "ExitNodeID" ,
62- want : "TS_EXIT_NODE_ID " ,
62+ want : "EXIT_NODE_ID " ,
6363 },
6464 {
6565 name : "WithDigits/Single/Front" ,
6666 key : "0TestKey" ,
67- want : "TS_0_TEST_KEY " ,
67+ want : "0_TEST_KEY " ,
6868 },
6969 {
7070 name : "WithDigits/Multi/Front" ,
7171 key : "64TestKey" ,
72- want : "TS_64_TEST_KEY " ,
72+ want : "64_TEST_KEY " ,
7373 },
7474 {
7575 name : "WithDigits/Single/Middle" ,
7676 key : "Test0Key" ,
77- want : "TS_TEST_0_KEY " ,
77+ want : "TEST_0_KEY " ,
7878 },
7979 {
8080 name : "WithDigits/Multi/Middle" ,
8181 key : "Test64Key" ,
82- want : "TS_TEST_64_KEY " ,
82+ want : "TEST_64_KEY " ,
8383 },
8484 {
8585 name : "WithDigits/Single/Back" ,
8686 key : "TestKey0" ,
87- want : "TS_TEST_KEY_0 " ,
87+ want : "TEST_KEY_0 " ,
8888 },
8989 {
9090 name : "WithDigits/Multi/Back" ,
9191 key : "TestKey64" ,
92- want : "TS_TEST_KEY_64 " ,
92+ want : "TEST_KEY_64 " ,
9393 },
9494 {
9595 name : "WithDigits/Multi/Back" ,
9696 key : "TestKey64" ,
97- want : "TS_TEST_KEY_64 " ,
97+ want : "TEST_KEY_64 " ,
9898 },
9999 {
100100 name : "WithPathSeparators/Single" ,
101101 key : "Key/Subkey" ,
102- want : "TS_KEY_SUBKEY " ,
102+ want : "KEY_SUBKEY " ,
103103 },
104104 {
105105 name : "WithPathSeparators/Multi" ,
106106 key : "Root/Level1/Level2" ,
107- want : "TS_ROOT_LEVEL_1_LEVEL_2 " ,
107+ want : "ROOT_LEVEL_1_LEVEL_2 " ,
108108 },
109109 {
110110 name : "Mixed" ,
111111 key : "Network/DNSServer/IPAddress" ,
112- want : "TS_NETWORK_DNS_SERVER_IP_ADDRESS " ,
112+ want : "NETWORK_DNS_SERVER_IP_ADDRESS " ,
113113 },
114114 {
115115 name : "Non-Alphanumeric/NonASCII/1" ,
@@ -142,8 +142,12 @@ func TestKeyToVariableName(t *testing.T) {
142142 got , err := keyToEnvVarName (tt .key )
143143 checkError (t , err , tt .wantErr , true )
144144
145- if got != tt .want {
146- t .Fatalf ("got %q; want %q" , got , tt .want )
145+ want := tt .want
146+ if want != "" {
147+ want = "TS_DEBUGSYSPOLICY_" + want
148+ }
149+ if got != want {
150+ t .Fatalf ("got %q; want %q" , got , want )
147151 }
148152 })
149153 }
@@ -152,6 +156,7 @@ func TestKeyToVariableName(t *testing.T) {
152156func TestEnvPolicyStore (t * testing.T ) {
153157 blankEnv := func (string ) (string , bool ) { return "" , false }
154158 makeEnv := func (wantName , value string ) func (string ) (string , bool ) {
159+ wantName = "TS_DEBUGSYSPOLICY_" + wantName
155160 return func (gotName string ) (string , bool ) {
156161 if gotName != wantName {
157162 return "" , false
@@ -176,13 +181,13 @@ func TestEnvPolicyStore(t *testing.T) {
176181 {
177182 name : "Configured/String/Empty" ,
178183 key : "AuthKey" ,
179- lookup : makeEnv ("TS_AUTH_KEY " , "" ),
184+ lookup : makeEnv ("AUTH_KEY " , "" ),
180185 want : "" ,
181186 },
182187 {
183188 name : "Configured/String/NonEmpty" ,
184189 key : "AuthKey" ,
185- lookup : makeEnv ("TS_AUTH_KEY " , "ABC123" ),
190+ lookup : makeEnv ("AUTH_KEY " , "ABC123" ),
186191 want : "ABC123" ,
187192 },
188193 {
@@ -195,39 +200,39 @@ func TestEnvPolicyStore(t *testing.T) {
195200 {
196201 name : "Configured/UInt64/Empty" ,
197202 key : "IntegerSetting" ,
198- lookup : makeEnv ("TS_INTEGER_SETTING " , "" ),
203+ lookup : makeEnv ("INTEGER_SETTING " , "" ),
199204 wantErr : setting .ErrNotConfigured ,
200205 want : uint64 (0 ),
201206 },
202207 {
203208 name : "Configured/UInt64/Zero" ,
204209 key : "IntegerSetting" ,
205- lookup : makeEnv ("TS_INTEGER_SETTING " , "0" ),
210+ lookup : makeEnv ("INTEGER_SETTING " , "0" ),
206211 want : uint64 (0 ),
207212 },
208213 {
209214 name : "Configured/UInt64/NonZero" ,
210215 key : "IntegerSetting" ,
211- lookup : makeEnv ("TS_INTEGER_SETTING " , "12345" ),
216+ lookup : makeEnv ("INTEGER_SETTING " , "12345" ),
212217 want : uint64 (12345 ),
213218 },
214219 {
215220 name : "Configured/UInt64/MaxUInt64" ,
216221 key : "IntegerSetting" ,
217- lookup : makeEnv ("TS_INTEGER_SETTING " , strconv .FormatUint (math .MaxUint64 , 10 )),
222+ lookup : makeEnv ("INTEGER_SETTING " , strconv .FormatUint (math .MaxUint64 , 10 )),
218223 want : uint64 (math .MaxUint64 ),
219224 },
220225 {
221226 name : "Configured/UInt64/Negative" ,
222227 key : "IntegerSetting" ,
223- lookup : makeEnv ("TS_INTEGER_SETTING " , "-1" ),
228+ lookup : makeEnv ("INTEGER_SETTING " , "-1" ),
224229 wantErr : setting .ErrTypeMismatch ,
225230 want : uint64 (0 ),
226231 },
227232 {
228233 name : "Configured/UInt64/Hex" ,
229234 key : "IntegerSetting" ,
230- lookup : makeEnv ("TS_INTEGER_SETTING " , "0xDEADBEEF" ),
235+ lookup : makeEnv ("INTEGER_SETTING " , "0xDEADBEEF" ),
231236 want : uint64 (0xDEADBEEF ),
232237 },
233238 {
@@ -240,38 +245,38 @@ func TestEnvPolicyStore(t *testing.T) {
240245 {
241246 name : "Configured/Bool/Empty" ,
242247 key : "LogSCMInteractions" ,
243- lookup : makeEnv ("TS_LOG_SCM_INTERACTIONS " , "" ),
248+ lookup : makeEnv ("LOG_SCM_INTERACTIONS " , "" ),
244249 wantErr : setting .ErrNotConfigured ,
245250 want : false ,
246251 },
247252 {
248253 name : "Configured/Bool/True" ,
249254 key : "LogSCMInteractions" ,
250- lookup : makeEnv ("TS_LOG_SCM_INTERACTIONS " , "true" ),
255+ lookup : makeEnv ("LOG_SCM_INTERACTIONS " , "true" ),
251256 want : true ,
252257 },
253258 {
254259 name : "Configured/Bool/False" ,
255260 key : "LogSCMInteractions" ,
256- lookup : makeEnv ("TS_LOG_SCM_INTERACTIONS " , "False" ),
261+ lookup : makeEnv ("LOG_SCM_INTERACTIONS " , "False" ),
257262 want : false ,
258263 },
259264 {
260265 name : "Configured/Bool/1" ,
261266 key : "LogSCMInteractions" ,
262- lookup : makeEnv ("TS_LOG_SCM_INTERACTIONS " , "1" ),
267+ lookup : makeEnv ("LOG_SCM_INTERACTIONS " , "1" ),
263268 want : true ,
264269 },
265270 {
266271 name : "Configured/Bool/0" ,
267272 key : "LogSCMInteractions" ,
268- lookup : makeEnv ("TS_LOG_SCM_INTERACTIONS " , "0" ),
273+ lookup : makeEnv ("LOG_SCM_INTERACTIONS " , "0" ),
269274 want : false ,
270275 },
271276 {
272277 name : "Configured/Bool/Invalid" ,
273278 key : "IntegerSetting" ,
274- lookup : makeEnv ("TS_INTEGER_SETTING " , "NotABool" ),
279+ lookup : makeEnv ("INTEGER_SETTING " , "NotABool" ),
275280 wantErr : setting .ErrTypeMismatch ,
276281 want : false ,
277282 },
@@ -285,31 +290,31 @@ func TestEnvPolicyStore(t *testing.T) {
285290 {
286291 name : "Configured/StringArray/Empty" ,
287292 key : "AllowedSuggestedExitNodes" ,
288- lookup : makeEnv ("TS_ALLOWED_SUGGESTED_EXIT_NODES " , "" ),
293+ lookup : makeEnv ("ALLOWED_SUGGESTED_EXIT_NODES " , "" ),
289294 want : []string (nil ),
290295 },
291296 {
292297 name : "Configured/StringArray/Spaces" ,
293298 key : "AllowedSuggestedExitNodes" ,
294- lookup : makeEnv ("TS_ALLOWED_SUGGESTED_EXIT_NODES " , " \t " ),
299+ lookup : makeEnv ("ALLOWED_SUGGESTED_EXIT_NODES " , " \t " ),
295300 want : []string {},
296301 },
297302 {
298303 name : "Configured/StringArray/Single" ,
299304 key : "AllowedSuggestedExitNodes" ,
300- lookup : makeEnv ("TS_ALLOWED_SUGGESTED_EXIT_NODES " , "NodeA" ),
305+ lookup : makeEnv ("ALLOWED_SUGGESTED_EXIT_NODES " , "NodeA" ),
301306 want : []string {"NodeA" },
302307 },
303308 {
304309 name : "Configured/StringArray/Multi" ,
305310 key : "AllowedSuggestedExitNodes" ,
306- lookup : makeEnv ("TS_ALLOWED_SUGGESTED_EXIT_NODES " , "NodeA,NodeB,NodeC" ),
311+ lookup : makeEnv ("ALLOWED_SUGGESTED_EXIT_NODES " , "NodeA,NodeB,NodeC" ),
307312 want : []string {"NodeA" , "NodeB" , "NodeC" },
308313 },
309314 {
310315 name : "Configured/StringArray/WithBlank" ,
311316 key : "AllowedSuggestedExitNodes" ,
312- lookup : makeEnv ("TS_ALLOWED_SUGGESTED_EXIT_NODES " , "NodeA,\t ,, ,NodeB" ),
317+ lookup : makeEnv ("ALLOWED_SUGGESTED_EXIT_NODES " , "NodeA,\t ,, ,NodeB" ),
313318 want : []string {"NodeA" , "NodeB" },
314319 },
315320 }
0 commit comments