@@ -1166,16 +1166,17 @@ func TestParseZoneSyncResolverIPV6MapResolverIPV6(t *testing.T) {
1166
1166
func makeEventLogger () record.EventRecorder {
1167
1167
return record .NewFakeRecorder (1024 )
1168
1168
}
1169
-
1170
1169
func TestOpenTracingConfiguration (t * testing.T ) {
1171
1170
t .Parallel ()
1172
1171
tests := []struct {
1173
- configMap * v1.ConfigMap
1174
- enabled bool
1175
- loadModule bool
1176
- tracer string
1177
- tracerConfig string
1178
- msg string
1172
+ configMap * v1.ConfigMap
1173
+ isPlus bool
1174
+ expectedOpenTracingEnabled bool
1175
+ expectedLoadModule bool
1176
+ expectedTracer string
1177
+ expectedTracerConfig string
1178
+ expectedConfigOk bool
1179
+ msg string
1179
1180
}{
1180
1181
{
1181
1182
configMap : & v1.ConfigMap {
@@ -1185,11 +1186,42 @@ func TestOpenTracingConfiguration(t *testing.T) {
1185
1186
"opentracing-tracer-config" : "/etc/nginx/opentracing.json" ,
1186
1187
},
1187
1188
},
1188
- enabled : true ,
1189
- loadModule : true ,
1190
- tracer : "/usr/local/lib/libjaegertracing.so" ,
1191
- tracerConfig : "/etc/nginx/opentracing.json" ,
1192
- msg : "opentracing enabled" ,
1189
+ isPlus : false ,
1190
+ expectedOpenTracingEnabled : true ,
1191
+ expectedLoadModule : true ,
1192
+ expectedTracer : "/usr/local/lib/libjaegertracing.so" ,
1193
+ expectedTracerConfig : "/etc/nginx/opentracing.json" ,
1194
+ expectedConfigOk : true ,
1195
+ msg : "oss: opentracing enabled (valid)" ,
1196
+ },
1197
+ {
1198
+ configMap : & v1.ConfigMap {
1199
+ Data : map [string ]string {
1200
+ "opentracing" : "true" ,
1201
+ "opentracing-tracer" : "/usr/local/lib/libjaegertracing.so" ,
1202
+ },
1203
+ },
1204
+ isPlus : false ,
1205
+ expectedOpenTracingEnabled : false ,
1206
+ expectedLoadModule : false ,
1207
+ expectedTracer : "/usr/local/lib/libjaegertracing.so" ,
1208
+ expectedTracerConfig : "" ,
1209
+ expectedConfigOk : false ,
1210
+ msg : "oss: opentracing enabled, tracer-config not set (invalid)" ,
1211
+ },
1212
+ {
1213
+ configMap : & v1.ConfigMap {
1214
+ Data : map [string ]string {
1215
+ "opentracing" : "true" ,
1216
+ },
1217
+ },
1218
+ isPlus : false ,
1219
+ expectedOpenTracingEnabled : false ,
1220
+ expectedLoadModule : false ,
1221
+ expectedTracer : "" ,
1222
+ expectedTracerConfig : "" ,
1223
+ expectedConfigOk : false ,
1224
+ msg : "oss: opentracing enabled, tracer and tracer-config not set (invalid)" ,
1193
1225
},
1194
1226
{
1195
1227
configMap : & v1.ConfigMap {
@@ -1199,56 +1231,132 @@ func TestOpenTracingConfiguration(t *testing.T) {
1199
1231
"opentracing-tracer-config" : "/etc/nginx/opentracing.json" ,
1200
1232
},
1201
1233
},
1202
- enabled : false ,
1203
- loadModule : false ,
1204
- tracer : "" ,
1205
- tracerConfig : "" ,
1206
- msg : "opentracing disabled" ,
1234
+ isPlus : false ,
1235
+ expectedOpenTracingEnabled : false ,
1236
+ expectedLoadModule : false ,
1237
+ expectedTracer : "" ,
1238
+ expectedTracerConfig : "" ,
1239
+ expectedConfigOk : true ,
1240
+ msg : "oss: opentracing disabled, tracer and tracer-config set (valid)" ,
1207
1241
},
1208
1242
{
1209
1243
configMap : & v1.ConfigMap {
1210
1244
Data : map [string ]string {
1211
1245
"opentracing" : "false" ,
1212
1246
},
1213
1247
},
1214
- enabled : false ,
1215
- loadModule : false ,
1216
- tracer : "" ,
1217
- tracerConfig : "" ,
1218
- msg : "opentracing disabled" ,
1248
+ isPlus : false ,
1249
+ expectedOpenTracingEnabled : false ,
1250
+ expectedLoadModule : false ,
1251
+ expectedTracer : "" ,
1252
+ expectedTracerConfig : "" ,
1253
+ expectedConfigOk : true ,
1254
+ msg : "oss: opentracing disabled (valid)" ,
1255
+ },
1256
+ {
1257
+ configMap : & v1.ConfigMap {
1258
+ Data : map [string ]string {
1259
+ "opentracing" : "false" ,
1260
+ },
1261
+ },
1262
+ isPlus : true ,
1263
+ expectedOpenTracingEnabled : false ,
1264
+ expectedLoadModule : false ,
1265
+ expectedTracer : "" ,
1266
+ expectedTracerConfig : "" ,
1267
+ expectedConfigOk : true ,
1268
+ msg : "plus: opentracing explicitly disabled (valid)" ,
1269
+ },
1270
+ {
1271
+ configMap : & v1.ConfigMap {
1272
+ Data : map [string ]string {},
1273
+ },
1274
+ isPlus : true ,
1275
+ expectedOpenTracingEnabled : false ,
1276
+ expectedLoadModule : false ,
1277
+ expectedTracer : "" ,
1278
+ expectedTracerConfig : "" ,
1279
+ expectedConfigOk : true ,
1280
+ msg : "plus: no opentracing keys set (valid)" ,
1281
+ },
1282
+ {
1283
+ configMap : & v1.ConfigMap {
1284
+ Data : map [string ]string {
1285
+ "opentracing" : "false" ,
1286
+ "opentracing-tracer" : "/usr/local/lib/libjaegertracing.so" ,
1287
+ "opentracing-tracer-config" : "/etc/nginx/opentracing.json" ,
1288
+ },
1289
+ },
1290
+ isPlus : true ,
1291
+ expectedOpenTracingEnabled : false ,
1292
+ expectedLoadModule : false ,
1293
+ expectedTracer : "" ,
1294
+ expectedTracerConfig : "" ,
1295
+ expectedConfigOk : true ,
1296
+ msg : "plus: opentracing disabled, tracer and tracer-config set (valid)" ,
1297
+ },
1298
+ {
1299
+ configMap : & v1.ConfigMap {
1300
+ Data : map [string ]string {
1301
+ "opentracing" : "true" ,
1302
+ },
1303
+ },
1304
+ isPlus : true ,
1305
+ expectedOpenTracingEnabled : false ,
1306
+ expectedLoadModule : false ,
1307
+ expectedTracer : "" ,
1308
+ expectedTracerConfig : "" ,
1309
+ expectedConfigOk : false ,
1310
+ msg : "plus: opentracing enabled (invalid)" ,
1311
+ },
1312
+ {
1313
+ configMap : & v1.ConfigMap {
1314
+ Data : map [string ]string {
1315
+ "opentracing" : "true" ,
1316
+ "opentracing-tracer" : "/usr/local/lib/libjaegertracing.so" ,
1317
+ "opentracing-tracer-config" : "/etc/nginx/opentracing.json" ,
1318
+ },
1319
+ },
1320
+ isPlus : true ,
1321
+ expectedOpenTracingEnabled : false ,
1322
+ expectedLoadModule : false ,
1323
+ expectedTracer : "" ,
1324
+ expectedTracerConfig : "" ,
1325
+ expectedConfigOk : false ,
1326
+ msg : "plus: opentracing enabled, tracer and tracer-config set (invalid)" ,
1219
1327
},
1220
1328
}
1221
- nginxPlus := false
1329
+
1222
1330
hasAppProtect := false
1223
1331
hasAppProtectDos := false
1224
1332
hasTLSPassthrough := false
1225
1333
1226
1334
for _ , test := range tests {
1227
1335
t .Run (test .msg , func (t * testing.T ) {
1228
- result , configOk := ParseConfigMap (context .Background (), test .configMap , nginxPlus ,
1336
+ result , configOk := ParseConfigMap (context .Background (), test .configMap , test . isPlus ,
1229
1337
hasAppProtect , hasAppProtectDos , hasTLSPassthrough , makeEventLogger ())
1230
1338
1231
- if ! configOk {
1232
- t .Errorf ("Expected valid config , got invalid" )
1339
+ if configOk != test . expectedConfigOk {
1340
+ t .Errorf ("configOk: want %v , got %v" , test . expectedConfigOk , configOk )
1233
1341
}
1234
- if result .MainOpenTracingEnabled != test .enabled {
1342
+ if result .MainOpenTracingEnabled != test .expectedOpenTracingEnabled {
1235
1343
t .Errorf ("MainOpenTracingEnabled: want %v, got %v" ,
1236
- test .enabled , result .MainOpenTracingEnabled )
1344
+ test .expectedOpenTracingEnabled , result .MainOpenTracingEnabled )
1237
1345
}
1238
1346
1239
- if result .MainOpenTracingLoadModule != test .loadModule {
1347
+ if result .MainOpenTracingLoadModule != test .expectedLoadModule {
1240
1348
t .Errorf ("MainOpenTracingLoadModule: want %v, got %v" ,
1241
- test .loadModule , result .MainOpenTracingLoadModule )
1349
+ test .expectedLoadModule , result .MainOpenTracingLoadModule )
1242
1350
}
1243
1351
1244
- if result .MainOpenTracingTracer != test .tracer {
1352
+ if result .MainOpenTracingTracer != test .expectedTracer {
1245
1353
t .Errorf ("MainOpenTracingTracer: want %q, got %q" ,
1246
- test .tracer , result .MainOpenTracingTracer )
1354
+ test .expectedTracer , result .MainOpenTracingTracer )
1247
1355
}
1248
1356
1249
- if result .MainOpenTracingTracerConfig != test .tracerConfig {
1357
+ if result .MainOpenTracingTracerConfig != test .expectedTracerConfig {
1250
1358
t .Errorf ("MainOpenTracingTracerConfig: want %q, got %q" ,
1251
- test .tracerConfig , result .MainOpenTracingTracerConfig )
1359
+ test .expectedTracerConfig , result .MainOpenTracingTracerConfig )
1252
1360
}
1253
1361
})
1254
1362
}
0 commit comments