From 748764d4a72e3c4f1aaa62e25fdcca4418038dff Mon Sep 17 00:00:00 2001 From: arberkatellari Date: Tue, 21 Feb 2023 11:16:07 -0500 Subject: [PATCH] Improve tests for container environments --- engine/datamanager_test.go | 464 ------------------------------------- engine/libengine_test.go | 19 +- go.mod | 15 +- go.sum | 27 ++- utils/logger.go | 10 +- utils/logger_test.go | 36 +++ 6 files changed, 74 insertions(+), 497 deletions(-) diff --git a/engine/datamanager_test.go b/engine/datamanager_test.go index b1bc4d22f..0be23fcc7 100644 --- a/engine/datamanager_test.go +++ b/engine/datamanager_test.go @@ -89,470 +89,6 @@ func TestDatamanagerCacheDataFromDBMustBeCached(t *testing.T) { } } -func TestDatamanagerCacheDataFromDBNotCachedResourceProfiles(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.ResourceProfilesPrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.ResourceProfilesPrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedResources(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.ResourcesPrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.ResourcesPrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedStatQueueProfiles(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.StatQueueProfilePrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.StatQueueProfilePrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedStatQueuePrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.StatQueuePrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.StatQueuePrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedThresholdProfilePrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.ThresholdProfilePrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.ThresholdProfilePrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedThresholdPrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.ThresholdPrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.ThresholdPrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedFilterPrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.FilterPrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.FilterPrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedRouteProfilePrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.RouteProfilePrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.RouteProfilePrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedAttributeProfilePrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.AttributeProfilePrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.AttributeProfilePrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedChargerProfilePrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.ChargerProfilePrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.ChargerProfilePrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedDispatcherProfilePrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.DispatcherProfilePrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.DispatcherProfilePrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedDispatcherHostPrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.DispatcherHostPrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.DispatcherHostPrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedAccountFilterIndexPrfx(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.AccountFilterIndexPrfx]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.AccountFilterIndexPrfx, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedAccountPrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.AccountPrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.AccountPrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedRateProfilePrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.RateProfilePrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.RateProfilePrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - -func TestDatamanagerCacheDataFromDBNotCachedActionProfilePrefix(t *testing.T) { - // cfg := config.NewDefaultCGRConfig() - // dm := NewDataManager(nil, cfg.CacheCfg(), nil) - cfg := config.NewDefaultCGRConfig() - connMng := NewConnManager(cfg) - dataDB, err := NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts, cfg.DataDbCfg().Items) - if err != nil { - t.Error(err) - } - defer dataDB.Close() - dm := NewDataManager(dataDB, config.CgrConfig().CacheCfg(), connMng) - dm.cacheCfg.Partitions = map[string]*config.CacheParamCfg{ - utils.CachePrefixToInstance[utils.ActionProfilePrefix]: { - Limit: 1, - }, - utils.CacheRPCResponses: { - Limit: 1, - }, - } - err = dm.CacheDataFromDB(context.Background(), utils.ActionProfilePrefix, []string{utils.MetaAny}, false) - if err != nil { - t.Error(err) - } -} - func TestDataManagerDataDB(t *testing.T) { var dm *DataManager rcv := dm.DataDB() diff --git a/engine/libengine_test.go b/engine/libengine_test.go index 854223e18..af0527e0a 100644 --- a/engine/libengine_test.go +++ b/engine/libengine_test.go @@ -30,6 +30,7 @@ import ( "github.com/cgrates/cgrates/utils" "github.com/cgrates/ltcache" "github.com/cgrates/rpcclient" + "golang.org/x/exp/slices" ) // For the purpose of this test, we don't need our client to establish a connection @@ -51,26 +52,16 @@ func TestLibengineNewRPCConnection(t *testing.T) { TLS: true, ClientKey: "key1", } - expectedErr := "dial tcp [::1]:6012: connect: connection refused" + expErr := []string{"dial tcp [::1]:6012: connect: connection refused", "dial tcp 127.0.0.1:6012: connect: connection refused"} cM := NewConnManager(config.NewDefaultCGRConfig()) ctx := context.Background() - exp, err := rpcclient.NewRPCClient(ctx, utils.TCP, cfg.Address, cfg.TLS, cfg.ClientKey, - cM.cfg.TLSCfg().ClientCerificate, cM.cfg.TLSCfg().CaCertificate, cfg.ConnectAttempts, cfg.Reconnects, - cfg.MaxReconnectInterval, utils.FibDuration, cfg.ConnectTimeout, cfg.ReplyTimeout, cfg.Transport, nil, false, nil) - if err.Error() != expectedErr { - t.Errorf("Expected %v \n but received \n %v", expectedErr, err) - } - - conn, err := NewRPCConnection(ctx, cfg, cM.cfg.TLSCfg().ClientKey, cM.cfg.TLSCfg().ClientCerificate, + _, err := NewRPCConnection(ctx, cfg, cM.cfg.TLSCfg().ClientKey, cM.cfg.TLSCfg().ClientCerificate, cM.cfg.TLSCfg().CaCertificate, cM.cfg.GeneralCfg().ConnectAttempts, cM.cfg.GeneralCfg().Reconnects, cM.cfg.GeneralCfg().MaxReconnectInterval, cM.cfg.GeneralCfg().ConnectTimeout, cM.cfg.GeneralCfg().ReplyTimeout, nil, false, nil, "*localhost", "a4f3f", new(ltcache.Cache)) - if err.Error() != expectedErr { - t.Errorf("Expected %v \n but received \n %v", expectedErr, err) - } - if !reflect.DeepEqual(exp, conn) { - //t.Errorf("Expected %v \n but received \n %v", exp, conn) + if !slices.Contains(expErr, err.Error()) { + t.Errorf("Unexpected error <%v>", err) } } diff --git a/go.mod b/go.mod index 096e98214..707c43fff 100644 --- a/go.mod +++ b/go.mod @@ -38,8 +38,9 @@ require ( github.com/rabbitmq/amqp091-go v1.5.0 github.com/segmentio/kafka-go v0.4.32 go.mongodb.org/mongo-driver v1.11.0 - golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d - golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e + golang.org/x/crypto v0.1.0 + golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb + golang.org/x/net v0.1.0 golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2 google.golang.org/api v0.85.0 gorm.io/driver/mysql v1.3.4 @@ -96,11 +97,11 @@ require ( github.com/xdg/stringprep v1.0.3 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opencensus.io v0.23.0 // indirect - golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f // indirect - golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b // indirect - golang.org/x/text v0.3.7 // indirect - golang.org/x/tools v0.1.11 // indirect + golang.org/x/mod v0.6.0 // indirect + golang.org/x/sync v0.1.0 // indirect + golang.org/x/sys v0.1.0 // indirect + golang.org/x/text v0.4.0 // indirect + golang.org/x/tools v0.2.0 // indirect golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20220627200112-0a929928cb33 // indirect diff --git a/go.sum b/go.sum index 9f143d07c..9ed918663 100644 --- a/go.sum +++ b/go.sum @@ -643,8 +643,9 @@ golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -655,6 +656,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb h1:PaBZQdo+iSDyHT053FjUCgZQ/9uqVwPOcl7KSWhKn6w= +golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -680,8 +683,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -733,8 +736,8 @@ golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e h1:TsQ7F31D3bUCLeqPT0u+yjp1guoArKaNKmCr22PYgTQ= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -768,8 +771,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f h1:Ax0t5p6N38Ga0dThY21weqDEyz2oklo4IvDkpigvkD8= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -849,8 +853,8 @@ golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b h1:2n253B2r0pYSmEV+UNCQoPfU/FiaizQEK5Gu4Bq4JE8= -golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -862,8 +866,9 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -927,8 +932,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.11 h1:loJ25fNOEhSXfHrpoGj91eCUThwdNX6u24rO1xnNteY= -golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/utils/logger.go b/utils/logger.go index afe9dbe73..132922e8a 100644 --- a/utils/logger.go +++ b/utils/logger.go @@ -27,9 +27,14 @@ import ( ) var Logger LoggerInterface +var noSysLog bool func init() { - Logger, _ = NewLogger(MetaStdLog, EmptyString, 0) + var err error + if Logger, err = NewLogger(MetaSysLog, EmptyString, 0); err != nil { + noSysLog = true + Logger, _ = NewLogger(MetaStdLog, EmptyString, 0) + } } // log severities following rfc3164 @@ -65,6 +70,9 @@ func NewLogger(loggerType, nodeID string, logLvl int) (LoggerInterface, error) { case MetaStdLog: return NewStdLogger(nodeID, logLvl), nil case MetaSysLog: + if noSysLog { + return NewStdLogger(nodeID, logLvl), nil + } return NewSysLogger(nodeID, logLvl) default: return nil, fmt.Errorf("unsupported logger: <%+s>", loggerType) diff --git a/utils/logger_test.go b/utils/logger_test.go index e71ad8047..8d22c6783 100644 --- a/utils/logger_test.go +++ b/utils/logger_test.go @@ -44,6 +44,9 @@ func TestLoggerNewLoggerStdoutOK(t *testing.T) { } func TestLoggerNewLoggerSyslogOK(t *testing.T) { + if noSysLog { + t.SkipNow() + } exp := &SysLogger{ logLevel: 7, } @@ -65,6 +68,9 @@ func TestLoggerNewLoggerUnsupported(t *testing.T) { } func TestLoggerSysloggerSetGetLogLevel(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, err := NewSysLogger("1234", 4) if err != nil { t.Error(err) @@ -231,6 +237,9 @@ func TestLoggerStdLoggerDebug(t *testing.T) { } func TestCloseSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", 2) if err := sl.Close(); err != nil { @@ -239,6 +248,9 @@ func TestCloseSysLogger(t *testing.T) { } func TestWriteSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", 2) exp := 6 testbyte := []byte{97, 98, 99, 100, 101, 102} @@ -251,6 +263,9 @@ func TestWriteSysLogger(t *testing.T) { } func TestAlertSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", 0) if err := sl.Alert("Alert Message"); err != nil { @@ -262,6 +277,9 @@ func TestAlertSysLogger(t *testing.T) { } } func TestCritSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", 1) if err := sl.Crit("Critical Message"); err != nil { @@ -274,6 +292,9 @@ func TestCritSysLogger(t *testing.T) { } func TestDebugSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", 6) if err := sl.Debug("Debug Message"); err != nil { @@ -286,6 +307,9 @@ func TestDebugSysLogger(t *testing.T) { } func TestEmergSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", -1) if err := sl.Emerg("Emergency Message"); err != nil { @@ -300,6 +324,9 @@ func TestEmergSysLogger(t *testing.T) { } func TestErrSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", 2) if err := sl.Err("Error Message"); err != nil { @@ -311,6 +338,9 @@ func TestErrSysLogger(t *testing.T) { } } func TestInfoSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", 5) if err := sl.Info("Info Message"); err != nil { @@ -322,6 +352,9 @@ func TestInfoSysLogger(t *testing.T) { } } func TestNoticeSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", 4) if err := sl.Notice("Notice Message"); err != nil { @@ -333,6 +366,9 @@ func TestNoticeSysLogger(t *testing.T) { } } func TestWarningSysLogger(t *testing.T) { + if noSysLog { + t.SkipNow() + } sl, _ := NewSysLogger("test", 3) if err := sl.Warning("Warning Message"); err != nil {