@@ -21,7 +21,6 @@ import (
21
21
22
22
"github.com/stretchr/testify/assert"
23
23
"github.com/stretchr/testify/require"
24
- "go.uber.org/zap"
25
24
26
25
"go.opentelemetry.io/collector/component"
27
26
"go.opentelemetry.io/collector/component/componenttest"
@@ -414,47 +413,40 @@ func TestDecodeConfig_Invalid(t *testing.T) {
414
413
expected configErrorCode // expected error (if nil any error is acceptable)
415
414
expectedMessage string // string that the error must contain
416
415
}{
417
- {name : "empty-config" },
418
- {name : "missing-all-sections" },
419
- {name : "missing-exporters" , expected : errMissingExporters },
420
- {name : "missing-receivers" , expected : errMissingReceivers },
421
- {name : "missing-processors" },
422
- {name : "invalid-extension-name" , expected : errExtensionNotExists },
423
- {name : "invalid-receiver-name" },
424
- {name : "invalid-receiver-reference" , expected : errPipelineReceiverNotExists },
425
- {name : "missing-extension-type" , expected : errInvalidTypeAndNameKey },
426
- {name : "missing-receiver-type" , expected : errInvalidTypeAndNameKey },
427
- {name : "missing-exporter-name-after-slash" , expected : errInvalidTypeAndNameKey },
428
- {name : "missing-processor-type" , expected : errInvalidTypeAndNameKey },
429
- {name : "missing-pipelines" , expected : errMissingPipelines },
430
- {name : "pipeline-must-have-exporter-logs" , expected : errPipelineMustHaveExporter },
431
- {name : "pipeline-must-have-exporter-metrics" , expected : errPipelineMustHaveExporter },
432
- {name : "pipeline-must-have-exporter-traces" , expected : errPipelineMustHaveExporter },
433
- {name : "pipeline-must-have-receiver-logs" , expected : errPipelineMustHaveReceiver },
434
- {name : "pipeline-must-have-receiver-metrics" , expected : errPipelineMustHaveReceiver },
435
- {name : "pipeline-must-have-receiver-traces" , expected : errPipelineMustHaveReceiver },
436
- {name : "pipeline-exporter-not-exists" , expected : errPipelineExporterNotExists },
437
- {name : "pipeline-processor-not-exists" , expected : errPipelineProcessorNotExists },
416
+ {name : "invalid-extension-type" , expected : errInvalidTypeAndNameKey },
417
+ {name : "invalid-receiver-type" , expected : errInvalidTypeAndNameKey },
418
+ {name : "invalid-exporter-type" , expected : errInvalidTypeAndNameKey },
419
+ {name : "invalid-processor-type" , expected : errInvalidTypeAndNameKey },
420
+ {name : "invalid-pipeline-type" , expected : errInvalidTypeAndNameKey },
421
+
422
+ {name : "invalid-extension-name-after-slash" , expected : errInvalidTypeAndNameKey },
423
+ {name : "invalid-receiver-name-after-slash" , expected : errInvalidTypeAndNameKey },
424
+ {name : "invalid-exporter-name-after-slash" , expected : errInvalidTypeAndNameKey },
425
+ {name : "invalid-processor-name-after-slash" , expected : errInvalidTypeAndNameKey },
426
+ {name : "invalid-pipeline-name-after-slash" , expected : errInvalidTypeAndNameKey },
427
+
438
428
{name : "unknown-extension-type" , expected : errUnknownType , expectedMessage : "extensions" },
439
429
{name : "unknown-receiver-type" , expected : errUnknownType , expectedMessage : "receivers" },
440
430
{name : "unknown-exporter-type" , expected : errUnknownType , expectedMessage : "exporters" },
441
431
{name : "unknown-processor-type" , expected : errUnknownType , expectedMessage : "processors" },
442
- {name : "invalid-service-extensions-value" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "service" },
443
- {name : "invalid-sequence-value" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "pipelines" },
444
- {name : "invalid-pipeline-type" , expected : errUnknownType , expectedMessage : "pipelines" },
445
- {name : "invalid-pipeline-type-and-name" , expected : errInvalidTypeAndNameKey },
432
+ {name : "unknown-pipeline-type" , expected : errUnknownType , expectedMessage : "pipelines" },
433
+
446
434
{name : "duplicate-extension" , expected : errDuplicateName , expectedMessage : "extensions" },
447
435
{name : "duplicate-receiver" , expected : errDuplicateName , expectedMessage : "receivers" },
448
436
{name : "duplicate-exporter" , expected : errDuplicateName , expectedMessage : "exporters" },
449
437
{name : "duplicate-processor" , expected : errDuplicateName , expectedMessage : "processors" },
450
438
{name : "duplicate-pipeline" , expected : errDuplicateName , expectedMessage : "pipelines" },
439
+
451
440
{name : "invalid-top-level-section" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "top level" },
452
441
{name : "invalid-extension-section" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "extensions" },
453
- {name : "invalid-service-section" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "service" },
454
442
{name : "invalid-receiver-section" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "receivers" },
455
443
{name : "invalid-processor-section" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "processors" },
456
444
{name : "invalid-exporter-section" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "exporters" },
445
+ {name : "invalid-service-section" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "service" },
446
+ {name : "invalid-service-extensions-section" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "service" },
457
447
{name : "invalid-pipeline-section" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "pipelines" },
448
+ {name : "invalid-sequence-value" , expected : errUnmarshalTopLevelStructureError , expectedMessage : "pipelines" },
449
+
458
450
{name : "invalid-extension-sub-config" , expected : errUnmarshalTopLevelStructureError },
459
451
{name : "invalid-exporter-sub-config" , expected : errUnmarshalTopLevelStructureError },
460
452
{name : "invalid-processor-sub-config" , expected : errUnmarshalTopLevelStructureError },
@@ -468,9 +460,8 @@ func TestDecodeConfig_Invalid(t *testing.T) {
468
460
for _ , test := range testCases {
469
461
t .Run (test .name , func (t * testing.T ) {
470
462
_ , err := loadConfigFile (t , path .Join ("." , "testdata" , test .name + ".yaml" ), factories )
471
- if err == nil {
472
- t .Error ("expected error but succeeded" )
473
- } else if test .expected != 0 {
463
+ require .Error (t , err )
464
+ if test .expected != 0 {
474
465
cfgErr , ok := err .(* configError )
475
466
if ! ok {
476
467
t .Errorf ("expected config error code %v but got a different error '%v'" , test .expected , err )
@@ -486,25 +477,19 @@ func TestDecodeConfig_Invalid(t *testing.T) {
486
477
}
487
478
}
488
479
489
- func TestLoadEmptyConfig (t * testing.T ) {
480
+ func TestLoadEmpty (t * testing.T ) {
490
481
factories , err := componenttest .ExampleComponents ()
491
482
assert .NoError (t , err )
492
483
493
- // Open the file for reading.
494
- file , err := os .Open (path .Join ("." , "testdata" , "empty-config.yaml" ))
495
- require .NoError (t , err )
496
-
497
- defer func () {
498
- require .NoError (t , file .Close ())
499
- }()
484
+ _ , err = loadConfigFile (t , path .Join ("." , "testdata" , "empty-config.yaml" ), factories )
485
+ assert .NoError (t , err )
486
+ }
500
487
501
- // Read yaml config from file
502
- v := NewViper ()
503
- v .SetConfigType ("yaml" )
504
- require .NoError (t , v .ReadConfig (file ))
488
+ func TestLoadEmptyAllSections (t * testing.T ) {
489
+ factories , err := componenttest .ExampleComponents ()
490
+ assert .NoError (t , err )
505
491
506
- // Load the config from viper using the given factories.
507
- _ , err = Load (v , factories )
492
+ _ , err = loadConfigFile (t , path .Join ("." , "testdata" , "empty-all-sections.yaml" ), factories )
508
493
assert .NoError (t , err )
509
494
}
510
495
@@ -515,11 +500,7 @@ func loadConfigFile(t *testing.T, fileName string, factories component.Factories
515
500
require .NoErrorf (t , v .ReadInConfig (), "unable to read the file %v" , fileName )
516
501
517
502
// Load the config from viper using the given factories.
518
- cfg , err := Load (v , factories )
519
- if err != nil {
520
- return nil , err
521
- }
522
- return cfg , ValidateConfig (cfg , zap .NewNop ())
503
+ return Load (v , factories )
523
504
}
524
505
525
506
type nestedConfig struct {
0 commit comments