@@ -1403,6 +1403,34 @@ func TestOpenTelemetryConfigurationSuccess(t *testing.T) {
1403
1403
expectedServiceName : "nginx-ingress-controller:nginx" ,
1404
1404
msg : "endpoint set, minimal config" ,
1405
1405
},
1406
+ {
1407
+ configMap : & v1.ConfigMap {
1408
+ Data : map [string ]string {
1409
+ "otel-exporter-endpoint" : "subdomain.goes.on.and.on.and.on.and.on.example.com" ,
1410
+ },
1411
+ },
1412
+ expectedLoadModule : true ,
1413
+ expectedExporterEndpoint : "subdomain.goes.on.and.on.and.on.and.on.example.com" ,
1414
+ expectedExporterHeaderName : "" ,
1415
+ expectedExporterHeaderValue : "" ,
1416
+ expectedServiceName : "" ,
1417
+ expectedTraceInHTTP : false ,
1418
+ msg : "endpoint set, complicated long subdomain" ,
1419
+ },
1420
+ {
1421
+ configMap : & v1.ConfigMap {
1422
+ Data : map [string ]string {
1423
+ "otel-exporter-endpoint" : "localhost:9933" ,
1424
+ },
1425
+ },
1426
+ expectedLoadModule : true ,
1427
+ expectedExporterEndpoint : "localhost:9933" ,
1428
+ expectedExporterHeaderName : "" ,
1429
+ expectedExporterHeaderValue : "" ,
1430
+ expectedServiceName : "" ,
1431
+ expectedTraceInHTTP : false ,
1432
+ msg : "endpoint set, hostname and port no scheme" ,
1433
+ },
1406
1434
{
1407
1435
configMap : & v1.ConfigMap {
1408
1436
Data : map [string ]string {
@@ -1595,6 +1623,76 @@ func TestOpenTelemetryConfigurationInvalid(t *testing.T) {
1595
1623
expectedTraceInHTTP : true ,
1596
1624
msg : "partially invalid, header name missing, trace in http set" ,
1597
1625
},
1626
+ {
1627
+ configMap : & v1.ConfigMap {
1628
+ Data : map [string ]string {
1629
+ "otel-exporter-endpoint" : "something?invalid*30here" ,
1630
+ },
1631
+ },
1632
+ expectedLoadModule : false ,
1633
+ expectedExporterEndpoint : "" ,
1634
+ expectedExporterHeaderName : "" ,
1635
+ expectedExporterHeaderValue : "" ,
1636
+ expectedServiceName : "" ,
1637
+ expectedTraceInHTTP : false ,
1638
+ msg : "invalid, endpoint does not look like a host" ,
1639
+ },
1640
+ {
1641
+ configMap : & v1.ConfigMap {
1642
+ Data : map [string ]string {
1643
+ "otel-exporter-endpoint" : "localhost:0" ,
1644
+ },
1645
+ },
1646
+ expectedLoadModule : false ,
1647
+ expectedExporterEndpoint : "localhost:0" ,
1648
+ expectedExporterHeaderName : "" ,
1649
+ expectedExporterHeaderValue : "" ,
1650
+ expectedServiceName : "" ,
1651
+ expectedTraceInHTTP : false ,
1652
+ msg : "invalid, port is outside of range down" ,
1653
+ },
1654
+ {
1655
+ configMap : & v1.ConfigMap {
1656
+ Data : map [string ]string {
1657
+ "otel-exporter-endpoint" : "localhost:99999" ,
1658
+ },
1659
+ },
1660
+ expectedLoadModule : false ,
1661
+ expectedExporterEndpoint : "" ,
1662
+ expectedExporterHeaderName : "" ,
1663
+ expectedExporterHeaderValue : "" ,
1664
+ expectedServiceName : "" ,
1665
+ expectedTraceInHTTP : false ,
1666
+ msg : "invalid, port is outside of range up" ,
1667
+ },
1668
+ {
1669
+ configMap : & v1.ConfigMap {
1670
+ Data : map [string ]string {
1671
+ "otel-exporter-endpoint" : "fe80::1" ,
1672
+ },
1673
+ },
1674
+ expectedLoadModule : false ,
1675
+ expectedExporterEndpoint : "" ,
1676
+ expectedExporterHeaderName : "" ,
1677
+ expectedExporterHeaderValue : "" ,
1678
+ expectedServiceName : "" ,
1679
+ expectedTraceInHTTP : false ,
1680
+ msg : "invalid, endpoint is an ipv6 address" ,
1681
+ },
1682
+ {
1683
+ configMap : & v1.ConfigMap {
1684
+ Data : map [string ]string {
1685
+ "otel-exporter-endpoint" : "thisisaverylongsubdomainthatexceedsatotalofsixtythreecharactersz.example.com" ,
1686
+ },
1687
+ },
1688
+ expectedLoadModule : false ,
1689
+ expectedExporterEndpoint : "" ,
1690
+ expectedExporterHeaderName : "" ,
1691
+ expectedExporterHeaderValue : "" ,
1692
+ expectedServiceName : "" ,
1693
+ expectedTraceInHTTP : false ,
1694
+ msg : "invalid, subdomain is more than 63 characters long" ,
1695
+ },
1598
1696
}
1599
1697
1600
1698
isPlus := false
0 commit comments