@@ -824,14 +824,13 @@ func TestGraphBuildErrors(t *testing.T) {
824
824
badConnectorFactory := newBadConnectorFactory ()
825
825
826
826
tests := []struct {
827
- name string
828
- receiverCfgs map [component.ID ]component.Config
829
- processorCfgs map [component.ID ]component.Config
830
- exporterCfgs map [component.ID ]component.Config
831
- connectorCfgs map [component.ID ]component.Config
832
- pipelineCfgs map [component.ID ]* PipelineConfig
833
- expected string
834
- expectedStartsWith string
827
+ name string
828
+ receiverCfgs map [component.ID ]component.Config
829
+ processorCfgs map [component.ID ]component.Config
830
+ exporterCfgs map [component.ID ]component.Config
831
+ connectorCfgs map [component.ID ]component.Config
832
+ pipelineCfgs map [component.ID ]* PipelineConfig
833
+ expected string
835
834
}{
836
835
{
837
836
name : "not_supported_exporter_logs" ,
@@ -1217,7 +1216,10 @@ func TestGraphBuildErrors(t *testing.T) {
1217
1216
Exporters : []component.ID {component .NewIDWithName ("nop" , "conn" )},
1218
1217
},
1219
1218
},
1220
- expectedStartsWith : "topo: no topological ordering: cyclic components:" ,
1219
+ expected : `cycle detected: ` +
1220
+ `connector "nop/conn" (traces to traces) -> ` +
1221
+ `processor "nop" in pipeline "traces" -> ` +
1222
+ `connector "nop/conn" (traces to traces)` ,
1221
1223
},
1222
1224
{
1223
1225
name : "not_allowed_simple_cycle_metrics.yaml" ,
@@ -1240,7 +1242,10 @@ func TestGraphBuildErrors(t *testing.T) {
1240
1242
Exporters : []component.ID {component .NewIDWithName ("nop" , "conn" )},
1241
1243
},
1242
1244
},
1243
- expectedStartsWith : "topo: no topological ordering: cyclic components:" ,
1245
+ expected : `cycle detected: ` +
1246
+ `connector "nop/conn" (metrics to metrics) -> ` +
1247
+ `processor "nop" in pipeline "metrics" -> ` +
1248
+ `connector "nop/conn" (metrics to metrics)` ,
1244
1249
},
1245
1250
{
1246
1251
name : "not_allowed_simple_cycle_logs.yaml" ,
@@ -1263,7 +1268,10 @@ func TestGraphBuildErrors(t *testing.T) {
1263
1268
Exporters : []component.ID {component .NewIDWithName ("nop" , "conn" )},
1264
1269
},
1265
1270
},
1266
- expectedStartsWith : "topo: no topological ordering: cyclic components:" ,
1271
+ expected : `cycle detected: ` +
1272
+ `connector "nop/conn" (logs to logs) -> ` +
1273
+ `processor "nop" in pipeline "logs" -> ` +
1274
+ `connector "nop/conn" (logs to logs)` ,
1267
1275
},
1268
1276
{
1269
1277
name : "not_allowed_deep_cycle_traces.yaml" ,
@@ -1303,8 +1311,12 @@ func TestGraphBuildErrors(t *testing.T) {
1303
1311
Exporters : []component.ID {component .NewID ("nop" )},
1304
1312
},
1305
1313
},
1306
- expectedStartsWith : "topo: no topological ordering: cyclic components:" ,
1307
- // TODO rebuild cycle in order
1314
+ expected : `cycle detected: ` +
1315
+ `connector "nop/conn1" (traces to traces) -> ` +
1316
+ `processor "nop" in pipeline "traces/2" -> ` +
1317
+ `connector "nop/conn" (traces to traces) -> ` +
1318
+ `processor "nop" in pipeline "traces/1" -> ` +
1319
+ `connector "nop/conn1" (traces to traces)` ,
1308
1320
},
1309
1321
{
1310
1322
name : "not_allowed_deep_cycle_metrics.yaml" ,
@@ -1344,8 +1356,12 @@ func TestGraphBuildErrors(t *testing.T) {
1344
1356
Exporters : []component.ID {component .NewID ("nop" )},
1345
1357
},
1346
1358
},
1347
- expectedStartsWith : "topo: no topological ordering: cyclic components:" ,
1348
- // TODO rebuild cycle in order
1359
+ expected : `cycle detected: ` +
1360
+ `connector "nop/conn1" (metrics to metrics) -> ` +
1361
+ `processor "nop" in pipeline "metrics/2" -> ` +
1362
+ `connector "nop/conn" (metrics to metrics) -> ` +
1363
+ `processor "nop" in pipeline "metrics/1" -> ` +
1364
+ `connector "nop/conn1" (metrics to metrics)` ,
1349
1365
},
1350
1366
{
1351
1367
name : "not_allowed_deep_cycle_logs.yaml" ,
@@ -1385,8 +1401,12 @@ func TestGraphBuildErrors(t *testing.T) {
1385
1401
Exporters : []component.ID {component .NewID ("nop" )},
1386
1402
},
1387
1403
},
1388
- expectedStartsWith : "topo: no topological ordering: cyclic components:" ,
1389
- // TODO rebuild cycle in order
1404
+ expected : `cycle detected: ` +
1405
+ `connector "nop/conn1" (logs to logs) -> ` +
1406
+ `processor "nop" in pipeline "logs/2" -> ` +
1407
+ `connector "nop/conn" (logs to logs) -> ` +
1408
+ `processor "nop" in pipeline "logs/1" -> ` +
1409
+ `connector "nop/conn1" (logs to logs)` ,
1390
1410
},
1391
1411
{
1392
1412
name : "not_allowed_deep_cycle_multi_signal.yaml" ,
@@ -1442,7 +1462,14 @@ func TestGraphBuildErrors(t *testing.T) {
1442
1462
Exporters : []component.ID {component .NewIDWithName ("nop" , "fork" )}, // cannot loop back to "nop/fork"
1443
1463
},
1444
1464
},
1445
- expected : "topo: no topological ordering: 12 nodes in 1 cyclic components" ,
1465
+ expected : `cycle detected: ` +
1466
+ `connector "nop/rawlog" (traces to logs) -> ` +
1467
+ `processor "nop" in pipeline "logs/raw" -> ` +
1468
+ `connector "nop/fork" (logs to traces) -> ` +
1469
+ `processor "nop" in pipeline "traces/copy2" -> ` +
1470
+ `connector "nop/forkagain" (traces to traces) -> ` +
1471
+ `processor "nop" in pipeline "traces/copy2b" -> ` +
1472
+ `connector "nop/rawlog" (traces to logs)` ,
1446
1473
},
1447
1474
{
1448
1475
name : "unknown_exporter_config" ,
@@ -1605,12 +1632,7 @@ func TestGraphBuildErrors(t *testing.T) {
1605
1632
PipelineConfigs : test .pipelineCfgs ,
1606
1633
}
1607
1634
_ , err := buildPipelinesGraph (context .Background (), set )
1608
- if test .expected != "" {
1609
- assert .EqualError (t , err , test .expected )
1610
- } else {
1611
- assert .Error (t , err )
1612
- assert .Contains (t , err .Error (), test .expectedStartsWith )
1613
- }
1635
+ assert .EqualError (t , err , test .expected )
1614
1636
})
1615
1637
}
1616
1638
}
0 commit comments