@@ -771,6 +771,62 @@ func addLogsScraper(t component.Type, sc scraper.Logs) ControllerOption {
771771 return AddFactoryWithConfig (f , nil )
772772}
773773
774+ func TestAddScraper (t * testing.T ) {
775+ t .Parallel ()
776+
777+ // AddScraper is deprecated but must continue to work identically to AddMetricsScraper.
778+ scp , err := scraper .NewMetrics (func (context.Context ) (pmetric.Metrics , error ) {
779+ return pmetric .NewMetrics (), nil
780+ })
781+ require .NoError (t , err )
782+
783+ recv , err := NewMetricsController (
784+ newTestNoDelaySettings (),
785+ receivertest .NewNopSettings (receivertest .NopType ),
786+ new (consumertest.MetricsSink ),
787+ AddScraper (component .MustNewType ("scraper" ), scp ), //nolint:staticcheck
788+ )
789+ require .NoError (t , err )
790+ require .NoError (t , recv .Start (context .Background (), componenttest .NewNopHost ()))
791+ require .NoError (t , recv .Shutdown (context .Background ()))
792+ }
793+
794+ func TestNewLogsControllerCreateLogsError (t * testing.T ) {
795+ t .Parallel ()
796+
797+ createErr := errors .New ("create logs failed" )
798+ f := scraper .NewFactory (component .MustNewType ("scraper" ), nil ,
799+ scraper .WithLogs (func (context.Context , scraper.Settings , component.Config ) (scraper.Logs , error ) {
800+ return nil , createErr
801+ }, component .StabilityLevelAlpha ))
802+
803+ _ , err := NewLogsController (
804+ newTestNoDelaySettings (),
805+ receivertest .NewNopSettings (receivertest .NopType ),
806+ new (consumertest.LogsSink ),
807+ AddFactoryWithConfig (f , nil ),
808+ )
809+ require .ErrorIs (t , err , createErr )
810+ }
811+
812+ func TestNewMetricsControllerCreateMetricsError (t * testing.T ) {
813+ t .Parallel ()
814+
815+ createErr := errors .New ("create metrics failed" )
816+ f := scraper .NewFactory (component .MustNewType ("scraper" ), nil ,
817+ scraper .WithMetrics (func (context.Context , scraper.Settings , component.Config ) (scraper.Metrics , error ) {
818+ return nil , createErr
819+ }, component .StabilityLevelAlpha ))
820+
821+ _ , err := NewMetricsController (
822+ newTestNoDelaySettings (),
823+ receivertest .NewNopSettings (receivertest .NopType ),
824+ new (consumertest.MetricsSink ),
825+ AddFactoryWithConfig (f , nil ),
826+ )
827+ require .ErrorIs (t , err , createErr )
828+ }
829+
774830func TestNewDefaultControllerConfig (t * testing.T ) {
775831 controllerConfig := NewDefaultControllerConfig ()
776832 intControllerConfig := controller .NewDefaultControllerConfig ()
0 commit comments