From 113e2a2bdfcea5bb83f14c76c80ae5b20cd95c07 Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Mon, 29 May 2023 11:44:03 -0400 Subject: [PATCH] Replace interface{} with any --- accounts/abstractbalance_test.go | 40 +- accounts/accounts_test.go | 106 ++--- accounts/actsetbalance.go | 4 +- accounts/actsetbalance_test.go | 4 +- accounts/concretebalance_test.go | 56 +-- accounts/libaccounts.go | 2 +- accounts/libaccounts_test.go | 28 +- actions/accounts_test.go | 4 +- actions/actions.go | 2 +- actions/actions_test.go | 110 ++--- actions/export.go | 6 +- actions/export_test.go | 10 +- actions/log.go | 4 +- actions/log_test.go | 4 +- actions/reset.go | 4 +- agents/agentreq.go | 12 +- agents/agentreq_test.go | 4 +- agents/astagent.go | 12 +- agents/asterisk_event.go | 28 +- agents/asterisk_event_test.go | 72 +-- agents/diam_it_test.go | 60 +-- agents/diamagent.go | 10 +- agents/diamagent_test.go | 60 +-- agents/dnsagent_it_test.go | 2 +- agents/fsagent.go | 6 +- agents/fsevent.go | 8 +- agents/fsevent_test.go | 10 +- agents/httpagent_it_test.go | 2 +- agents/kamagent.go | 6 +- agents/kamevent.go | 8 +- agents/kamevent_test.go | 6 +- agents/libdiam.go | 8 +- agents/libdiam_test.go | 16 +- agents/libdns.go | 14 +- agents/libhttpagent.go | 8 +- agents/librad.go | 4 +- agents/sipagent.go | 2 +- analyzers/analyzers.go | 6 +- analyzers/analyzers_it_test.go | 26 +- analyzers/analyzers_test.go | 38 +- analyzers/codec.go | 12 +- analyzers/codec_test.go | 24 +- analyzers/connector.go | 2 +- analyzers/connector_test.go | 2 +- analyzers/libanalyzers.go | 32 +- analyzers/libanalyzers_test.go | 6 +- apis/accounts_it_test.go | 98 ++-- apis/accounts_test.go | 136 +++--- apis/actions_it_test.go | 16 +- apis/actions_test.go | 66 +-- apis/analyzer.go | 2 +- apis/analyzer_it_test.go | 12 +- apis/attributes_it_test.go | 78 +-- apis/attributes_test.go | 14 +- apis/cache.go | 4 +- apis/cache_it_test.go | 2 +- apis/cache_test.go | 10 +- apis/cdrs_test.go | 8 +- apis/chargers.go | 2 +- apis/chargers_it_test.go | 16 +- apis/chargers_test.go | 34 +- apis/config.go | 2 +- apis/config_it_test.go | 106 ++--- apis/config_test.go | 30 +- apis/cores.go | 2 +- apis/cores_it_test.go | 2 +- apis/cores_test.go | 10 +- apis/dispatchers.go | 4 +- apis/dispatchers_test.go | 30 +- apis/ees.go | 2 +- apis/ees_test.go | 12 +- apis/filter_indexes.go | 4 +- apis/filter_indexes_it_test.go | 36 +- apis/filter_indexes_test.go | 110 ++--- apis/filters_it_test.go | 4 +- apis/filters_test.go | 56 +-- apis/indexes_after_load_it_test.go | 2 +- apis/libadmin.go | 20 +- apis/libadmin_test.go | 8 +- apis/loaders_it_test.go | 36 +- apis/preload_it_test.go | 16 +- apis/rates_it_test.go | 28 +- apis/rates_test.go | 30 +- apis/replicator_test.go | 158 +++--- apis/resources_it_test.go | 28 +- apis/resources_test.go | 14 +- apis/routes_it_test.go | 14 +- apis/routes_test.go | 6 +- apis/sessions_test.go | 32 +- apis/stats_it_test.go | 28 +- apis/stats_test.go | 18 +- apis/thresholds_it_test.go | 20 +- apis/thresholds_test.go | 18 +- apis/tpes_it_test.go | 14 +- cmd/cgr-console/cgr-console_it_test.go | 252 +++++----- cmd/cgr-loader/cgr-loader.go | 2 +- config/accountscfg.go | 8 +- config/accountscfg_test.go | 4 +- config/actionscfg.go | 8 +- config/actionscfg_test.go | 4 +- config/adminscfg.go | 6 +- config/adminscfg_test.go | 4 +- config/analyzerscfg.go | 8 +- config/analyzerscfg_test.go | 8 +- config/apibancfg.go | 6 +- config/apibancfg_test.go | 2 +- config/apis.go | 20 +- config/apis_test.go | 32 +- config/asteriskagntcfg.go | 14 +- config/attributescfg.go | 8 +- config/attributescfg_test.go | 12 +- config/cachecfg.go | 14 +- config/cachecfg_test.go | 16 +- config/cdrscfg.go | 8 +- config/cdrscfg_test.go | 8 +- config/chargerscfg.go | 6 +- config/chargerscfg_test.go | 4 +- config/config.go | 4 +- config/config_it_test.go | 52 +- config/config_json.go | 14 +- config/config_test.go | 412 ++++++++-------- config/configdbcfg.go | 8 +- config/configscfg.go | 6 +- config/configscfg_test.go | 4 +- config/corescfg.go | 6 +- config/corescfg_test.go | 2 +- config/datadbcfg.go | 16 +- config/datadbcfg_test.go | 20 +- config/diametercfg.go | 8 +- config/diametercfg_test.go | 12 +- config/dispatcherscfg.go | 8 +- config/dispatcherscfg_test.go | 12 +- config/dnsagentcfg_test.go | 12 +- config/dnsagntcfg.go | 8 +- config/eescfg.go | 134 +++--- config/eescfg_test.go | 54 +-- config/efscfg.go | 6 +- config/erscfg.go | 22 +- config/erscfg_test.go | 44 +- config/fctemplate.go | 14 +- config/fctemplate_test.go | 14 +- config/filterscfg.go | 6 +- config/filterscfg_test.go | 4 +- config/fsagentcfg.go | 14 +- config/fwvdp.go | 4 +- config/fwvdp_test.go | 2 +- config/generalcfg.go | 8 +- config/generalcfg_test.go | 8 +- config/httpagntcfg.go | 14 +- config/httpagntcfg_test.go | 8 +- config/httpcfg.go | 8 +- config/httpcfg_test.go | 8 +- config/kamagentcfg.go | 14 +- config/kamagentcfg_test.go | 8 +- config/listencfg.go | 6 +- config/listencfg_test.go | 4 +- config/loadercgrcfg.go | 6 +- config/loadercgrcfg_test.go | 2 +- config/loaderscfg.go | 26 +- config/loaderscfg_test.go | 64 +-- config/loggercfg.go | 12 +- config/migratorcfg.go | 8 +- config/migratorcfg_test.go | 12 +- config/objdp.go | 18 +- config/objdp_test.go | 28 +- config/radiuscfg.go | 8 +- config/radiuscfg_test.go | 12 +- config/ratescfg.go | 8 +- config/ratescfg_test.go | 8 +- config/registrarccfg.go | 14 +- config/registrarccfg_test.go | 20 +- config/reqprocessorcfg.go | 10 +- config/resourcescfg.go | 8 +- config/resourcescfg_test.go | 8 +- config/rjreader.go | 2 +- config/routescfg.go | 8 +- config/routescfg_test.go | 8 +- config/rpcconn.go | 20 +- config/rpcconn_test.go | 40 +- config/rsrparser.go | 18 +- config/rsrparser_test.go | 2 +- config/sessionscfg.go | 14 +- config/sessionscfg_test.go | 42 +- config/sipagentcfg.go | 8 +- config/sipagentcfg_test.go | 20 +- config/slicedp.go | 4 +- config/slicedp_test.go | 2 +- config/statscfg.go | 8 +- config/statscfg_test.go | 8 +- config/stordbcfg.go | 10 +- config/stordbcfg_test.go | 20 +- config/suretaxcfg.go | 6 +- config/suretaxcfg_test.go | 2 +- config/thresholdscfg.go | 8 +- config/thresholdscfg_test.go | 8 +- config/tlscfg.go | 6 +- config/tlscfg_test.go | 4 +- config/tpes.go | 4 +- config/xmldp.go | 4 +- console/account.go | 4 +- console/account_ids.go | 4 +- console/account_remove.go | 6 +- console/account_set.go | 4 +- console/accounts.go | 4 +- console/active_sessions.go | 10 +- console/attribute_profile.go | 4 +- console/attribute_profile_ids.go | 4 +- console/attribute_profile_remove.go | 6 +- console/attribute_profile_set.go | 4 +- console/attribute_profiles.go | 4 +- console/attributes_for_event.go | 4 +- console/attributes_process_event.go | 6 +- console/cache_clear.go | 4 +- console/cache_group_item_id.go | 4 +- console/cache_has_group.go | 4 +- console/cache_has_item.go | 4 +- console/cache_item_expiry_time.go | 4 +- console/cache_item_ids.go | 4 +- console/cache_precache_status.go | 4 +- console/cache_reload.go | 4 +- console/cache_remove_group.go | 4 +- console/cache_remove_item.go | 4 +- console/cache_stats.go | 4 +- console/charger_profile.go | 4 +- console/charger_profile_ids.go | 4 +- console/charger_profile_remove.go | 4 +- console/charger_profile_set.go | 4 +- console/charger_profiles.go | 4 +- console/chargers_for_event.go | 4 +- console/chargers_process_event.go | 6 +- console/command.go | 6 +- console/command_executer.go | 22 +- console/compute_filter_indexes.go | 4 +- console/datadb_versions.go | 4 +- console/dispatcher_host.go | 4 +- console/dispatcher_host_ids.go | 4 +- console/dispatcher_host_remove.go | 6 +- console/dispatcher_host_set.go | 6 +- console/dispatcher_hosts.go | 4 +- console/dispatcher_profile.go | 4 +- console/dispatcher_profile_ids.go | 4 +- console/dispatcher_profile_remove.go | 6 +- console/dispatcher_profile_set.go | 6 +- console/dispatcher_profiles.go | 4 +- console/dispatchers_for_event.go | 4 +- console/filter.go | 4 +- console/filter_ids.go | 4 +- console/filter_indexes.go | 4 +- console/filter_indexes_remove.go | 4 +- console/filter_remove.go | 6 +- console/filter_set.go | 4 +- console/filters.go | 4 +- console/get_json_section.go | 8 +- console/import_tp_from_folder.go | 4 +- console/load_history.go | 4 +- console/load_ids.go | 4 +- console/load_times.go | 4 +- console/load_tp_from_folder.go | 4 +- console/loader_run.go | 4 +- console/parse.go | 4 +- console/passive_sessions.go | 10 +- console/ping.go | 6 +- console/rate_profile.go | 4 +- console/rate_profile_ids.go | 4 +- console/rate_profile_remove.go | 6 +- console/rate_profile_set.go | 6 +- console/rate_profiles.go | 4 +- console/reload_config.go | 6 +- console/resource_profile.go | 6 +- console/resource_profile_ids.go | 4 +- console/resource_profile_remove.go | 6 +- console/resource_profile_set.go | 6 +- console/resource_profiles.go | 4 +- console/resources.go | 6 +- console/resources_allocate.go | 4 +- console/resources_authorize.go | 4 +- console/resources_for_event.go | 4 +- console/resources_release.go | 4 +- console/route_profile.go | 4 +- console/route_profile_ids.go | 4 +- console/route_profile_remove.go | 6 +- console/route_profile_set.go | 6 +- console/route_profiles.go | 4 +- console/routes.go | 4 +- console/routes_profiles_for_event.go | 4 +- console/session_authorize_event.go | 4 +- console/session_force_disconnect.go | 8 +- console/session_initiate.go | 6 +- console/session_process_cdr.go | 4 +- console/session_process_message.go | 6 +- console/session_terminate.go | 4 +- console/session_update.go | 6 +- console/set_datadb_versions.go | 4 +- console/shutdown.go | 4 +- console/sleep.go | 6 +- console/stats_for_event.go | 4 +- console/stats_metrics.go | 6 +- console/stats_process_event.go | 4 +- console/stats_profile.go | 6 +- console/stats_profile_ids.go | 4 +- console/stats_profile_rem.go | 6 +- console/stats_profile_set.go | 6 +- console/stats_profiles.go | 4 +- console/status.go | 8 +- console/threshold.go | 8 +- console/threshold_profile.go | 6 +- console/threshold_profile_ids.go | 4 +- console/threshold_profile_remove.go | 6 +- console/threshold_profile_set.go | 6 +- console/threshold_profiles.go | 4 +- console/thresholds_for_event.go | 4 +- console/thresholds_process_event.go | 4 +- cores/caps.go | 12 +- cores/caps_test.go | 14 +- cores/core.go | 4 +- cores/core_test.go | 4 +- cores/server.go | 6 +- cores/server_it_test.go | 2 +- .../scripts/generate_dispatchers/generator.go | 12 +- dispatchers/accounts.go | 40 +- dispatchers/accounts_it_test.go | 2 +- dispatchers/actions.go | 12 +- dispatchers/actions_it_test.go | 2 +- dispatchers/admins.go | 376 +++++++-------- dispatchers/analyzers.go | 10 +- dispatchers/attributes.go | 12 +- dispatchers/attributes_it_test.go | 62 +-- dispatchers/caches.go | 76 +-- dispatchers/caches_it_test.go | 22 +- dispatchers/cdrs.go | 12 +- dispatchers/chargers.go | 12 +- dispatchers/chargers_it_test.go | 20 +- dispatchers/config.go | 30 +- dispatchers/config_it_test.go | 8 +- dispatchers/config_test.go | 4 +- dispatchers/cores.go | 38 +- dispatchers/dispatchers.go | 14 +- dispatchers/dispatchers_it_test.go | 6 +- dispatchers/dispatchers_test.go | 96 ++-- dispatchers/ees.go | 14 +- dispatchers/efs.go | 12 +- dispatchers/guardian.go | 12 +- dispatchers/guardian_it_test.go | 6 +- dispatchers/libdispatcher.go | 18 +- dispatchers/libdispatcher_test.go | 74 +-- dispatchers/loaders.go | 12 +- dispatchers/rates.go | 16 +- dispatchers/rates_it_test.go | 10 +- dispatchers/replicator.go | 204 ++++---- dispatchers/replicator_it_test.go | 62 +-- dispatchers/resources.go | 28 +- dispatchers/resources_it_test.go | 34 +- dispatchers/routes.go | 16 +- dispatchers/routes_it_test.go | 40 +- dispatchers/sessions.go | 98 ++-- dispatchers/sessions_it_test.go | 86 ++-- dispatchers/stats.go | 36 +- dispatchers/stats_it_test.go | 34 +- dispatchers/thresholds.go | 24 +- dispatchers/thresholds_it_test.go | 20 +- dispatchers/tpes.go | 8 +- ees/amqp.go | 4 +- ees/amqp_it_test.go | 4 +- ees/amqpv1.go | 4 +- ees/amqpv1_it_test.go | 4 +- ees/ee.go | 26 +- ees/ees.go | 22 +- ees/ees_test.go | 70 +-- ees/elastic.go | 6 +- ees/elastic_it_test.go | 48 +- ees/filecsv.go | 4 +- ees/filecsv_it_test.go | 72 +-- ees/filefwv.go | 4 +- ees/filefwv_it_test.go | 4 +- ees/httpjsonmap.go | 12 +- ees/httpjsonmap_test.go | 4 +- ees/httppost.go | 10 +- ees/httppost_it_test.go | 16 +- ees/httppost_test.go | 8 +- ees/kafka.go | 4 +- ees/kafka_it_test.go | 4 +- ees/libcdre.go | 8 +- ees/libcdre_it_test.go | 2 +- ees/libcdre_test.go | 10 +- ees/log.go | 14 +- ees/log_test.go | 6 +- ees/nats.go | 4 +- ees/nats_it_test.go | 4 +- ees/posterjsonmap_it_test.go | 16 +- ees/rpc.go | 10 +- ees/rpc_test.go | 10 +- ees/s3.go | 4 +- ees/s3_it_test.go | 4 +- ees/sql.go | 12 +- ees/sql_it_test.go | 10 +- ees/sqs.go | 4 +- ees/sqs_it_test.go | 4 +- ees/virtual_ee_it_test.go | 8 +- ees/virtualee.go | 16 +- efs/efs_it_test.go | 4 +- efs/failed_ees.go | 8 +- efs/failed_loggs.go | 6 +- efs/libefs.go | 2 +- engine/actionprofile.go | 32 +- engine/actionprofile_test.go | 30 +- engine/attributes.go | 12 +- engine/attributes_test.go | 28 +- engine/caches.go | 28 +- engine/caches_test.go | 58 +-- engine/caps.go | 8 +- engine/cdrs.go | 10 +- engine/cdrs_test.go | 426 ++++++++--------- engine/chargers_test.go | 46 +- engine/connmanager.go | 4 +- engine/connmanager_test.go | 4 +- engine/datamanager_test.go | 364 +++++++------- engine/dispatcherprfl.go | 38 +- engine/dispatcherprfl_test.go | 58 +-- engine/dynamicdp.go | 8 +- engine/dynamicdp_test.go | 52 +- engine/exportrequest.go | 12 +- engine/filterhelpers.go | 2 +- engine/filterhelpers_test.go | 4 +- engine/filters.go | 14 +- engine/filters_test.go | 76 +-- engine/kafka_logger.go | 6 +- engine/kafka_logger_test.go | 56 +-- engine/libattributes.go | 16 +- engine/libchargers.go | 10 +- engine/libdynopts.go | 12 +- engine/libdynopts_test.go | 252 +++++----- engine/libengine.go | 16 +- engine/libengine_test.go | 66 +-- engine/libindex_health.go | 2 +- engine/libindex_test.go | 22 +- engine/libroutes.go | 2 +- engine/libroutes_test.go | 144 +++--- engine/libstats.go | 20 +- engine/libstats_test.go | 12 +- engine/loader_csv_test.go | 4 +- engine/mapevent.go | 14 +- engine/mapevent_test.go | 10 +- engine/model_helpers.go | 20 +- engine/model_helpers_test.go | 68 +-- engine/models.go | 4 +- engine/models_test.go | 2 +- engine/remoterepl.go | 4 +- engine/resources.go | 18 +- engine/route_cost_sort.go | 2 +- engine/route_cost_sort_test.go | 48 +- engine/route_load_distribution.go | 2 +- engine/route_qos.go | 2 +- engine/route_resource_sort.go | 2 +- engine/route_weight.go | 2 +- engine/routes.go | 22 +- engine/routes_test.go | 176 +++---- engine/statmetrics.go | 4 +- engine/statmetrics_test.go | 376 +++++++-------- engine/stats.go | 6 +- engine/stats_test.go | 76 +-- engine/storage_csv.go | 28 +- engine/storage_internal_config.go | 4 +- engine/storage_mongo_config.go | 4 +- engine/storage_mongo_datadb.go | 2 +- engine/storage_redis.go | 6 +- engine/storage_redis_config.go | 4 +- engine/storage_sql.go | 4 +- engine/thresholds.go | 14 +- engine/thresholds_test.go | 100 ++-- engine/tpreader.go | 6 +- engine/tpreader_test.go | 62 +-- engine/z_actions_it_test.go | 18 +- engine/z_attributes_test.go | 312 ++++++------ engine/z_chargers_test.go | 58 +-- engine/z_filterhelpers_test.go | 16 +- engine/z_onstor_it_test.go | 2 +- engine/z_resources_test.go | 256 +++++----- ers/amqp.go | 2 +- ers/amqp_it_test.go | 4 +- ers/amqpv1.go | 2 +- ers/amqpv1_it_test.go | 2 +- ers/ers.go | 6 +- ers/ers_it_test.go | 84 ++-- ers/ers_reload_it_test.go | 8 +- ers/ers_test.go | 16 +- ers/filefwv_it_test.go | 12 +- ers/filejson.go | 2 +- ers/filejson_it_test.go | 4 +- ers/filexml_it_test.go | 4 +- ers/kafka.go | 2 +- ers/kafka_it_test.go | 4 +- ers/kafka_test.go | 4 +- ers/libers.go | 6 +- ers/libers_test.go | 16 +- ers/nats.go | 2 +- ers/nats_it_test.go | 4 +- ers/s3.go | 2 +- ers/s3_it_test.go | 2 +- ers/s3_test.go | 4 +- ers/sql.go | 12 +- ers/sql_test.go | 6 +- ers/sqs.go | 4 +- ers/sqs_it_test.go | 2 +- ers/sqs_test.go | 4 +- general_tests/a1_it_test.go | 12 +- general_tests/accountactions_it_test.go | 16 +- general_tests/accounts_it_test.go | 2 +- general_tests/analyzers_doc_it_test.go | 14 +- .../attributes_filters_index_it_test.go | 12 +- general_tests/attributes_it_test.go | 96 ++-- general_tests/broadcast_client_it_test.go | 2 +- general_tests/cacherpl_it_test.go | 26 +- general_tests/cdrs_it_test.go | 30 +- general_tests/cdrs_onlexp_it_test.go | 4 +- general_tests/cdrs_post_failover_it_test.go | 6 +- general_tests/cdrs_processevent_it_test.go | 36 +- general_tests/data_it_test.go | 22 +- general_tests/dataconverter_it_test.go | 10 +- general_tests/dispatcher_opts_it_test.go | 94 ++-- general_tests/ees_blocker_it_test.go | 6 +- general_tests/export_it_test.go | 4 +- general_tests/filter_update_it_test.go | 10 +- general_tests/filtered_replication_it_test.go | 10 +- general_tests/filters_it_test.go | 74 +-- general_tests/fltr_sep_it_test.go | 6 +- general_tests/gocs_it_test.go | 22 +- general_tests/kafka_ssl_it_test.go | 4 +- general_tests/ld_process_match_ac_it_test.go | 36 +- general_tests/ld_process_match_rt_it_test.go | 24 +- .../loaders_internal_indexes_it_test.go | 2 +- general_tests/poster_it_test.go | 10 +- general_tests/redis_tls_it_test.go | 2 +- general_tests/resourcesv1_it_test.go | 16 +- general_tests/route_it_test.go | 46 +- general_tests/route_stats_it_test.go | 28 +- general_tests/routes_cases_it_test.go | 258 +++++----- general_tests/rpccaching_it_test.go | 44 +- general_tests/rpcclient_it_test.go | 26 +- general_tests/rpcexp_opts_it_test.go | 30 +- general_tests/session2_it_test.go | 14 +- general_tests/session3_it_test.go | 16 +- general_tests/session4_it_test.go | 4 +- .../session_graceful_shutdown_it_test.go | 4 +- general_tests/session_it_test.go | 6 +- general_tests/session_nonereq_it_test.go | 4 +- ...ion_replications_automaticdebit_it_test.go | 6 +- general_tests/session_rpl_prepaid_it_test.go | 8 +- .../session_volume_discount_it_test.go | 74 +-- general_tests/sessionpause_it_test.go | 14 +- general_tests/sessionrefund_it_test.go | 12 +- general_tests/sessionroutes_it_test.go | 42 +- general_tests/sessions_concur_test.go | 14 +- .../sessions_tnt_change_cdr_it_test.go | 6 +- general_tests/sessions_tnt_change_it_test.go | 6 +- general_tests/tls_it_test.go | 2 +- general_tests/tp_it_test.go | 4 +- general_tests/tut_smgeneric_it_test.go | 2 +- general_tests/tutorial_calls_test.go | 8 +- general_tests/twoengines_it_test.go | 2 +- guardian/guardian.go | 4 +- loaders/libloader.go | 16 +- loaders/libloader_test.go | 12 +- loaders/loader.go | 10 +- loaders/loader_test.go | 124 ++--- loaders/loaders.go | 4 +- loaders/loaders_test.go | 30 +- migrator/attributes.go | 2 +- rates/rates_test.go | 84 ++-- registrarc/libregistrarc.go | 18 +- registrarc/libregistrarc_test.go | 30 +- registrarc/registrarc_it_test.go | 4 +- registrarc/registrarcrpc_it_test.go | 26 +- services/libcgr-engine.go | 2 +- services/sessions_it_test.go | 6 +- services/sessions_test.go | 4 +- servmanager/servmanager.go | 2 +- sessions/libsessions.go | 14 +- sessions/libsessions_test.go | 4 +- sessions/session_test.go | 46 +- sessions/sessions.go | 14 +- sessions/sessions_birpc_it_test.go | 14 +- sessions/sessions_data_it_test.go | 56 +-- sessions/sessions_it_test.go | 22 +- sessions/sessions_rpl_it_test.go | 12 +- sessions/sessions_test.go | 84 ++-- sessions/sessions_voice_it_test.go | 52 +- sessions/sessionscover_test.go | 450 +++++++++--------- tpes/tpe_accounts_test.go | 20 +- tpes/tpe_dispatchers_test.go | 16 +- tpes/tpes.go | 2 +- tpes/tpes_test.go | 8 +- utils/account.go | 40 +- utils/account_test.go | 42 +- utils/apitpdata.go | 126 ++--- utils/birpcint_client.go | 2 +- utils/birpcint_client_test.go | 4 +- utils/cgrevent.go | 18 +- utils/cgrevent_test.go | 36 +- utils/coreutils.go | 44 +- utils/coreutils_test.go | 4 +- utils/dataconverter.go | 84 ++-- utils/dataconverter_test.go | 12 +- utils/datanode.go | 10 +- utils/dataprovider.go | 6 +- utils/dataprovider_test.go | 8 +- utils/eventcharges.go | 2 +- utils/eventcharges_test.go | 36 +- utils/failover_export.go | 10 +- utils/libdynamics.go | 2 +- utils/librates.go | 30 +- utils/librates_test.go | 14 +- utils/mapstorage.go | 38 +- utils/mapstorage_test.go | 96 ++-- utils/marshaler.go | 30 +- utils/net.go | 12 +- utils/net_test.go | 4 +- utils/orderednavigablemap.go | 12 +- utils/orderednavigablemap_test.go | 2 +- utils/reflect.go | 48 +- utils/reflect_test.go | 106 ++--- utils/safemapstorage.go | 4 +- utils/slice.go | 4 +- utils/slice_test.go | 2 +- utils/stir_shaken_utils.go | 4 +- utils/stir_shaken_utils_test.go | 8 +- utils/stringset.go | 2 +- utils/struct.go | 4 +- utils/struct_test.go | 20 +- 628 files changed, 7230 insertions(+), 7230 deletions(-) diff --git a/accounts/abstractbalance_test.go b/accounts/abstractbalance_test.go index 514606198..c685f309b 100644 --- a/accounts/abstractbalance_test.go +++ b/accounts/abstractbalance_test.go @@ -35,7 +35,7 @@ func TestABDebitUsageFromConcretes1(t *testing.T) { blnCfg: &utils.Balance{ ID: "CB1", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: -200.0, }, UnitFactors: []*utils.UnitFactor{ @@ -50,7 +50,7 @@ func TestABDebitUsageFromConcretes1(t *testing.T) { blnCfg: &utils.Balance{ ID: "CB2", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: -1.0, }, Units: utils.NewDecimal(125, 2), @@ -445,7 +445,7 @@ func TestABCost0WithUnlimitedWithConcrete(t *testing.T) { ID: "AB_COST_0", Type: utils.MetaAbstract, Units: utils.NewDecimal(int64(60*time.Second), 0), // 1 Minute - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: true, }, CostIncrements: []*utils.CostIncrement{ @@ -486,7 +486,7 @@ func TestABCost0WithLimit(t *testing.T) { ID: "AB_COST_0", Type: utils.MetaAbstract, Units: utils.NewDecimal(int64(60*time.Second), 0), // 1 Minute - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 30000000000.0, }, UnitFactors: []*utils.UnitFactor{ @@ -521,7 +521,7 @@ func TestABCost0WithLimitWithConcrete(t *testing.T) { ID: "AB_COST_0", Type: utils.MetaAbstract, Units: utils.NewDecimal(int64(60*time.Second), 0), // 1 Minute - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 30000000000.0, }, CostIncrements: []*utils.CostIncrement{ @@ -562,7 +562,7 @@ func TestABCost0WithLimitExceed(t *testing.T) { ID: "AB_COST_0", Type: utils.MetaAbstract, Units: utils.NewDecimal(int64(60*time.Second), 0), // 1 Minute - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 30000000000.0, }, CostIncrements: []*utils.CostIncrement{ @@ -592,7 +592,7 @@ func TestABCost0WithLimitExceedWithConcrete(t *testing.T) { ID: "AB_COST_0", Type: utils.MetaAbstract, Units: utils.NewDecimal(int64(60*time.Second), 0), // 1 Minute - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 30000000000.0, }, CostIncrements: []*utils.CostIncrement{ @@ -647,7 +647,7 @@ func TestDebitUsageFiltersError(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, } @@ -670,7 +670,7 @@ func TestDebitUsageBalanceLimitErrors(t *testing.T) { blnCfg: &utils.Balance{ ID: "ID_TEST", Type: utils.MetaAbstract, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: "not_FLOAT64", }, CostIncrements: []*utils.CostIncrement{ @@ -686,7 +686,7 @@ func TestDebitUsageBalanceLimitErrors(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, } @@ -734,7 +734,7 @@ func TestDebitUsageUnitFactorsErrors(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, } @@ -771,7 +771,7 @@ func TestDebitUsageCostIncrementError(t *testing.T) { } cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, } @@ -863,10 +863,10 @@ func TestABCostWithFiltersNotMatch(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField2": "CustomValue2", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if _, err := aB.debitAbstracts(decimal.New(int64(10*time.Second), 0), cgrEv); err == nil || err.Error() != "RATES_ERROR:NOT_CONNECTED: RateS" { @@ -907,7 +907,7 @@ func TestABCostWithFilters(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "CustomValue", }, } @@ -969,7 +969,7 @@ func TestABCostUnlimitedExceed(t *testing.T) { ID: "AB_COST_0", Type: utils.MetaAbstract, Units: utils.NewDecimal(int64(60*time.Second), 0), // 1 Minute - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: true, }, CostIncrements: []*utils.CostIncrement{ @@ -1010,7 +1010,7 @@ func TestABCostLimit(t *testing.T) { ID: "AB_COST_0", Type: utils.MetaAbstract, Units: utils.NewDecimal(int64(60*time.Second), 0), // 1 Minute - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 30000000000.0, }, CostIncrements: []*utils.CostIncrement{ @@ -1051,7 +1051,7 @@ func TestABCostLimitExceed(t *testing.T) { ID: "AB_COST_0", Type: utils.MetaAbstract, Units: utils.NewDecimal(int64(60*time.Second), 0), // 1 Minute - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 30000000000.0, }, CostIncrements: []*utils.CostIncrement{ @@ -1177,7 +1177,7 @@ func TestABCostMultipleConcreteUnlimited(t *testing.T) { ID: "AB_COST_0", Type: utils.MetaAbstract, Units: utils.NewDecimal(int64(60*time.Second), 0), // 1 Minute - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: true, }, CostIncrements: []*utils.CostIncrement{ @@ -1258,7 +1258,7 @@ func TestAMCostWithUnitFactor(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "CustomValue", }, } diff --git a/accounts/accounts_test.go b/accounts/accounts_test.go index eb38a9513..7dda93a90 100644 --- a/accounts/accounts_test.go +++ b/accounts/accounts_test.go @@ -98,7 +98,7 @@ func TestMatchingAccountsForEventMockingErrors(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, } @@ -163,7 +163,7 @@ func TestMatchingAccountsForEvent(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", }, } @@ -178,7 +178,7 @@ func TestMatchingAccountsForEvent(t *testing.T) { t.Error(err) } - cgrEvent.APIOpts = make(map[string]interface{}) + cgrEvent.APIOpts = make(map[string]any) if _, err := accnts.matchingAccountsForEvent(context.Background(), "cgrates.org", cgrEvent, []string{}, false, true); err == nil || err != utils.ErrNotFound { t.Errorf("Expected %+v, received %+v", utils.ErrNotFound, err) @@ -268,7 +268,7 @@ func TestAccountDebit(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "TEST_EVENT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, } @@ -407,10 +407,10 @@ func TestAccountsDebitGetUsage(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "TEST_EVENT_get_usage", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "+445643", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAccountsUsage: "2s", }, } @@ -428,10 +428,10 @@ func TestAccountsDebitGetUsage(t *testing.T) { cgrEvent = &utils.CGREvent{ ID: "TEST_EVENT_get_usage", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "+445643", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "2s", }, } @@ -493,10 +493,10 @@ func TestAccountsDebit(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "TEST_EVENT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAccountsUsage: "not_time_format", }, } @@ -599,7 +599,7 @@ func TestV1AccountsForEvent(t *testing.T) { ev := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, } @@ -677,10 +677,10 @@ func TestV1MaxAbstracts(t *testing.T) { ev := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "210ns", }, } @@ -803,10 +803,10 @@ func TestV1DebitAbstracts1(t *testing.T) { ev := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "27s", }, } @@ -971,10 +971,10 @@ func TestV1MaxConcretes(t *testing.T) { ev := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", }, } @@ -1117,10 +1117,10 @@ func TestV1DebitConcretes(t *testing.T) { args := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", }, } @@ -1295,7 +1295,7 @@ func TestMultipleAccountsErr(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Usage: "210ns", }, @@ -1608,7 +1608,7 @@ func TestV1DebitAbstractsEventCharges(t *testing.T) { Weight: 30, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: -200.0, }, CostIncrements: []*utils.CostIncrement{ @@ -1717,7 +1717,7 @@ func TestV1DebitAbstractsEventCharges(t *testing.T) { cb2ID: { // absorb all costs, standard rating used when primary debiting ID: cb2ID, Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: true, }, CostIncrements: []*utils.CostIncrement{ @@ -1742,7 +1742,7 @@ func TestV1DebitAbstractsEventCharges(t *testing.T) { args := &utils.CGREvent{ ID: "TestV1DebitAbstractsEventCharges", Tenant: utils.CGRateSorg, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "7m26s", }, } @@ -2124,7 +2124,7 @@ func TestV1DebitAbstractsEventChargesWithRefundCharges(t *testing.T) { Weight: 30, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: -200.0, }, CostIncrements: []*utils.CostIncrement{ @@ -2233,7 +2233,7 @@ func TestV1DebitAbstractsEventChargesWithRefundCharges(t *testing.T) { cb2ID: { // absorb all costs, standard rating used when primary debiting ID: cb2ID, Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: true, }, CostIncrements: []*utils.CostIncrement{ @@ -2258,7 +2258,7 @@ func TestV1DebitAbstractsEventChargesWithRefundCharges(t *testing.T) { args := &utils.CGREvent{ ID: "TestV1DebitAbstractsEventCharges", Tenant: utils.CGRateSorg, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "7m26s", }, } @@ -2350,7 +2350,7 @@ func TestV1DebitAbstractsWithRecurrentFeeNegative(t *testing.T) { args := &utils.CGREvent{ ID: "TestV1DebitAbstractsWithRecurrentFeeNegative", Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "30s", }, } @@ -2485,12 +2485,12 @@ func TestDebitAbstractsMaxDebitAbstractFromConcreteNoConcrBal(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 2 * time.Minute, utils.MetaAccounts: true, }, @@ -2637,11 +2637,11 @@ func TestDebitAbstractUsingRatesWithRoundByIncrement(t *testing.T) { cgrEv := &utils.CGREvent{ ID: "TestDebitAbstractUsingRatesWithRoundByIncrement", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.StartTime: time.Date(2020, time.January, 7, 16, 60, 0, 0, time.UTC), utils.MetaUsage: "44825100us", }, @@ -2853,10 +2853,10 @@ func TestV1AccountsForEventProfileIgnoreFilters(t *testing.T) { ev := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAccountsProfileIDs: []string{"AC1"}, utils.MetaProfileIgnoreFilters: false, }, @@ -2873,10 +2873,10 @@ func TestV1AccountsForEventProfileIgnoreFilters(t *testing.T) { ev2 := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAccountsProfileIDs: []string{"AC1"}, utils.MetaProfileIgnoreFilters: true, }, @@ -2893,10 +2893,10 @@ func TestV1AccountsForEventProfileIgnoreFilters(t *testing.T) { ev3 := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAccountsProfileIDs: []string{"AC1"}, utils.MetaProfileIgnoreFilters: time.Second, }, @@ -2971,10 +2971,10 @@ func TestV1MaxAbstractsMetaProfileIgnoreFilters(t *testing.T) { ev := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "210ns", utils.OptsAccountsProfileIDs: []string{"TestV1MaxAbstracts"}, utils.MetaProfileIgnoreFilters: true, @@ -3068,10 +3068,10 @@ func TestV1MaxAbstractsMetaProfileIgnoreFiltersError(t *testing.T) { ev := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "210ns", utils.OptsAccountsProfileIDs: []string{"TestV1MaxAbstracts"}, utils.MetaProfileIgnoreFilters: time.Second, @@ -3145,10 +3145,10 @@ func TestV1DebitAbstractsMetaProfileIgnoreFilters(t *testing.T) { ev := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "27s", utils.OptsAccountsProfileIDs: []string{"TestV1MaxAbstracts"}, utils.MetaProfileIgnoreFilters: true, @@ -3295,10 +3295,10 @@ func TestV1DebitAbstractsMetaProfileIgnoreFiltersError(t *testing.T) { ev := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "27s", utils.OptsAccountsProfileIDs: []string{"TestV1MaxAbstracts"}, utils.MetaProfileIgnoreFilters: time.Second, @@ -3398,11 +3398,11 @@ func TestV1MaxConcretesProfileIgnoreFilters(t *testing.T) { ev := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", "TestFieldAcccount": "testValue1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", utils.OptsAccountsProfileIDs: []string{"TestV1DebitAbstracts"}, utils.MetaProfileIgnoreFilters: true, @@ -3490,11 +3490,11 @@ func TestV1MaxConcretesProfileIgnoreFiltersError(t *testing.T) { ev := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", "TestFieldAcccount": "testValue1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", utils.OptsAccountsProfileIDs: []string{"TestV1DebitAbstracts"}, utils.MetaProfileIgnoreFilters: time.Second, @@ -3593,11 +3593,11 @@ func TestV1DebitConcretesProfileIgnoreFilters(t *testing.T) { args := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", "TestFieldAcccount": "testValue1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", utils.OptsAccountsProfileIDs: []string{"TestV1DebitAbstracts"}, utils.MetaProfileIgnoreFilters: true, @@ -3698,11 +3698,11 @@ func TestV1DebitConcretesProfileIgnoreFiltersError(t *testing.T) { args := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", "TestFieldAcccount": "testValue1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", utils.OptsAccountsProfileIDs: []string{"TestV1DebitAbstracts"}, utils.MetaProfileIgnoreFilters: time.Second, diff --git a/accounts/actsetbalance.go b/accounts/actsetbalance.go index 0e66b2170..97cb3e43a 100644 --- a/accounts/actsetbalance.go +++ b/accounts/actsetbalance.go @@ -89,7 +89,7 @@ func actSetAccountFields(ac *utils.Account, path []string, value string) (err er ac.Weights, err = utils.NewDynamicWeightsFromString(value, utils.InfieldSep, utils.ANDSep) case utils.Opts: if ac.Opts == nil { // if the options are not initialized already init them here - ac.Opts = make(map[string]interface{}) + ac.Opts = make(map[string]any) } err = utils.MapStorage(ac.Opts).Set(path[1:], value) case utils.ThresholdIDs: @@ -143,7 +143,7 @@ func actSetBalance(bal *utils.Balance, path []string, value string, reset bool) } case utils.Opts: if bal.Opts == nil { // if the options are not initilized already init them here - bal.Opts = make(map[string]interface{}) + bal.Opts = make(map[string]any) } err = utils.MapStorage(bal.Opts).Set(path[1:], value) case utils.CostIncrements: diff --git a/accounts/actsetbalance_test.go b/accounts/actsetbalance_test.go index 4093eebfa..4dae36247 100644 --- a/accounts/actsetbalance_test.go +++ b/accounts/actsetbalance_test.go @@ -169,7 +169,7 @@ func TestActSetAccountFields(t *testing.T) { Weight: 10, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.AccountField: "1004", }, ThresholdIDs: []string{"TH_ID1"}, @@ -215,7 +215,7 @@ func TestActSetBalanceFields(t *testing.T) { Factor: &utils.Decimal{decimal.New(100, 0)}, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.AccountField: "1004", }, CostIncrements: []*utils.CostIncrement{ diff --git a/accounts/concretebalance_test.go b/accounts/concretebalance_test.go index d5335514e..0e5a74bc6 100644 --- a/accounts/concretebalance_test.go +++ b/accounts/concretebalance_test.go @@ -25,7 +25,7 @@ func TestCBDebitUnits(t *testing.T) { blnCfg: &utils.Balance{ ID: "TestCBDebitUnits", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: -200.0, }, UnitFactors: []*utils.UnitFactor{ @@ -60,7 +60,7 @@ func TestCBDebitUnits(t *testing.T) { blnCfg: &utils.Balance{ ID: "TestCBDebitUnits", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: -1.0, }, Units: utils.NewDecimal(125, 2), // 1.25 @@ -82,7 +82,7 @@ func TestCBDebitUnits(t *testing.T) { blnCfg: &utils.Balance{ ID: "TestCBDebitUnits", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: true, }, Units: utils.NewDecimal(125, 2), // 1.25 @@ -104,7 +104,7 @@ func TestCBDebitUnits(t *testing.T) { blnCfg: &utils.Balance{ ID: "TestCBDebitUnits", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 0.5, // 0.5 as limit }, Units: utils.NewDecimal(125, 2), // 1.25 @@ -169,7 +169,7 @@ func TestCBDebitUnlimited(t *testing.T) { blnCfg: &utils.Balance{ ID: "CB", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: true, }, Units: utils.NewDecimal(100, 0), @@ -192,7 +192,7 @@ func TestCBDebitLimit(t *testing.T) { blnCfg: &utils.Balance{ ID: "CB", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 300.0, // 300 as limit }, Units: utils.NewDecimal(500, 0), // 500 Units @@ -216,7 +216,7 @@ func TestCBDebitLimitExceed(t *testing.T) { blnCfg: &utils.Balance{ ID: "CB", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 300.0, // 300 as limit }, Units: utils.NewDecimal(500, 0), // 500 Units @@ -239,7 +239,7 @@ func TestCBDebitLimitExceed2(t *testing.T) { blnCfg: &utils.Balance{ ID: "CB", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 300.0, // 300 as limit }, Units: utils.NewDecimal(500, 0), // 500 Units @@ -293,7 +293,7 @@ func TestCBDebitWithUnitFactorWithLimit(t *testing.T) { Factor: utils.NewDecimal(100, 0), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 300.0, // 300 as limit }, Units: utils.NewDecimal(500, 0), // 500 Units @@ -321,7 +321,7 @@ func TestCBDebitWithUnitFactorWithUnlimited(t *testing.T) { Factor: utils.NewDecimal(100, 0), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: true, }, Units: utils.NewDecimal(500, 0), // 500 Units @@ -354,7 +354,7 @@ func TestCBDebitWithUnitFactorWithFilters1(t *testing.T) { Factor: utils.NewDecimal(100, 0), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: true, }, Units: utils.NewDecimal(500, 0), // 500 Units @@ -363,7 +363,7 @@ func TestCBDebitWithUnitFactorWithFilters1(t *testing.T) { } cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "CustomValueee", }, } @@ -393,7 +393,7 @@ func TestCBDebitWithUnitFactorWithFiltersWithLimit(t *testing.T) { Factor: utils.NewDecimal(100, 0), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: 300.0, // 300 as limit }, Units: utils.NewDecimal(500, 0), // 500 Units @@ -401,7 +401,7 @@ func TestCBDebitWithUnitFactorWithFiltersWithLimit(t *testing.T) { fltrS: filterS, } cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "CustomValue", }, } @@ -440,7 +440,7 @@ func TestCBDebitWithMultipleUnitFactor(t *testing.T) { fltrS: filterS, } cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField2": "CustomValue2", }, } @@ -470,7 +470,7 @@ func TestCBDebitWithBalanceFilter(t *testing.T) { fltrS: filterS, } cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "CustomValue", }, } @@ -500,7 +500,7 @@ func TestCBDebitWithBalanceFilterNotPassing(t *testing.T) { fltrS: filterS, } cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "CustomValue", }, } @@ -526,7 +526,7 @@ func TestCBDebitWithBalanceInvalidFilter(t *testing.T) { fltrS: filterS, } cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "CustomValue", }, } @@ -557,7 +557,7 @@ func TestCBDebitWithInvalidUnitFactorFilter(t *testing.T) { fltrS: filterS, } cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "CustomValue", }, } @@ -577,7 +577,7 @@ func TestCBDebitWithInvalidLimit(t *testing.T) { blnCfg: &utils.Balance{ ID: "CB", Type: utils.MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: "invalid", }, Units: utils.NewDecimal(500, 0), // 500 Units @@ -585,7 +585,7 @@ func TestCBDebitWithInvalidLimit(t *testing.T) { fltrS: filterS, } cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "CustomValue", }, } @@ -674,7 +674,7 @@ func TestCBSDebitAbstractsNoMatchFilter(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField2": "CustomValue2", }, } @@ -722,8 +722,8 @@ func TestCBSDebitAbstractsCoverProcessAttributes(t *testing.T) { // coverage pur engine.Cache.Clear(nil) sTestMock := &testMockCall{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.AttributeSv1ProcessEvent: func(_ *context.Context, _, _ interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.AttributeSv1ProcessEvent: func(_ *context.Context, _, _ any) error { return utils.ErrNotImplemented }, }, @@ -766,8 +766,8 @@ func TestCBSDebitAbstractsCoverProcessAttributes2(t *testing.T) { // coverage pu engine.Cache.Clear(nil) sTestMock := &testMockCall{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.AttributeSv1ProcessEvent: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.AttributeSv1ProcessEvent: func(_ *context.Context, args, reply any) error { rplCast, canCast := reply.(*engine.AttrSProcessEventReply) if !canCast { t.Errorf("Wrong argument type : %T", reply) @@ -779,10 +779,10 @@ func TestCBSDebitAbstractsCoverProcessAttributes2(t *testing.T) { // coverage pu CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField2": "CustomValue2", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } *rplCast = *customEv diff --git a/accounts/libaccounts.go b/accounts/libaccounts.go index e3e92aa2e..988158774 100644 --- a/accounts/libaccounts.go +++ b/accounts/libaccounts.go @@ -160,7 +160,7 @@ func unitFactor(ctx *context.Context, cfgUnitFactors []*utils.UnitFactor, } // balanceLimit returns the balance limit based on configuration -func balanceLimit(optsCfg map[string]interface{}) (bL *utils.Decimal, err error) { +func balanceLimit(optsCfg map[string]any) (bL *utils.Decimal, err error) { if _, isUnlimited := optsCfg[utils.MetaBalanceUnlimited]; isUnlimited { return // unlimited is nil pointer } diff --git a/accounts/libaccounts_test.go b/accounts/libaccounts_test.go index 749f8a13d..67b97309f 100644 --- a/accounts/libaccounts_test.go +++ b/accounts/libaccounts_test.go @@ -97,10 +97,10 @@ func TestNewAccountBalanceOperators(t *testing.T) { } type testMockCall struct { - calls map[string]func(_ *context.Context, _, _ interface{}) error + calls map[string]func(_ *context.Context, _, _ any) error } -func (tS *testMockCall) Call(ctx *context.Context, method string, args, rply interface{}) error { +func (tS *testMockCall) Call(ctx *context.Context, method string, args, rply any) error { if call, has := tS.calls[method]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -113,8 +113,8 @@ func TestProcessAttributeS(t *testing.T) { engine.Cache.Clear(nil) sTestMock := &testMockCall{ // coverage purpose - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.AttributeSv1ProcessEvent: func(_ *context.Context, _, _ interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.AttributeSv1ProcessEvent: func(_ *context.Context, _, _ any) error { return utils.ErrNotImplemented }, }, @@ -126,7 +126,7 @@ func TestProcessAttributeS(t *testing.T) { cgrEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: "20", }, } @@ -143,8 +143,8 @@ func TestRateSCostForEvent(t *testing.T) { // coverage purpose engine.Cache.Clear(nil) sTestMock := &testMockCall{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.RateSv1CostForEvent: func(_ *context.Context, _, _ interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.RateSv1CostForEvent: func(_ *context.Context, _, _ any) error { return utils.ErrNotImplemented }, }, @@ -156,7 +156,7 @@ func TestRateSCostForEvent(t *testing.T) { // coverage purpose cgrEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID1", - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } rateSConns := []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRates)} @@ -171,8 +171,8 @@ func TestRateSCostForEvent2(t *testing.T) { // coverage purpose engine.Cache.Clear(nil) sTestMock := &testMockCall{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.RateSv1CostForEvent: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.RateSv1CostForEvent: func(_ *context.Context, args, reply any) error { rplCast, canCast := reply.(*utils.RateProfileCost) if !canCast { t.Errorf("Wrong argument type : %T", reply) @@ -194,7 +194,7 @@ func TestRateSCostForEvent2(t *testing.T) { // coverage purpose cgrEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID1", - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } rateSConns := []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaRates)} @@ -293,8 +293,8 @@ func TestDebitUsageFromConcretesFromRateS(t *testing.T) { data := engine.NewInternalDB(nil, nil, cfg.DataDbCfg().Items) dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sTestMock := &testMockCall{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.RateSv1CostForEvent: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.RateSv1CostForEvent: func(_ *context.Context, args, reply any) error { rplCast, canCast := reply.(*utils.RateProfileCost) if !canCast { t.Errorf("Wrong argument type : %T", reply) @@ -717,7 +717,7 @@ func TestDebitFromBothBalances(t *testing.T) { CGREvent: &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "2003", utils.Usage: "300", }, diff --git a/actions/accounts_test.go b/actions/accounts_test.go index 9037dcdcf..13ddc65f5 100644 --- a/actions/accounts_test.go +++ b/actions/accounts_test.go @@ -46,10 +46,10 @@ func TestACExecuteAccountsSetBalance(t *testing.T) { } dataStorage := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "1001", }, - utils.MetaOpts: map[string]interface{}{ + utils.MetaOpts: map[string]any{ utils.Usage: 10 * time.Minute, }, } diff --git a/actions/actions.go b/actions/actions.go index edd4f9521..a1b8ad0f2 100644 --- a/actions/actions.go +++ b/actions/actions.go @@ -86,7 +86,7 @@ func (aS *ActionS) schedInit() { for i, tnt := range tnts { cgrEvs[i] = &utils.CGREvent{ Tenant: tnt, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventType: utils.SchedulerInit, utils.NodeID: aS.cfg.GeneralCfg().NodeID, }, diff --git a/actions/actions_test.go b/actions/actions_test.go index 611e2897c..998e0e282 100644 --- a/actions/actions_test.go +++ b/actions/actions_test.go @@ -45,11 +45,11 @@ func TestMatchingActionProfilesForEvent(t *testing.T) { acts := NewActionS(cfg, filters, dm, nil) evNM := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, }, - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } actPrf := &engine.ActionProfile{ @@ -83,10 +83,10 @@ func TestMatchingActionProfilesForEvent(t *testing.T) { } evNM = utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "10", }, - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } //This Event is not matching with our filter if _, err := acts.matchingActionProfilesForEvent(context.Background(), "cgrates.org", @@ -95,10 +95,10 @@ func TestMatchingActionProfilesForEvent(t *testing.T) { } evNM = utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "1001", }, - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } actPrfIDs := []string{"inexisting_id"} //Unable to get from database an ActionProfile if the ID won't match @@ -155,14 +155,14 @@ func TestScheduledActions(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ACTIONS1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, }, } evNM := utils.MapStorage{ utils.MetaReq: cgrEv.Event, - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } actPrf := &engine.ActionProfile{ @@ -199,7 +199,7 @@ func TestScheduledActions(t *testing.T) { cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ACTIONS1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Accounts: "10", }, } @@ -220,7 +220,7 @@ func TestScheduleAction(t *testing.T) { { Tenant: "cgrates.org", ID: "TEST_ACTIONS1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, }, @@ -287,7 +287,7 @@ func TestAsapExecuteActions(t *testing.T) { { Tenant: "cgrates.org", ID: "CHANGED_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, }, @@ -296,7 +296,7 @@ func TestAsapExecuteActions(t *testing.T) { evNM := utils.MapStorage{ utils.MetaReq: cgrEv[0].Event, - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } expSchedActs := newScheduledActs(context.Background(), cgrEv[0].Tenant, cgrEv[0].ID, utils.MetaNone, utils.EmptyString, @@ -354,11 +354,11 @@ func TestV1ScheduleActions(t *testing.T) { var reply string ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } actPrf := &engine.ActionProfile{ @@ -410,11 +410,11 @@ func TestV1ExecuteActions(t *testing.T) { var reply string ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } actPrf := &engine.ActionProfile{ @@ -518,10 +518,10 @@ func (dbM *dataDBMockError) GetIndexesDrv(ctx *context.Context, idxItmType, tntC func TestLogActionExecute(t *testing.T) { evNM := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "10", }, - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } tmpLogger := utils.Logger @@ -543,10 +543,10 @@ func TestLogActionExecute(t *testing.T) { } type testMockCDRsConn struct { - calls map[string]func(_ *context.Context, _, _ interface{}) error + calls map[string]func(_ *context.Context, _, _ any) error } -func (s *testMockCDRsConn) Call(ctx *context.Context, method string, arg, rply interface{}) error { +func (s *testMockCDRsConn) Call(ctx *context.Context, method string, arg, rply any) error { call, has := s.calls[method] if !has { return rpcclient.ErrUnsupporteServiceMethod @@ -556,8 +556,8 @@ func (s *testMockCDRsConn) Call(ctx *context.Context, method string, arg, rply i func TestCDRLogActionExecute(t *testing.T) { sMock := &testMockCDRsConn{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.CDRsV1ProcessEvent: func(_ *context.Context, arg, rply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.CDRsV1ProcessEvent: func(_ *context.Context, arg, rply any) error { argConv, can := arg.(*utils.CGREvent) if !can { return fmt.Errorf("Wrong argument type: %T", arg) @@ -609,14 +609,14 @@ func TestCDRLogActionExecute(t *testing.T) { aCfg: apA, } evNM := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "10", utils.Tenant: "cgrates.org", utils.BalanceType: utils.MetaConcrete, utils.Cost: 0.15, utils.ActionType: utils.MetaTopUp, }, - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } if err := cdrLogAction.execute(context.Background(), evNM, utils.MetaNone); err != nil { t.Error(err) @@ -627,8 +627,8 @@ func TestCDRLogActionWithOpts(t *testing.T) { // Clear cache because connManager sets the internal connection in cache engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock2 := &testMockCDRsConn{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.CDRsV1ProcessEvent: func(_ *context.Context, arg, rply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.CDRsV1ProcessEvent: func(_ *context.Context, arg, rply any) error { argConv, can := arg.(*utils.CGREvent) if !can { return fmt.Errorf("Wrong argument type: %T", arg) @@ -706,7 +706,7 @@ func TestCDRLogActionWithOpts(t *testing.T) { apA := &engine.APAction{ ID: "ACT_CDRLOG2", Type: utils.MetaCdrLog, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaTemplateID: "CustomTemplate", }, } @@ -717,14 +717,14 @@ func TestCDRLogActionWithOpts(t *testing.T) { aCfg: apA, } evNM := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "10", utils.Tenant: "cgrates.org", utils.BalanceType: utils.MetaConcrete, utils.Cost: 0.15, utils.ActionType: utils.MetaTopUp, }, - utils.MetaOpts: map[string]interface{}{ + utils.MetaOpts: map[string]any{ "EventFieldOpt": "eventValue", }, } @@ -737,8 +737,8 @@ func TestExportAction(t *testing.T) { // Clear cache because connManager sets the internal connection in cache engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock2 := &testMockCDRsConn{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.EeSv1ProcessEvent: func(_ *context.Context, arg, rply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.EeSv1ProcessEvent: func(_ *context.Context, arg, rply any) error { argConv, can := arg.(*utils.CGREventWithEeIDs) if !can { return fmt.Errorf("Wrong argument type: %T", arg) @@ -768,14 +768,14 @@ func TestExportAction(t *testing.T) { aCfg: apA, } evNM := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "10", utils.Tenant: "cgrates.org", utils.BalanceType: utils.MetaConcrete, utils.Cost: 0.15, utils.ActionType: utils.MetaTopUp, }, - utils.MetaOpts: map[string]interface{}{ + utils.MetaOpts: map[string]any{ "EventFieldOpt": "eventValue", }, } @@ -788,8 +788,8 @@ func TestExportActionWithEeIDs(t *testing.T) { // Clear cache because connManager sets the internal connection in cache engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock2 := &testMockCDRsConn{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.EeSv1ProcessEvent: func(_ *context.Context, arg, rply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.EeSv1ProcessEvent: func(_ *context.Context, arg, rply any) error { argConv, can := arg.(*utils.CGREventWithEeIDs) if !can { return fmt.Errorf("Wrong argument type: %T", arg) @@ -814,7 +814,7 @@ func TestExportActionWithEeIDs(t *testing.T) { apA := &engine.APAction{ ID: "ACT_CDRLOG2", Type: utils.MetaExport, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaExporterIDs: "Exporter1;Exporter2;Exporter3", }, } @@ -825,14 +825,14 @@ func TestExportActionWithEeIDs(t *testing.T) { aCfg: apA, } evNM := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "10", utils.Tenant: "cgrates.org", utils.BalanceType: utils.MetaConcrete, utils.Cost: 0.15, utils.ActionType: utils.MetaTopUp, }, - utils.MetaOpts: map[string]interface{}{ + utils.MetaOpts: map[string]any{ "EventFieldOpt": "eventValue", }, } @@ -845,8 +845,8 @@ func TestExportActionResetThresholdStaticTenantID(t *testing.T) { // Clear cache because connManager sets the internal connection in cache engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock2 := &testMockCDRsConn{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.ThresholdSv1ResetThreshold: func(_ *context.Context, arg, rply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.ThresholdSv1ResetThreshold: func(_ *context.Context, arg, rply any) error { argConv, can := arg.(*utils.TenantIDWithAPIOpts) if !can { return fmt.Errorf("Wrong argument type: %T", arg) @@ -880,7 +880,7 @@ func TestExportActionResetThresholdStaticTenantID(t *testing.T) { aCfg: apA, } evNM := utils.MapStorage{ - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } if err := exportAction.execute(context.Background(), evNM, "cgrates.org:TH1"); err != nil { t.Error(err) @@ -891,8 +891,8 @@ func TestExportActionResetThresholdStaticID(t *testing.T) { // Clear cache because connManager sets the internal connection in cache engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock2 := &testMockCDRsConn{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.ThresholdSv1ResetThreshold: func(_ *context.Context, arg, rply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.ThresholdSv1ResetThreshold: func(_ *context.Context, arg, rply any) error { argConv, can := arg.(*utils.TenantIDWithAPIOpts) if !can { return fmt.Errorf("Wrong argument type: %T", arg) @@ -926,7 +926,7 @@ func TestExportActionResetThresholdStaticID(t *testing.T) { aCfg: apA, } evNM := utils.MapStorage{ - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } if err := exportAction.execute(context.Background(), evNM, "TH1"); err != nil { t.Error(err) @@ -937,8 +937,8 @@ func TestExportActionResetStatStaticTenantID(t *testing.T) { // Clear cache because connManager sets the internal connection in cache engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock2 := &testMockCDRsConn{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.StatSv1ResetStatQueue: func(_ *context.Context, arg, rply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.StatSv1ResetStatQueue: func(_ *context.Context, arg, rply any) error { argConv, can := arg.(*utils.TenantIDWithAPIOpts) if !can { return fmt.Errorf("Wrong argument type: %T", arg) @@ -972,7 +972,7 @@ func TestExportActionResetStatStaticTenantID(t *testing.T) { aCfg: apA, } evNM := utils.MapStorage{ - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } if err := exportAction.execute(context.Background(), evNM, "cgrates.org:ST1"); err != nil { t.Error(err) @@ -983,8 +983,8 @@ func TestExportActionResetStatStaticID(t *testing.T) { // Clear cache because connManager sets the internal connection in cache engine.Cache.Clear([]string{utils.CacheRPCConnections}) sMock2 := &testMockCDRsConn{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.StatSv1ResetStatQueue: func(_ *context.Context, arg, rply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.StatSv1ResetStatQueue: func(_ *context.Context, arg, rply any) error { argConv, can := arg.(*utils.TenantIDWithAPIOpts) if !can { return fmt.Errorf("Wrong argument type: %T", arg) @@ -1020,7 +1020,7 @@ func TestExportActionResetStatStaticID(t *testing.T) { aCfg: apA, } evNM := utils.MapStorage{ - utils.MetaOpts: map[string]interface{}{}, + utils.MetaOpts: map[string]any{}, } if err := exportAction.execute(context.Background(), evNM, "ST1"); err != nil { t.Error(err) @@ -1055,7 +1055,7 @@ func TestACScheduledActions(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "1005", }, } @@ -1137,11 +1137,11 @@ func TestV1ScheduleActionsProfileIgnoreFilters(t *testing.T) { var reply string ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"AP7"}, utils.MetaProfileIgnoreFilters: true, "testFieldIgnore": "testValue", @@ -1192,11 +1192,11 @@ func TestV1ExecuteActionsProfileIgnoreFilters(t *testing.T) { var reply string ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"AP8"}, utils.MetaProfileIgnoreFilters: true, "testFieldIgnore": "testValue", diff --git a/actions/export.go b/actions/export.go index ef6c69b84..1298de9cb 100644 --- a/actions/export.go +++ b/actions/export.go @@ -112,15 +112,15 @@ func (aL *actExport) execute(ctx *context.Context, data utils.MapStorage, _ stri if expIDs, has := aL.cfg().Opts[utils.MetaExporterIDs]; has { exporterIDs = strings.Split(utils.IfaceAsString(expIDs), utils.InfieldSep) } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any return aL.connMgr.Call(ctx, aL.config.ActionSCfg().EEsConns, utils.EeSv1ProcessEvent, &utils.CGREventWithEeIDs{ EeIDs: exporterIDs, CGREvent: &utils.CGREvent{ Tenant: aL.tnt, ID: utils.GenUUID(), - Event: data[utils.MetaReq].(map[string]interface{}), - APIOpts: data[utils.MetaOpts].(map[string]interface{}), + Event: data[utils.MetaReq].(map[string]any), + APIOpts: data[utils.MetaOpts].(map[string]any), }, }, &rply) } diff --git a/actions/export_test.go b/actions/export_test.go index e4c3fb416..ea1e4e345 100644 --- a/actions/export_test.go +++ b/actions/export_test.go @@ -50,10 +50,10 @@ func TestACHTTPPostExecute(t *testing.T) { } dataStorage := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "1001", }, - utils.MetaOpts: map[string]interface{}{ + utils.MetaOpts: map[string]any{ utils.Usage: 10 * time.Minute, }, } @@ -80,11 +80,11 @@ func TestACHTTPPostExecute(t *testing.T) { } dataStorage = utils.MapStorage{ - utils.MetaOpts: map[string]interface{}{ + utils.MetaOpts: map[string]any{ utils.MetaAsync: 10 * time.Minute, }, } - http.aCfg.Opts = make(map[string]interface{}) + http.aCfg.Opts = make(map[string]any) http.aCfg.Opts[utils.MetaAsync] = true http.config.EFsCfg().FailedPostsDir = utils.MetaNone if err := http.execute(context.Background(), dataStorage, utils.EmptyString); err != nil { @@ -112,7 +112,7 @@ func TestACHTTPPostValues(t *testing.T) { t.Error(err) } dataStorage := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: 1003, }, } diff --git a/actions/log.go b/actions/log.go index b047d5f69..691e2da3b 100644 --- a/actions/log.go +++ b/actions/log.go @@ -72,8 +72,8 @@ func (aL *actCDRLog) execute(ctx *context.Context, data utils.MapStorage, _ stri template = aL.config.TemplatesCfg()[utils.IfaceAsString(id)] } // split the data into Request and Opts to send as parameters to AgentRequest - reqNm := utils.MapStorage(data[utils.MetaReq].(map[string]interface{})).Clone() - optsMS := utils.MapStorage(data[utils.MetaOpts].(map[string]interface{})).Clone() + reqNm := utils.MapStorage(data[utils.MetaReq].(map[string]any)).Clone() + optsMS := utils.MapStorage(data[utils.MetaOpts].(map[string]any)).Clone() if optsMS == nil { optsMS = utils.MapStorage{} } diff --git a/actions/log_test.go b/actions/log_test.go index 2de3a51ef..31a5aa3cb 100644 --- a/actions/log_test.go +++ b/actions/log_test.go @@ -41,10 +41,10 @@ func TestACExecuteActCDRLog(t *testing.T) { } dataStorage := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.AccountField: "1001", }, - utils.MetaOpts: map[string]interface{}{ + utils.MetaOpts: map[string]any{ utils.Usage: 10 * time.Minute, }, } diff --git a/actions/reset.go b/actions/reset.go index 7d634a296..ef8f960b7 100644 --- a/actions/reset.go +++ b/actions/reset.go @@ -44,7 +44,7 @@ func (aL *actResetStat) cfg() *engine.APAction { func (aL *actResetStat) execute(ctx *context.Context, data utils.MapStorage, trgID string) (err error) { args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID(trgID), - APIOpts: data[utils.MetaOpts].(map[string]interface{}), + APIOpts: data[utils.MetaOpts].(map[string]any), } if args.Tenant == utils.EmptyString { // in case that user pass only ID we populate the tenant from the event args.Tenant = aL.tnt @@ -73,7 +73,7 @@ func (aL *actResetThreshold) cfg() *engine.APAction { func (aL *actResetThreshold) execute(ctx *context.Context, data utils.MapStorage, trgID string) (err error) { args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID(trgID), - APIOpts: data[utils.MetaOpts].(map[string]interface{}), + APIOpts: data[utils.MetaOpts].(map[string]any), } if args.Tenant == utils.EmptyString { // in case that user pass only ID we populate the tenant from the event args.Tenant = aL.tnt diff --git a/agents/agentreq.go b/agents/agentreq.go index ee55dd5c1..b2745264f 100644 --- a/agents/agentreq.go +++ b/agents/agentreq.go @@ -97,7 +97,7 @@ func (ar *AgentRequest) String() string { } // FieldAsInterface implements utils.DataProvider -func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val any, err error) { switch fldPath[0] { default: dp, has := ar.ExtraDP[fldPath[0]] @@ -182,7 +182,7 @@ func (ar *AgentRequest) FieldAsInterface(fldPath []string) (val interface{}, err // FieldAsString implements utils.DataProvider func (ar *AgentRequest) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any if iface, err = ar.FieldAsInterface(fldPath); err != nil { return } @@ -213,7 +213,7 @@ func (ar *AgentRequest) SetFields(tplFlds []*config.FCTemplate) (err error) { return } default: - var out interface{} + var out any out, err = ar.ParseField(tplFld) if err != nil { if err == utils.ErrNotFound { @@ -350,7 +350,7 @@ func (ar *AgentRequest) Remove(fullPath *utils.FullPath) error { // ParseField outputs the value based on the template item func (ar *AgentRequest) ParseField( - cfgFld *config.FCTemplate) (out interface{}, err error) { + cfgFld *config.FCTemplate) (out any, err error) { tmpType := cfgFld.Type switch tmpType { case utils.MetaFiller: @@ -457,7 +457,7 @@ func (ar *AgentRequest) Compose(fullPath *utils.FullPath, val *utils.DataLeaf) ( case utils.MetaTmp: return ar.tmp.Compose(fullPath.PathSlice[1:], val) case utils.MetaOpts: - var prv interface{} + var prv any if prv, err = ar.Opts.FieldAsInterface(fullPath.PathSlice[1:]); err != nil { if err != utils.ErrNotFound { return @@ -470,7 +470,7 @@ func (ar *AgentRequest) Compose(fullPath *utils.FullPath, val *utils.DataLeaf) ( case utils.MetaUCH: path := fullPath.Path[5:] - var prv interface{} + var prv any if prvI, ok := engine.Cache.Get(utils.CacheUCH, path); !ok { prv = val.Data } else { diff --git a/agents/agentreq_test.go b/agents/agentreq_test.go index 235fac2c2..d53045a87 100644 --- a/agents/agentreq_test.go +++ b/agents/agentreq_test.go @@ -135,7 +135,7 @@ func TestAgReqSetFields(t *testing.T) { } func TestAgentRequestSetFields(t *testing.T) { - req := map[string]interface{}{ + req := map[string]any{ utils.AccountField: 1009, utils.Tenant: "cgrates.org", } @@ -959,7 +959,7 @@ func TestAgReqFieldAsInterface(t *testing.T) { agReq.CGRRequest.Set(&utils.FullPath{Path: utils.Tenant, PathSlice: []string{utils.Tenant}}, utils.NewLeafNode("cgrates.org")) path := []string{utils.MetaCgreq, utils.Usage} - var expVal interface{} + var expVal any expVal = 3 * time.Minute if rply, err := agReq.FieldAsInterface(path); err != nil { t.Error(err) diff --git a/agents/astagent.go b/agents/astagent.go index 3ba7a4ada..c8865dd68 100644 --- a/agents/astagent.go +++ b/agents/astagent.go @@ -75,7 +75,7 @@ type AsteriskAgent struct { connMgr *engine.ConnManager astConnIdx int astConn *aringo.ARInGO - astEvChan chan map[string]interface{} + astEvChan chan map[string]any astErrChan chan error eventsCache map[string]*utils.CGREvent // used to gather information about events during various phases evCacheMux sync.RWMutex // Protect eventsCache @@ -84,7 +84,7 @@ type AsteriskAgent struct { func (sma *AsteriskAgent) connectAsterisk(stopChan <-chan struct{}) (err error) { connCfg := sma.cgrCfg.AsteriskAgentCfg().AsteriskConns[sma.astConnIdx] - sma.astEvChan = make(chan map[string]interface{}) + sma.astEvChan = make(chan map[string]any) sma.astErrChan = make(chan error) sma.astConn, err = aringo.NewARInGO(fmt.Sprintf("ws://%s/ari/events?api_key=%s:%s&app=%s", connCfg.Address, connCfg.User, connCfg.Password, CGRAuthAPP), "http://cgrates.org", @@ -262,7 +262,7 @@ func (sma *AsteriskAgent) handleChannelStateChange(ev *SMAsteriskEvent) { var initS bool if cgrEvDisp.APIOpts == nil { initS = true - cgrEvDisp.APIOpts = map[string]interface{}{utils.OptsSesInitiate: true} + cgrEvDisp.APIOpts = map[string]any{utils.OptsSesInitiate: true} } else { initS = utils.OptAsBool(cgrEvDisp.APIOpts, utils.OptsSesInitiate) } @@ -303,7 +303,7 @@ func (sma *AsteriskAgent) handleChannelDestroyed(ev *SMAsteriskEvent) { } // populate terminate session args if cgrEvDisp.APIOpts == nil { - cgrEvDisp.APIOpts = map[string]interface{}{utils.OptsSesTerminate: true} + cgrEvDisp.APIOpts = map[string]any{utils.OptsSesTerminate: true} } var reply string @@ -335,7 +335,7 @@ func (sma *AsteriskAgent) V1DisconnectSession(_ *context.Context, args utils.Att // V1GetActiveSessionIDs is internal method to get all active sessions in asterisk func (sma *AsteriskAgent) V1GetActiveSessionIDs(_ *context.Context, _ string, sessionIDs *[]*sessions.SessionID) error { - var slMpIface []map[string]interface{} // decode the result from ari into a slice of map[string]interface{} + var slMpIface []map[string]any // decode the result from ari into a slice of map[string]any if byts, err := sma.astConn.Call( aringo.HTTP_GET, fmt.Sprintf("http://%s/ari/channels", @@ -371,6 +371,6 @@ func (*AsteriskAgent) V1DisconnectPeer(_ *context.Context, args *utils.DPRArgs, } // V1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (sma *AsteriskAgent) V1WarnDisconnect(_ *context.Context, args map[string]interface{}, reply *string) (err error) { +func (sma *AsteriskAgent) V1WarnDisconnect(_ *context.Context, args map[string]any, reply *string) (err error) { return utils.ErrNotImplemented } diff --git a/agents/asterisk_event.go b/agents/asterisk_event.go index 07996dcef..2d5be7b27 100644 --- a/agents/asterisk_event.go +++ b/agents/asterisk_event.go @@ -25,30 +25,30 @@ import ( "github.com/cgrates/cgrates/utils" ) -func NewSMAsteriskEvent(ariEv map[string]interface{}, asteriskIP, asteriskAlias string) *SMAsteriskEvent { +func NewSMAsteriskEvent(ariEv map[string]any, asteriskIP, asteriskAlias string) *SMAsteriskEvent { smsmaEv := &SMAsteriskEvent{ ariEv: ariEv, asteriskIP: asteriskIP, asteriskAlias: asteriskAlias, cachedFields: make(map[string]string), - opts: make(map[string]interface{}), + opts: make(map[string]any), } smsmaEv.parseStasisArgs() // Populate appArgs return smsmaEv } type SMAsteriskEvent struct { // Standalone struct so we can cache the fields while we parse them - ariEv map[string]interface{} // stasis event + ariEv map[string]any // stasis event asteriskIP string asteriskAlias string cachedFields map[string]string // Cache replies here - opts map[string]interface{} + opts map[string]any } // parseStasisArgs will convert the args passed to Stasis into CGRateS attribute/value pairs understood by CGRateS and store them in cachedFields // args need to be in the form of []string{"key=value", "key2=value2"} func (smaEv *SMAsteriskEvent) parseStasisArgs() { - args, _ := smaEv.ariEv["args"].([]interface{}) + args, _ := smaEv.ariEv["args"].([]any) for _, arg := range args { if splt := strings.Split(arg.(string), "="); len(splt) > 1 { if !utils.CGROptionsSet.Has(splt[0]) { @@ -78,7 +78,7 @@ func (smaEv *SMAsteriskEvent) ChannelID() string { cachedKey := channelID cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) cachedVal, _ = channelData["id"].(string) smaEv.cachedFields[cachedKey] = cachedVal } @@ -99,7 +99,7 @@ func (smaEv *SMAsteriskEvent) ChannelState() string { cachedKey := channelState cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) cachedVal, _ = channelData["state"].(string) } return cachedVal @@ -109,7 +109,7 @@ func (smaEv *SMAsteriskEvent) SetupTime() string { cachedKey := utils.SetupTime cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) cachedVal, _ = channelData["creationtime"].(string) smaEv.cachedFields[cachedKey] = cachedVal } @@ -120,8 +120,8 @@ func (smaEv *SMAsteriskEvent) Account() string { cachedKey := utils.CGRAccount cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) - callerData, _ := channelData["caller"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) + callerData, _ := channelData["caller"].(map[string]any) cachedVal, _ = callerData["number"].(string) smaEv.cachedFields[cachedKey] = cachedVal } @@ -132,8 +132,8 @@ func (smaEv *SMAsteriskEvent) Destination() string { cachedKey := utils.CGRDestination cachedVal, hasIt := smaEv.cachedFields[cachedKey] if !hasIt { - channelData, _ := smaEv.ariEv["channel"].(map[string]interface{}) - dialplanData, _ := channelData["dialplan"].(map[string]interface{}) + channelData, _ := smaEv.ariEv["channel"].(map[string]any) + dialplanData, _ := channelData["dialplan"].(map[string]any) cachedVal, _ = dialplanData["exten"].(string) smaEv.cachedFields[cachedKey] = cachedVal } @@ -229,8 +229,8 @@ func (smaEv *SMAsteriskEvent) UpdateCGREvent(cgrEv *utils.CGREvent) error { return nil } -func (smaEv *SMAsteriskEvent) AsMapStringInterface() (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func (smaEv *SMAsteriskEvent) AsMapStringInterface() (mp map[string]any) { + mp = make(map[string]any) switch smaEv.EventType() { case ARIStasisStart: mp[utils.EventName] = SMAAuthorization diff --git a/agents/asterisk_event_test.go b/agents/asterisk_event_test.go index 25a4c5dbd..7b16191ee 100644 --- a/agents/asterisk_event_test.go +++ b/agents/asterisk_event_test.go @@ -34,7 +34,7 @@ var ( ) func TestSMAParseStasisArgs(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -43,7 +43,7 @@ func TestSMAParseStasisArgs(t *testing.T) { if !reflect.DeepEqual(smaEv.cachedFields, expAppArgs) { t.Errorf("Expecting: %+v, received: %+v", smaEv.cachedFields, expAppArgs) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -55,7 +55,7 @@ func TestSMAParseStasisArgs(t *testing.T) { } func TestSMAEventType(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -63,7 +63,7 @@ func TestSMAEventType(t *testing.T) { if smaEv.EventType() != "StasisStart" { t.Error("Received:", smaEv.EventType()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -74,7 +74,7 @@ func TestSMAEventType(t *testing.T) { } func TestSMAEventChannelID(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -82,7 +82,7 @@ func TestSMAEventChannelID(t *testing.T) { if smaEv.ChannelID() != "1473681228.6" { t.Error("Received:", smaEv.ChannelID()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -93,7 +93,7 @@ func TestSMAEventChannelID(t *testing.T) { } func TestSMAEventOriginatorIP(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -104,7 +104,7 @@ func TestSMAEventOriginatorIP(t *testing.T) { } func TestSMAEventAccount(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -112,7 +112,7 @@ func TestSMAEventAccount(t *testing.T) { if smaEv.Account() != "1001" { t.Error("Received:", smaEv.Account()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -123,7 +123,7 @@ func TestSMAEventAccount(t *testing.T) { } func TestSMAEventDestination(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -131,7 +131,7 @@ func TestSMAEventDestination(t *testing.T) { if smaEv.Destination() != "1002" { t.Error("Received:", smaEv.Destination()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -142,7 +142,7 @@ func TestSMAEventDestination(t *testing.T) { } func TestSMAEventTimestamp(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -150,7 +150,7 @@ func TestSMAEventTimestamp(t *testing.T) { if smaEv.Timestamp() != "2016-09-12T13:53:48.919+0200" { t.Error("Received:", smaEv.Timestamp()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -161,7 +161,7 @@ func TestSMAEventTimestamp(t *testing.T) { } func TestSMAEventChannelState(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(channelStateChange), &ev); err != nil { t.Error(err) } @@ -169,7 +169,7 @@ func TestSMAEventChannelState(t *testing.T) { if smaEv.ChannelState() != "Up" { t.Error("Received:", smaEv.ChannelState()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -180,7 +180,7 @@ func TestSMAEventChannelState(t *testing.T) { } func TestSMASetupTime(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(channelStateChange), &ev); err != nil { t.Error(err) } @@ -188,7 +188,7 @@ func TestSMASetupTime(t *testing.T) { if smaEv.SetupTime() != "2016-09-12T13:53:48.918+0200" { t.Error("Received:", smaEv.SetupTime()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data if err := json.Unmarshal([]byte("{}"), &ev); err != nil { t.Error(err) } @@ -199,7 +199,7 @@ func TestSMASetupTime(t *testing.T) { } func TestSMAEventRequestType(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -207,7 +207,7 @@ func TestSMAEventRequestType(t *testing.T) { if smaEv.RequestType() != "*prepaid" { t.Error("Received:", smaEv.RequestType()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.RequestType() != config.CgrConfig().GeneralCfg().DefaultReqType { t.Error("Received:", smaEv.RequestType()) @@ -215,7 +215,7 @@ func TestSMAEventRequestType(t *testing.T) { } func TestSMAEventTenant(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -223,7 +223,7 @@ func TestSMAEventTenant(t *testing.T) { if smaEv.Tenant() != "" { t.Error("Received:", smaEv.Tenant()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_tenant=cgrates.org"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_tenant=cgrates.org"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.Tenant() != "cgrates.org" { t.Error("Received:", smaEv.Tenant()) @@ -231,7 +231,7 @@ func TestSMAEventTenant(t *testing.T) { } func TestSMAEventCategory(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -239,7 +239,7 @@ func TestSMAEventCategory(t *testing.T) { if smaEv.Category() != "" { t.Error("Received:", smaEv.Category()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_category=premium_call"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_category=premium_call"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.Category() != "premium_call" { t.Error("Received:", smaEv.Category()) @@ -247,7 +247,7 @@ func TestSMAEventCategory(t *testing.T) { } func TestSMAEventSubject(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -255,7 +255,7 @@ func TestSMAEventSubject(t *testing.T) { if smaEv.Subject() != "" { t.Error("Received:", smaEv.Subject()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_subject=dan"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_subject=dan"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.Subject() != "dan" { t.Error("Received:", smaEv.Subject()) @@ -263,7 +263,7 @@ func TestSMAEventSubject(t *testing.T) { } func TestSMAEventPDD(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -271,7 +271,7 @@ func TestSMAEventPDD(t *testing.T) { if smaEv.PDD() != "" { t.Error("Received:", smaEv.PDD()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_pdd=2.1"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_pdd=2.1"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.PDD() != "2.1" { t.Error("Received:", smaEv.PDD()) @@ -279,7 +279,7 @@ func TestSMAEventPDD(t *testing.T) { } func TestSMAEventRoute(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -287,7 +287,7 @@ func TestSMAEventRoute(t *testing.T) { if smaEv.Route() != "supplier1" { t.Error("Received:", smaEv.Route()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_route=supplier1"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_route=supplier1"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.Route() != "supplier1" { t.Error("Received:", smaEv.Route()) @@ -295,7 +295,7 @@ func TestSMAEventRoute(t *testing.T) { } func TestSMAEventDisconnectCause(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -303,18 +303,18 @@ func TestSMAEventDisconnectCause(t *testing.T) { if smaEv.DisconnectCause() != "" { t.Error("Received:", smaEv.DisconnectCause()) } - ev = map[string]interface{}{"args": []interface{}{"cgr_disconnectcause=NORMAL_DISCONNECT"}} // Clear previous data + ev = map[string]any{"args": []any{"cgr_disconnectcause=NORMAL_DISCONNECT"}} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.DisconnectCause() != "NORMAL_DISCONNECT" { t.Error("Received:", smaEv.DisconnectCause()) } - ev = map[string]interface{}{"cause": 16} // Clear previous data + ev = map[string]any{"cause": 16} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.DisconnectCause() != "16" { t.Error("Received:", smaEv.DisconnectCause()) } - ev = map[string]interface{}{"cause_txt": "NORMAL_DISCONNECT"} // Clear previous data + ev = map[string]any{"cause_txt": "NORMAL_DISCONNECT"} // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.DisconnectCause() != "NORMAL_DISCONNECT" { t.Error("Received:", smaEv.DisconnectCause()) @@ -326,7 +326,7 @@ func TestSMAEventExtraParameters(t *testing.T) { "extra1": "val1", "extra2": "val2", } - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -340,7 +340,7 @@ func TestSMAEventExtraParameters(t *testing.T) { } func TestRequestType(t *testing.T) { - var ev map[string]interface{} + var ev map[string]any if err := json.Unmarshal([]byte(stasisStart), &ev); err != nil { t.Error(err) } @@ -348,7 +348,7 @@ func TestRequestType(t *testing.T) { if smaEv.RequestType() != "*prepaid" { t.Error("Received:", smaEv.RequestType()) } - ev = make(map[string]interface{}) // Clear previous data + ev = make(map[string]any) // Clear previous data smaEv = NewSMAsteriskEvent(ev, "127.0.0.1", "") if smaEv.RequestType() != config.CgrConfig().GeneralCfg().DefaultReqType { t.Error("Received:", smaEv.RequestType()) diff --git a/agents/diam_it_test.go b/agents/diam_it_test.go index fe5654752..b4f499ebc 100644 --- a/agents/diam_it_test.go +++ b/agents/diam_it_test.go @@ -402,7 +402,7 @@ package agents // } // // Result-Code // eVal := "2002" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -413,7 +413,7 @@ package agents // } // eVal = "cgrates;1451911932;00082" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Session-Id"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Session-Id"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -423,7 +423,7 @@ package agents // t.Errorf("expecting: %s, received: <%s>", eVal, val) // } // eVal = "CGR-DA" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Origin-Host"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Origin-Host"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -433,7 +433,7 @@ package agents // t.Errorf("expecting: %s, received: <%s>", eVal, val) // } // eVal = "cgrates.org" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Origin-Realm"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Origin-Realm"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -443,7 +443,7 @@ package agents // t.Errorf("expecting: %s, received: <%s>", eVal, val) // } // eVal = "4" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Auth-Application-Id"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Auth-Application-Id"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -453,7 +453,7 @@ package agents // t.Errorf("expecting: %s, received: <%s>", eVal, val) // } // eVal = "1" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"CC-Request-Type"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"CC-Request-Type"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -463,7 +463,7 @@ package agents // t.Errorf("expecting: %s, received: <%s>", eVal, val) // } // eVal = "1" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"CC-Request-Number"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"CC-Request-Number"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -472,7 +472,7 @@ package agents // } else if val != eVal { // t.Errorf("expecting: %s, received: <%s>", eVal, val) // } -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Multiple-Services-Credit-Control", "Rating-Group"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Multiple-Services-Credit-Control", "Rating-Group"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) != 2 { // t.Errorf("Unexpected number of Multiple-Services-Credit-Control.Rating-Group : %d", len(avps)) @@ -488,7 +488,7 @@ package agents // t.Errorf("expecting: 2, received: <%s>", val) // } // } -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Multiple-Services-Credit-Control", "Used-Service-Unit", "CC-Total-Octets"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Multiple-Services-Credit-Control", "Used-Service-Unit", "CC-Total-Octets"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) != 2 { // t.Errorf("Unexpected number of Multiple-Services-Credit-Control.Used-Service-Unit.CC-Total-Octets : %d", len(avps)) @@ -505,7 +505,7 @@ package agents // } // } // eVal = "6" // sum of items -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -544,7 +544,7 @@ package agents // } // // Result-Code // eVal := "5012" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -554,7 +554,7 @@ package agents // t.Errorf("expecting: %s, received: <%s>", eVal, val) // } // eVal = "cgrates;1451911932;00082" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Session-Id"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Session-Id"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -564,7 +564,7 @@ package agents // t.Errorf("expecting: %s, received: <%s>", eVal, val) // } // eVal = "CGR-DA" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Origin-Host"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Origin-Host"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -574,7 +574,7 @@ package agents // t.Errorf("expecting: %s, received: <%s>", eVal, val) // } // eVal = "cgrates.org" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Origin-Realm"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Origin-Realm"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -651,7 +651,7 @@ package agents // } // // Result-Code // eVal := "2001" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -662,7 +662,7 @@ package agents // } // // Result-Code // eVal = "300" // 5 mins of session -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, +// if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, // dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { @@ -739,7 +739,7 @@ package agents // } // // Result-Code // eVal := "5030" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -816,7 +816,7 @@ package agents // } // // Result-Code // eVal := "2001" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -827,7 +827,7 @@ package agents // } // // Result-Code // eVal = "300" // 5 mins of session -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, +// if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, // dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { @@ -904,7 +904,7 @@ package agents // } // // Result-Code // eVal := "2001" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -1094,7 +1094,7 @@ package agents // Account: "testDiamInitWithSessionDisconnect", // BalanceType: utils.MetaVoice, // Value: float64(time.Second), -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "testDiamInitWithSessionDisconnect", // utils.RatingSubject: "*zero1ms", // }, @@ -1171,7 +1171,7 @@ package agents // } // // Result-Code // eVal := "2001" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -1185,7 +1185,7 @@ package agents // if msg == nil { // t.Fatal("No message returned") // } -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Session-Id"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Session-Id"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -1290,7 +1290,7 @@ package agents // } // // Result-Code // eVal := "2001" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -1301,7 +1301,7 @@ package agents // } // // Result-Code // eVal = "301" // 5 mins of session -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, +// if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, // dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { @@ -1356,7 +1356,7 @@ package agents // wait.Wait() // eVal := "1" -// if avps, err := drr.FindAVPsWithPath([]interface{}{avp.DisconnectCause}, dict.UndefinedVendorID); err != nil { +// if avps, err := drr.FindAVPsWithPath([]any{avp.DisconnectCause}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -1440,7 +1440,7 @@ package agents // } // // Result-Code // eVal := "5012" // error code diam.UnableToComply -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -1500,7 +1500,7 @@ package agents // Account: "testDiamItEmulateTerminate", // Value: float64(time.Hour), // BalanceType: utils.MetaVoice, -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "testDiamItEmulateTerminate", // utils.Categories: "custom_charger", // }, @@ -1583,7 +1583,7 @@ package agents // } // // Result-Code // eVal := "2001" -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Result-Code"}, dict.UndefinedVendorID); err != nil { +// if avps, err := msg.FindAVPsWithPath([]any{"Result-Code"}, dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { // t.Error("Missing AVP") @@ -1594,7 +1594,7 @@ package agents // } // // Result-Code // eVal = "0" // 0 from sessions -// if avps, err := msg.FindAVPsWithPath([]interface{}{"Granted-Service-Unit", "CC-Time"}, +// if avps, err := msg.FindAVPsWithPath([]any{"Granted-Service-Unit", "CC-Time"}, // dict.UndefinedVendorID); err != nil { // t.Error(err) // } else if len(avps) == 0 { diff --git a/agents/diamagent.go b/agents/diamagent.go index 85451520f..b2969e46b 100644 --- a/agents/diamagent.go +++ b/agents/diamagent.go @@ -433,13 +433,13 @@ func (da *DiameterAgent) V1ReAuthorize(ctx *context.Context, originID string, re select { case raa := <-raaCh: var avps []*diam.AVP - if avps, err = raa.FindAVPsWithPath([]interface{}{avp.ResultCode}, dict.UndefinedVendorID); err != nil { + if avps, err = raa.FindAVPsWithPath([]any{avp.ResultCode}, dict.UndefinedVendorID); err != nil { return } if len(avps) == 0 { return fmt.Errorf("Missing AVP") } - var data interface{} + var data any if data, err = diamAVPAsIface(avps[0]); err != nil { return } else if data != uint32(diam.Success) { @@ -546,13 +546,13 @@ func (da *DiameterAgent) V1DisconnectPeer(ctx *context.Context, args *utils.DPRA select { case dpa := <-dpaCh: var avps []*diam.AVP - if avps, err = dpa.FindAVPsWithPath([]interface{}{avp.ResultCode}, dict.UndefinedVendorID); err != nil { + if avps, err = dpa.FindAVPsWithPath([]any{avp.ResultCode}, dict.UndefinedVendorID); err != nil { return } if len(avps) == 0 { return fmt.Errorf("Missing AVP") } - var data interface{} + var data any if data, err = diamAVPAsIface(avps[0]); err != nil { return } else if data != uint32(diam.Success) { @@ -566,6 +566,6 @@ func (da *DiameterAgent) V1DisconnectPeer(ctx *context.Context, args *utils.DPRA } // V1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (*DiameterAgent) V1WarnDisconnect(ctx *context.Context, args map[string]interface{}, reply *string) (err error) { +func (*DiameterAgent) V1WarnDisconnect(ctx *context.Context, args map[string]any, reply *string) (err error) { return utils.ErrNotImplemented } diff --git a/agents/diamagent_test.go b/agents/diamagent_test.go index cfac8e3c6..f5edfe5ad 100644 --- a/agents/diamagent_test.go +++ b/agents/diamagent_test.go @@ -36,18 +36,18 @@ func TestDAsSessionSClientIface(t *testing.T) { } type testMockSessionConn struct { - calls map[string]func(_ *context.Context, _, _ interface{}) error + calls map[string]func(_ *context.Context, _, _ any) error } -func (s *testMockSessionConn) Call(ctx *context.Context, method string, arg, rply interface{}) error { +func (s *testMockSessionConn) Call(ctx *context.Context, method string, arg, rply any) error { if call, has := s.calls[method]; has { return call(ctx, arg, rply) } return rpcclient.ErrUnsupporteServiceMethod } -func (s *testMockSessionConn) Handlers() (b map[string]interface{}) { - b = make(map[string]interface{}) +func (s *testMockSessionConn) Handlers() (b map[string]any) { + b = make(map[string]any) for n, f := range s.calls { b[n] = f } @@ -120,11 +120,11 @@ func TestProcessRequest(t *testing.T) { utils.RemoteHost: utils.NewLeafNode(utils.LocalAddr().String()), }} - sS := &testMockSessionConn{calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.SessionSv1RegisterInternalBiJSONConn: func(_ *context.Context, _, _ interface{}) error { + sS := &testMockSessionConn{calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.SessionSv1RegisterInternalBiJSONConn: func(_ *context.Context, _, _ any) error { return nil }, - utils.SessionSv1AuthorizeEvent: func(_ *context.Context, arg, rply interface{}) error { + utils.SessionSv1AuthorizeEvent: func(_ *context.Context, arg, rply any) error { var id string if arg == nil { t.Errorf("args is nil") @@ -136,7 +136,7 @@ func TestProcessRequest(t *testing.T) { expargs := &utils.CGREvent{ Tenant: "cgrates.org", ID: id, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -145,7 +145,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(expargs, arg) { t.Errorf("Expected:%s ,received: %s", utils.ToJSON(expargs), utils.ToJSON(arg)) @@ -160,7 +160,7 @@ func TestProcessRequest(t *testing.T) { } return nil }, - utils.SessionSv1InitiateSession: func(_ *context.Context, arg, rply interface{}) error { + utils.SessionSv1InitiateSession: func(_ *context.Context, arg, rply any) error { var id string if arg == nil { t.Errorf("args is nil") @@ -172,7 +172,7 @@ func TestProcessRequest(t *testing.T) { expargs := &utils.CGREvent{ Tenant: "cgrates.org", ID: id, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -181,7 +181,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: "true", utils.OptsSesInitiate: "true", }, @@ -205,7 +205,7 @@ func TestProcessRequest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "e7d35bf", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -218,7 +218,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*originID": "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, @@ -227,7 +227,7 @@ func TestProcessRequest(t *testing.T) { } return nil }, - utils.SessionSv1UpdateSession: func(_ *context.Context, arg, rply interface{}) error { + utils.SessionSv1UpdateSession: func(_ *context.Context, arg, rply any) error { var id string if arg == nil { t.Errorf("args is nil") @@ -239,7 +239,7 @@ func TestProcessRequest(t *testing.T) { expargs := &utils.CGREvent{ Tenant: "cgrates.org", ID: id, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -248,7 +248,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: "true", utils.OptsSesUpdate: "true", }, @@ -272,7 +272,7 @@ func TestProcessRequest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "e7d35bf", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", @@ -286,7 +286,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*originID": "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, @@ -295,7 +295,7 @@ func TestProcessRequest(t *testing.T) { } return nil }, - utils.SessionSv1ProcessCDR: func(_ *context.Context, arg, rply interface{}) error { + utils.SessionSv1ProcessCDR: func(_ *context.Context, arg, rply any) error { var id string if arg == nil { t.Errorf("args is nil") @@ -307,7 +307,7 @@ func TestProcessRequest(t *testing.T) { expargs := &utils.CGREvent{ Tenant: "cgrates.org", ID: id, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -316,7 +316,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesTerminate: "true", }, } @@ -331,7 +331,7 @@ func TestProcessRequest(t *testing.T) { *prply = utils.OK return nil }, - utils.SessionSv1TerminateSession: func(_ *context.Context, arg, rply interface{}) error { + utils.SessionSv1TerminateSession: func(_ *context.Context, arg, rply any) error { var id string if arg == nil { t.Errorf("args is nil") @@ -343,7 +343,7 @@ func TestProcessRequest(t *testing.T) { expargs := &utils.CGREvent{ Tenant: "cgrates.org", ID: id, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -352,7 +352,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesTerminate: "true", }, } @@ -367,7 +367,7 @@ func TestProcessRequest(t *testing.T) { *prply = utils.OK return nil }, - utils.SessionSv1ProcessMessage: func(_ *context.Context, arg, rply interface{}) error { + utils.SessionSv1ProcessMessage: func(_ *context.Context, arg, rply any) error { var id string if arg == nil { t.Errorf("args is nil") @@ -379,7 +379,7 @@ func TestProcessRequest(t *testing.T) { expargs := &utils.CGREvent{ Tenant: "cgrates.org", ID: id, - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", "Destination": "1003", @@ -388,7 +388,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: "true", utils.OptsSesMessage: "true", }, @@ -412,7 +412,7 @@ func TestProcessRequest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "e7d35bf", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Category": "call", @@ -426,7 +426,7 @@ func TestProcessRequest(t *testing.T) { "ToR": "*voice", "Usage": "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*originID": "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, diff --git a/agents/dnsagent_it_test.go b/agents/dnsagent_it_test.go index 1eb821b5f..cc3185fd1 100644 --- a/agents/dnsagent_it_test.go +++ b/agents/dnsagent_it_test.go @@ -119,7 +119,7 @@ package agents // var reply string // if err := dnsRPC.Call(context.Background(), utils.LoaderSv1Run, // &loaders.ArgsProcessFolder{ -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaCache: caching, // utils.MetaStopOnError: false, // }, diff --git a/agents/fsagent.go b/agents/fsagent.go index d2788c196..9b67ebc4d 100644 --- a/agents/fsagent.go +++ b/agents/fsagent.go @@ -244,7 +244,7 @@ func (fsa *FSsessions) onChannelAnswer(fsev FSEvent, connIdx int) { cgrEv := fsev.AsCGREvent(config.CgrConfig().GeneralCfg().DefaultTimezone) if cgrEv.APIOpts == nil { - cgrEv.APIOpts = map[string]interface{}{utils.OptsSesInitiate: true} + cgrEv.APIOpts = map[string]any{utils.OptsSesInitiate: true} } cgrEv.Event[FsConnID] = connIdx // Attach the connection ID so we can properly disconnect later var initReply sessions.V1InitSessionReply @@ -272,7 +272,7 @@ func (fsa *FSsessions) onChannelHangupComplete(fsev FSEvent, connIdx int) { if fsev[VarAnswerEpoch] != "0" { // call was answered cgrEv := fsev.AsCGREvent(config.CgrConfig().GeneralCfg().DefaultTimezone) if cgrEv.APIOpts == nil { - cgrEv.APIOpts = map[string]interface{}{utils.OptsSesTerminate: true} + cgrEv.APIOpts = map[string]any{utils.OptsSesTerminate: true} } cgrEv.Event[FsConnID] = connIdx // Attach the connection ID in case we need to create a session and disconnect it if err := fsa.connMgr.Call(fsa.ctx, fsa.cfg.SessionSConns, utils.SessionSv1TerminateSession, @@ -462,7 +462,7 @@ func (*FSsessions) V1DisconnectPeer(ctx *context.Context, args *utils.DPRArgs, r } // V1WarnDisconnect is called when call goes under the minimum duration threshold, so FreeSWITCH can play an announcement message -func (fsa *FSsessions) V1WarnDisconnect(ctx *context.Context, args map[string]interface{}, reply *string) (err error) { +func (fsa *FSsessions) V1WarnDisconnect(ctx *context.Context, args map[string]any, reply *string) (err error) { if fsa.cfg.LowBalanceAnnFile == utils.EmptyString { *reply = utils.OK return diff --git a/agents/fsevent.go b/agents/fsevent.go index cd0b3695d..c34b2d3e6 100644 --- a/agents/fsevent.go +++ b/agents/fsevent.go @@ -364,8 +364,8 @@ func (fsev FSEvent) AsCGREvent(timezone string) *utils.CGREvent { } // Used with RLs -func (fsev FSEvent) AsMapStringInterface(timezone string) map[string]interface{} { - mp := make(map[string]interface{}) +func (fsev FSEvent) AsMapStringInterface(timezone string) map[string]any { + mp := make(map[string]any) for fld, val := range fsev.GetExtraFields() { mp[fld] = val } @@ -403,8 +403,8 @@ func SliceAsFsArray(slc []string) (arry string) { } // GetOptions returns the possible options -func (fsev FSEvent) GetOptions() (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func (fsev FSEvent) GetOptions() (mp map[string]any) { + mp = make(map[string]any) opts, has := fsev[VarCGROpts] if !has { return diff --git a/agents/fsevent_test.go b/agents/fsevent_test.go index 791ca06e5..a2ba0a78f 100644 --- a/agents/fsevent_test.go +++ b/agents/fsevent_test.go @@ -569,7 +569,7 @@ func TestFsEvAsMapStringInterface(t *testing.T) { ev := NewFSEvent(hangupEv) setupTime, _ := utils.ParseTimeDetectLayout("1436280728", "") aTime, _ := utils.ParseTimeDetectLayout("1436280728", "") - expectedMap := make(map[string]interface{}) + expectedMap := make(map[string]any) expectedMap[utils.ToR] = utils.MetaVoice expectedMap[utils.OriginID] = "e3133bf7-dcde-4daf-9663-9a79ffcef5ad" expectedMap[utils.OriginHost] = "10.0.3.15" @@ -633,13 +633,13 @@ func TestSliceAsArraySortingParameter(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "rt1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, { RouteID: "rt2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 20.0, }, }, @@ -650,13 +650,13 @@ func TestSliceAsArraySortingParameter(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "RT1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, { RouteID: "RT2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, diff --git a/agents/httpagent_it_test.go b/agents/httpagent_it_test.go index a95f27f0e..f2a3b5da9 100644 --- a/agents/httpagent_it_test.go +++ b/agents/httpagent_it_test.go @@ -224,7 +224,7 @@ package agents // Account: acnt, // BalanceType: utils.MetaVoice, // Value: float64(maxDuration) * float64(time.Second), -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "TestDynamicDebitBalance", // utils.RatingSubject: "*zero5ms", // }, diff --git a/agents/kamagent.go b/agents/kamagent.go index c7cd5fd5f..96dc1b113 100644 --- a/agents/kamagent.go +++ b/agents/kamagent.go @@ -178,7 +178,7 @@ func (ka *KamailioAgent) onCallStart(evData []byte, connIdx int) { } cgrEv := kev.AsCGREvent(config.CgrConfig().GeneralCfg().DefaultTimezone) if cgrEv.APIOpts == nil { - cgrEv.APIOpts = map[string]interface{}{utils.OptsSesInitiate: true} + cgrEv.APIOpts = map[string]any{utils.OptsSesInitiate: true} } cgrEv.Event[EvapiConnID] = connIdx // Attach the connection ID so we can properly disconnect later @@ -217,7 +217,7 @@ func (ka *KamailioAgent) onCallEnd(evData []byte, connIdx int) { } cgrEv := kev.AsCGREvent(config.CgrConfig().GeneralCfg().DefaultTimezone) if cgrEv.APIOpts == nil { - cgrEv.APIOpts = map[string]interface{}{utils.OptsSesTerminate: true} + cgrEv.APIOpts = map[string]any{utils.OptsSesTerminate: true} } var reply string cgrEv.Event[EvapiConnID] = connIdx // Attach the connection ID in case we need to create a session and disconnect it @@ -440,6 +440,6 @@ func (*KamailioAgent) V1DisconnectPeer(ctx *context.Context, args *utils.DPRArgs } // V1WarnDisconnect is used to implement the sessions.BiRPClient interface -func (*KamailioAgent) V1WarnDisconnect(ctx *context.Context, args map[string]interface{}, reply *string) (err error) { +func (*KamailioAgent) V1WarnDisconnect(ctx *context.Context, args map[string]any, reply *string) (err error) { return utils.ErrNotImplemented } diff --git a/agents/kamevent.go b/agents/kamevent.go index 5284898c6..8ffa79d80 100644 --- a/agents/kamevent.go +++ b/agents/kamevent.go @@ -132,8 +132,8 @@ func (kev KamEvent) MissingParameter() bool { } // AsMapStringInterface converts KamEvent into event used by other subsystems -func (kev KamEvent) AsMapStringInterface() (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func (kev KamEvent) AsMapStringInterface() (mp map[string]any) { + mp = make(map[string]any) for k, v := range kev { if k == utils.Usage { v += "s" // mark the Usage as seconds @@ -328,8 +328,8 @@ func (kdr *KamDlgReply) String() string { } // GetOptions returns the posible options -func (kev KamEvent) GetOptions() (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func (kev KamEvent) GetOptions() (mp map[string]any) { + mp = make(map[string]any) for k := range utils.CGROptionsSet { if val, has := kev[k]; has { mp[k] = val diff --git a/agents/kamevent_test.go b/agents/kamevent_test.go index 2bfa2049b..a16135a5f 100644 --- a/agents/kamevent_test.go +++ b/agents/kamevent_test.go @@ -90,7 +90,7 @@ func TestKamEvAsMapStringInterface(t *testing.T) { "cgr_duration": "3", "cgr_pdd": "4", utils.CGRRoute: "supplier2", utils.CGRDisconnectCause: "200"} - expMp := make(map[string]interface{}) + expMp := make(map[string]any) expMp["cgr_account"] = "1001" expMp["cgr_duration"] = "3" expMp["cgr_pdd"] = "4" @@ -184,7 +184,7 @@ func TestKamEvAsKamAuthReply(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestKamEvAsKamAuthReply", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.AccountField: "1001", "Password": "check123", @@ -257,7 +257,7 @@ func TestKamEvAsKamProcessEventReply(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestKamEvAsKamAuthReply", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.AccountField: "1001", "Password": "check123", diff --git a/agents/libdiam.go b/agents/libdiam.go index 17974cde4..1b8f178ef 100644 --- a/agents/libdiam.go +++ b/agents/libdiam.go @@ -69,7 +69,7 @@ func loadDictionaries(dictsDir, componentID string) error { } // diamAVPValue will extract the go primary value out of diameter type value -func diamAVPAsIface(dAVP *diam.AVP) (val interface{}, err error) { +func diamAVPAsIface(dAVP *diam.AVP) (val any, err error) { if dAVP == nil { return nil, errors.New("nil AVP") } @@ -112,7 +112,7 @@ func diamAVPAsIface(dAVP *diam.AVP) (val interface{}, err error) { } func diamAVPAsString(dAVP *diam.AVP) (s string, err error) { - var iface interface{} + var iface any if iface, err = diamAVPAsIface(dAVP); err != nil { return } @@ -310,7 +310,7 @@ func (dP *diameterDP) String() string { // FieldAsString is part of utils.DataProvider interface func (dP *diameterDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = dP.FieldAsInterface(fldPath) if err != nil { return @@ -319,7 +319,7 @@ func (dP *diameterDP) FieldAsString(fldPath []string) (data string, err error) { } // FieldAsInterface is part of utils.DataProvider interface -func (dP *diameterDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (dP *diameterDP) FieldAsInterface(fldPath []string) (data any, err error) { if data, err = dP.cache.FieldAsInterface(fldPath); err != nil { if err != utils.ErrNotFound { // item found in cache return nil, err diff --git a/agents/libdiam_test.go b/agents/libdiam_test.go index f90660ec6..2acc94eef 100644 --- a/agents/libdiam_test.go +++ b/agents/libdiam_test.go @@ -72,19 +72,19 @@ func TestDPFieldAsInterface(t *testing.T) { }}) dP := newDADataProvider(nil, m) - eOut := interface{}("simuhuawei;1449573472;00002") + eOut := any("simuhuawei;1449573472;00002") if out, err := dP.FieldAsInterface([]string{"Session-Id"}); err != nil { t.Error(err) } else if eOut != out { t.Errorf("Expecting: %v, received: %v", eOut, out) } - eOut = interface{}(int64(10000)) + eOut = any(int64(10000)) if out, err := dP.FieldAsInterface([]string{"Requested-Service-Unit", "CC-Money", "Unit-Value", "Value-Digits"}); err != nil { t.Error(err) } else if eOut != out { t.Errorf("Expecting: %v, received: %v", eOut, out) } - eOut = interface{}("208708000003") // with filter on second group item + eOut = any("208708000003") // with filter on second group item if out, err := dP.FieldAsInterface([]string{"Subscription-Id", "Subscription-Id-Data[1]"}); err != nil { // on index t.Error(err) @@ -97,14 +97,14 @@ func TestDPFieldAsInterface(t *testing.T) { } else if out != eOut { // can be any result since both entries are matching single filter t.Errorf("expecting: %v, received: %v", eOut, out) } - eOut = interface{}("208708000004") + eOut = any("208708000004") if out, err := dP.FieldAsInterface([]string{"Subscription-Id", "Subscription-Id-Data[~Subscription-Id-Type(2)|~Value-Digits(20000)]"}); err != nil { // on multiple filter t.Error(err) } else if eOut != out { t.Errorf("Expecting: %v, received: %v", eOut, out) } - eOut = interface{}("33708000003") + eOut = any("33708000003") if out, err := dP.FieldAsInterface([]string{"Subscription-Id", "Subscription-Id-Data"}); err != nil { t.Error(err) } else if eOut != out { @@ -744,7 +744,7 @@ func TestUpdateDiamMsgFromNavMap4(t *testing.T) { func TestDiamAVPAsIface(t *testing.T) { args := diam.NewAVP(435, avp.Mbit, 0, datatype.Address("127.0.0.1")) - var exp interface{} = net.IP([]byte("127.0.0.1")) + var exp any = net.IP([]byte("127.0.0.1")) if rply, err := diamAVPAsIface(args); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { @@ -1104,7 +1104,7 @@ func TestDiamAvpGroupIface(t *testing.T) { diam.NewAVP(432, avp.Mbit, 0, datatype.Unsigned32(99)), }}) dP := newDADataProvider(nil, avps) - eOut := interface{}(uint32(1)) + eOut := any(uint32(1)) if out, err := dP.FieldAsInterface([]string{"Multiple-Services-Credit-Control", "Rating-Group"}); err != nil { t.Error(err) } else if eOut != out { @@ -1117,7 +1117,7 @@ func TestDiamAvpGroupIface(t *testing.T) { t.Errorf("Expecting: %v, received: %v", eOut, out) } dP.(*diameterDP).cache = utils.MapStorage{} - eOut = interface{}(uint32(99)) + eOut = any(uint32(99)) if out, err := dP.FieldAsInterface([]string{"Multiple-Services-Credit-Control", "Rating-Group[1]"}); err != nil { t.Error(err) } else if eOut != out { diff --git a/agents/libdns.go b/agents/libdns.go index 824bee868..46fb5140c 100644 --- a/agents/libdns.go +++ b/agents/libdns.go @@ -65,7 +65,7 @@ type dnsDP struct { } func (dp dnsDP) String() string { return dp.req.String() } -func (dp dnsDP) FieldAsInterface(fldPath []string) (o interface{}, e error) { +func (dp dnsDP) FieldAsInterface(fldPath []string) (o any, e error) { if len(fldPath) != 0 && strings.HasPrefix(fldPath[0], utils.DNSOption) { return dp.opts.FieldAsInterface(fldPath) } @@ -184,7 +184,7 @@ func updateDNSMsgFromNM(msg *dns.Msg, nm *utils.OrderedNavigableMap, qType uint1 } // updateDnsQuestion -func updateDnsQuestions(q []dns.Question, path []string, value interface{}, newBranch bool) (_ []dns.Question, err error) { +func updateDnsQuestions(q []dns.Question, path []string, value any, newBranch bool) (_ []dns.Question, err error) { var idx int var field string switch len(path) { @@ -232,7 +232,7 @@ func updateDnsQuestions(q []dns.Question, path []string, value interface{}, newB return q, nil } -func updateDnsOption(q []dns.EDNS0, path []string, value interface{}, newBranch bool) (_ []dns.EDNS0, err error) { +func updateDnsOption(q []dns.EDNS0, path []string, value any, newBranch bool) (_ []dns.EDNS0, err error) { var idx int var field string switch len(path) { @@ -445,7 +445,7 @@ func updateDnsOption(q []dns.EDNS0, path []string, value interface{}, newBranch return q, err } -func createDnsOption(field string, value interface{}) (o dns.EDNS0, err error) { +func createDnsOption(field string, value any) (o dns.EDNS0, err error) { switch field { case utils.DNSNsid: // EDNS0_NSID o = &dns.EDNS0_NSID{Nsid: utils.IfaceAsString(value)} @@ -555,7 +555,7 @@ func createDnsOption(field string, value interface{}) (o dns.EDNS0, err error) { return } -func updateDnsAnswer(q []dns.RR, qType uint16, qName string, path []string, value interface{}, newBranch bool) (_ []dns.RR, err error) { +func updateDnsAnswer(q []dns.RR, qType uint16, qName string, path []string, value any, newBranch bool) (_ []dns.RR, err error) { var idx int if lPath := len(path); lPath == 0 { err = utils.ErrWrongPath @@ -636,7 +636,7 @@ func newDNSAnswer(qType uint16, qName string) (a dns.RR, err error) { return } -func updateDnsNAPTRAnswer(v *dns.NAPTR, path []string, value interface{}) (err error) { +func updateDnsNAPTRAnswer(v *dns.NAPTR, path []string, value any) (err error) { if len(path) < 1 || (path[0] != utils.DNSHdr && len(path) != 1) || (path[0] == utils.DNSHdr && len(path) != 2) { @@ -671,7 +671,7 @@ func updateDnsNAPTRAnswer(v *dns.NAPTR, path []string, value interface{}) (err e return } -func updateDnsRRHeader(v *dns.RR_Header, path []string, value interface{}) (err error) { +func updateDnsRRHeader(v *dns.RR_Header, path []string, value any) (err error) { if len(path) != 1 { return utils.ErrWrongPath } diff --git a/agents/libhttpagent.go b/agents/libhttpagent.go index 69b40a321..3787bf263 100644 --- a/agents/libhttpagent.go +++ b/agents/libhttpagent.go @@ -65,7 +65,7 @@ func (hU *httpUrlDP) String() string { } // FieldAsInterface is part of utils.DataProvider interface -func (hU *httpUrlDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (hU *httpUrlDP) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -84,7 +84,7 @@ func (hU *httpUrlDP) FieldAsInterface(fldPath []string) (data interface{}, err e // FieldAsString is part of utils.DataProvider interface func (hU *httpUrlDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = hU.FieldAsInterface(fldPath) if err != nil { return @@ -121,7 +121,7 @@ func (hU *httpXmlDP) String() string { } // FieldAsInterface is part of utils.DataProvider interface -func (hU *httpXmlDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (hU *httpXmlDP) FieldAsInterface(fldPath []string) (data any, err error) { //if path is missing return here error because if it arrived in xmlquery library will panic if len(fldPath) == 0 { return nil, fmt.Errorf("Empty path") @@ -165,7 +165,7 @@ func (hU *httpXmlDP) FieldAsInterface(fldPath []string) (data interface{}, err e // FieldAsString is part of utils.DataProvider interface func (hU *httpXmlDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = hU.FieldAsInterface(fldPath) if err != nil { return diff --git a/agents/librad.go b/agents/librad.go index e05aacc0f..90b04ab67 100644 --- a/agents/librad.go +++ b/agents/librad.go @@ -71,7 +71,7 @@ func (pk *radiusDP) String() string { } // FieldAsInterface is part of utils.DataProvider interface -func (pk *radiusDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (pk *radiusDP) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -92,7 +92,7 @@ func (pk *radiusDP) FieldAsInterface(fldPath []string) (data interface{}, err er // FieldAsString is part of utils.DataProvider interface func (pk *radiusDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = pk.FieldAsInterface(fldPath) if err != nil { return diff --git a/agents/sipagent.go b/agents/sipagent.go index c226979f2..14d0bfd8b 100644 --- a/agents/sipagent.go +++ b/agents/sipagent.go @@ -298,7 +298,7 @@ func (sa *SIPAgent) handleMessage(sipMessage sipingo.Message, remoteHost string) if sipMessage[userAgentHeader] != "" { sipMessage[userAgentHeader] = fmt.Sprintf("%s@%s", utils.CGRateS, utils.Version) } - sipMessageIface := make(map[string]interface{}) + sipMessageIface := make(map[string]any) for k, v := range sipMessage { sipMessageIface[k] = v } diff --git a/analyzers/analyzers.go b/analyzers/analyzers.go index 0f83e21e5..63b4e4bb1 100644 --- a/analyzers/analyzers.go +++ b/analyzers/analyzers.go @@ -129,7 +129,7 @@ func (aS *AnalyzerS) Shutdown() error { } func (aS *AnalyzerS) logTrafic(id uint64, method string, - params, result, err interface{}, + params, result, err any, enc, from, to string, sTime, eTime time.Time) error { if strings.HasPrefix(method, utils.AnalyzerSv1) { return nil @@ -147,7 +147,7 @@ type QueryArgs struct { } // V1StringQuery returns a list of API that match the query -func (aS *AnalyzerS) V1StringQuery(ctx *context.Context, args *QueryArgs, reply *[]map[string]interface{}) error { +func (aS *AnalyzerS) V1StringQuery(ctx *context.Context, args *QueryArgs, reply *[]map[string]any) error { var q query.Query if args.HeaderFilters == utils.EmptyString { q = bleve.NewMatchAllQuery() @@ -160,7 +160,7 @@ func (aS *AnalyzerS) V1StringQuery(ctx *context.Context, args *QueryArgs, reply if err != nil { return err } - rply := make([]map[string]interface{}, 0, searchResults.Hits.Len()) + rply := make([]map[string]any, 0, searchResults.Hits.Len()) lenContentFltrs := len(args.ContentFilters) for _, obj := range searchResults.Hits { // make sure that the result is corectly marshaled diff --git a/analyzers/analyzers_it_test.go b/analyzers/analyzers_it_test.go index 3f9d5a9fc..01df73eb6 100644 --- a/analyzers/analyzers_it_test.go +++ b/analyzers/analyzers_it_test.go @@ -136,7 +136,7 @@ func testAnalyzerSRPCConn(t *testing.T) { t.Fatal(err) } anzBiRPC = rpc2.NewClientWithCodec(jsonrpc2.NewJSONCodec(conn)) - anzBiRPC.Handle(utils.SessionSv1DisconnectPeer, func(clnt *rpc2.Client, args interface{}, rply *string) (err error) { return utils.ErrNotFound }) + anzBiRPC.Handle(utils.SessionSv1DisconnectPeer, func(clnt *rpc2.Client, args any, rply *string) (err error) { return utils.ErrNotFound }) go anzBiRPC.Run() } @@ -144,7 +144,7 @@ func testAnalyzerSLoadTarrifPlans(t *testing.T) { var reply string time.Sleep(100 * time.Millisecond) if err := anzRPC.Call(utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{utils.MetaCache: utils.MetaReload}, + APIOpts: map[string]any{utils.MetaCache: utils.MetaReload}, }, &reply); err != nil { t.Error(err) } else if reply != utils.OK { @@ -157,7 +157,7 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "Something_inter", utils.Destination: "999", @@ -177,12 +177,12 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", "Destination": "999", "Subject": "Something_inter", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*chargeID": "51d52496c3d63ffd60ba91e69aa532d89cc5bd79", "*subsys": "*chargers", "*runID": "*default", @@ -204,16 +204,16 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", "Destination": "999", "RequestType": "*none", "Subject": "Something_inter", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*chargeID": "94e6cdc358e52bd7061f224a4bcf5faa57735989", "*runID": "*raw", - "*attrProfileIDs": []interface{}{"*constant:*req.RequestType:*none"}, + "*attrProfileIDs": []any{"*constant:*req.RequestType:*none"}, "*context": "*chargers", "*subsys": "*chargers", }, @@ -236,7 +236,7 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { func testAnalyzerSV1Search(t *testing.T) { // need to wait in order for the log gorutine to execute time.Sleep(50 * time.Millisecond) - var result []map[string]interface{} + var result []map[string]any if err := anzRPC.Call(utils.AnalyzerSv1StringQuery, &QueryArgs{HeaderFilters: `+RequestEncoding:\*internal +RequestMethod:AttributeSv1\.ProcessEvent`}, &result); err != nil { t.Error(err) } else if len(result) != 1 { @@ -245,7 +245,7 @@ func testAnalyzerSV1Search(t *testing.T) { } func testAnalyzerSV1Search2(t *testing.T) { - var result []map[string]interface{} + var result []map[string]any if err := anzRPC.Call(utils.AnalyzerSv1StringQuery, &QueryArgs{HeaderFilters: `+RequestEncoding:\*json +RequestMethod:ChargerSv1\.ProcessEvent`}, &result); err != nil { t.Error(err) } else if len(result) != 1 { @@ -254,7 +254,7 @@ func testAnalyzerSV1Search2(t *testing.T) { } func testAnalyzerSV1SearchWithContentFilters(t *testing.T) { - var result []map[string]interface{} + var result []map[string]any if err := anzRPC.Call(utils.AnalyzerSv1StringQuery, &QueryArgs{ HeaderFilters: `+RequestEncoding:\*json`, ContentFilters: []string{"*string:~*req.Event.Account:1010"}, @@ -274,7 +274,7 @@ func testAnalyzerSV1BirPCSession(t *testing.T) { t.Fatal(err) } time.Sleep(50 * time.Millisecond) - var result []map[string]interface{} + var result []map[string]any if err := anzRPC.Call(utils.AnalyzerSv1StringQuery, &QueryArgs{HeaderFilters: `+RequestEncoding:\*birpc_json +RequestMethod:"SessionSv1.DisconnectPeer"`}, &result); err != nil { t.Error(err) } else if len(result) != 1 { @@ -386,7 +386,7 @@ func testAnalyzerSv1MultipleQuery(t *testing.T) { } } time.Sleep(50 * time.Millisecond) - var result []map[string]interface{} + var result []map[string]any if err := anzRPC.Call(utils.AnalyzerSv1StringQuery, &QueryArgs{ HeaderFilters: `+RequestMethod:"AdminSv1.SetFilter"`, ContentFilters: []string{"*prefix:~*req.ID:TestA"}, diff --git a/analyzers/analyzers_test.go b/analyzers/analyzers_test.go index 8930612f0..8a7c71816 100644 --- a/analyzers/analyzers_test.go +++ b/analyzers/analyzers_test.go @@ -203,7 +203,7 @@ func TestAnalyzersV1Search(t *testing.T) { t1 := time.Now() if err = anz.logTrafic(0, utils.CoreSv1Ping, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaCDRs, }, }, utils.Pong, nil, utils.MetaJSON, "127.0.0.1:5565", @@ -213,7 +213,7 @@ func TestAnalyzersV1Search(t *testing.T) { if err = anz.logTrafic(1, utils.CoreSv1Ping, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaAttributes, }, }, utils.Pong, nil, @@ -225,7 +225,7 @@ func TestAnalyzersV1Search(t *testing.T) { if err = anz.logTrafic(2, utils.CoreSv1Ping, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaAttributes, }, }, utils.Pong, nil, @@ -237,7 +237,7 @@ func TestAnalyzersV1Search(t *testing.T) { if err = anz.logTrafic(3, utils.CoreSv1Ping, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaAttributes, }, }, utils.Pong, nil, @@ -248,7 +248,7 @@ func TestAnalyzersV1Search(t *testing.T) { } if err = anz.logTrafic(3, utils.CoreSv1Status, &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.EventSource: utils.MetaEEs, }, }, utils.Pong, nil, @@ -257,20 +257,20 @@ func TestAnalyzersV1Search(t *testing.T) { t1.Add(-11*time.Hour), t1.Add(-10*time.Hour-30*time.Minute)); err != nil { t.Fatal(err) } - reply := []map[string]interface{}{} + reply := []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{HeaderFilters: `"` + utils.CoreSv1Ping + `"`}, &reply); err != nil { t.Fatal(err) } else if len(reply) != 4 { t.Errorf("Expected 4 hits received: %v", len(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{HeaderFilters: "RequestMethod:" + `"` + utils.CoreSv1Ping + `"`}, &reply); err != nil { t.Fatal(err) } else if len(reply) != 4 { t.Errorf("Expected 4 hits received: %v", len(reply)) } - expRply := []map[string]interface{}{{ + expRply := []map[string]any{{ "RequestDestination": "127.0.0.1:2013", "RequestDuration": "1h0m0s", "RequestEncoding": "*gob", @@ -282,27 +282,27 @@ func TestAnalyzersV1Search(t *testing.T) { "RequestStartTime": t1.Add(-24 * time.Hour).UTC().Format(time.RFC3339), "ReplyError": nil, }} - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{HeaderFilters: utils.RequestDuration + ":>=" + strconv.FormatInt(int64(time.Hour), 10)}, &reply); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{HeaderFilters: utils.RequestStartTime + ":<=\"" + t1.Add(-23*time.Hour).UTC().Format(time.RFC3339) + "\""}, &reply); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{HeaderFilters: "RequestEncoding:*gob"}, &reply); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*string:~*rep:Pong"}, @@ -311,7 +311,7 @@ func TestAnalyzersV1Search(t *testing.T) { } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*string:~*req.APIOpts.EventSource:*attributes"}, @@ -320,7 +320,7 @@ func TestAnalyzersV1Search(t *testing.T) { } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*gt:~*hdr.RequestDuration:1m"}, @@ -329,7 +329,7 @@ func TestAnalyzersV1Search(t *testing.T) { } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*string:~*req.APIOpts.EventSource:*attributes"}, @@ -338,7 +338,7 @@ func TestAnalyzersV1Search(t *testing.T) { } else if !reflect.DeepEqual(expRply, reply) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - expRply = []map[string]interface{}{{ + expRply = []map[string]any{{ "RequestDestination": "127.0.0.1:2013", "RequestDuration": "30m0s", "RequestEncoding": "*birpc_json", @@ -350,7 +350,7 @@ func TestAnalyzersV1Search(t *testing.T) { "RequestStartTime": t1.Add(-11 * time.Hour).UTC().Format(time.RFC3339), "ReplyError": nil, }} - reply = []map[string]interface{}{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{ ContentFilters: []string{"*string:~*req.APIOpts.EventSource:*ees"}, }, &reply); err != nil { @@ -359,8 +359,8 @@ func TestAnalyzersV1Search(t *testing.T) { t.Errorf("Expected %s received: %s", utils.ToJSON(expRply), utils.ToJSON(reply)) } - expRply = []map[string]interface{}{} - reply = []map[string]interface{}{} + expRply = []map[string]any{} + reply = []map[string]any{} if err = anz.V1StringQuery(context.Background(), &QueryArgs{ HeaderFilters: "RequestEncoding:*gob", ContentFilters: []string{"*string:~*req.APIOpts.EventSource:*cdrs"}, diff --git a/analyzers/codec.go b/analyzers/codec.go index 1254fc3dc..be24b6d44 100644 --- a/analyzers/codec.go +++ b/analyzers/codec.go @@ -62,7 +62,7 @@ func (c *AnalyzerServerCodec) ReadRequestHeader(r *birpc.Request) (err error) { return } -func (c *AnalyzerServerCodec) ReadRequestBody(x interface{}) (err error) { +func (c *AnalyzerServerCodec) ReadRequestBody(x any) (err error) { err = c.sc.ReadRequestBody(x) c.reqsLk.Lock() c.reqs[c.reqIdx].Params = x @@ -70,7 +70,7 @@ func (c *AnalyzerServerCodec) ReadRequestBody(x interface{}) (err error) { return } -func (c *AnalyzerServerCodec) WriteResponse(r *birpc.Response, x interface{}) error { +func (c *AnalyzerServerCodec) WriteResponse(r *birpc.Response, x any) error { c.reqsLk.Lock() api := c.reqs[r.Seq] delete(c.reqs, r.Seq) @@ -133,7 +133,7 @@ func (c *AnalyzerBiRPCCodec) ReadHeader(req *birpc.Request, resp *birpc.Response } // ReadRequestBody into args argument of handler function. -func (c *AnalyzerBiRPCCodec) ReadRequestBody(x interface{}) (err error) { +func (c *AnalyzerBiRPCCodec) ReadRequestBody(x any) (err error) { err = c.sc.ReadRequestBody(x) c.reqsLk.Lock() c.reqs[c.reqIdx].Params = x @@ -142,7 +142,7 @@ func (c *AnalyzerBiRPCCodec) ReadRequestBody(x interface{}) (err error) { } // ReadResponseBody into reply argument of handler function. -func (c *AnalyzerBiRPCCodec) ReadResponseBody(x interface{}) (err error) { +func (c *AnalyzerBiRPCCodec) ReadResponseBody(x any) (err error) { err = c.sc.ReadResponseBody(x) c.repsLk.Lock() api := c.reps[c.repIdx] @@ -153,7 +153,7 @@ func (c *AnalyzerBiRPCCodec) ReadResponseBody(x interface{}) (err error) { } // WriteRequest must be safe for concurrent use by multiple goroutines. -func (c *AnalyzerBiRPCCodec) WriteRequest(req *birpc.Request, x interface{}) error { +func (c *AnalyzerBiRPCCodec) WriteRequest(req *birpc.Request, x any) error { c.repsLk.Lock() c.repIdx = req.Seq c.reps[c.repIdx] = &rpcAPI{ @@ -166,7 +166,7 @@ func (c *AnalyzerBiRPCCodec) WriteRequest(req *birpc.Request, x interface{}) err } // WriteResponse must be safe for concurrent use by multiple goroutines. -func (c *AnalyzerBiRPCCodec) WriteResponse(r *birpc.Response, x interface{}) error { +func (c *AnalyzerBiRPCCodec) WriteResponse(r *birpc.Response, x any) error { c.reqsLk.Lock() api := c.reqs[r.Seq] delete(c.reqs, r.Seq) diff --git a/analyzers/codec_test.go b/analyzers/codec_test.go index 368a877e6..61d307122 100644 --- a/analyzers/codec_test.go +++ b/analyzers/codec_test.go @@ -39,10 +39,10 @@ func (c *mockServerCodec) ReadRequestHeader(r *birpc.Request) (err error) { return } -func (c *mockServerCodec) ReadRequestBody(_ interface{}) (err error) { +func (c *mockServerCodec) ReadRequestBody(_ any) (err error) { return } -func (c *mockServerCodec) WriteResponse(_ *birpc.Response, _ interface{}) error { +func (c *mockServerCodec) WriteResponse(_ *birpc.Response, _ any) error { return nil } func (c *mockServerCodec) Close() error { return nil } @@ -105,11 +105,11 @@ func (mockBiRPCCodec) ReadHeader(r *birpc.Request, _ *birpc.Response) error { r.ServiceMethod = utils.CoreSv1Ping return nil } -func (mockBiRPCCodec) ReadRequestBody(interface{}) error { return nil } -func (mockBiRPCCodec) ReadResponseBody(interface{}) error { return nil } -func (mockBiRPCCodec) WriteRequest(*birpc.Request, interface{}) error { return nil } -func (mockBiRPCCodec) WriteResponse(*birpc.Response, interface{}) error { return nil } -func (mockBiRPCCodec) Close() error { return nil } +func (mockBiRPCCodec) ReadRequestBody(any) error { return nil } +func (mockBiRPCCodec) ReadResponseBody(any) error { return nil } +func (mockBiRPCCodec) WriteRequest(*birpc.Request, any) error { return nil } +func (mockBiRPCCodec) WriteResponse(*birpc.Response, any) error { return nil } +func (mockBiRPCCodec) Close() error { return nil } func TestNewBiRPCCodec(t *testing.T) { cfg := config.NewDefaultCGRConfig() @@ -169,11 +169,11 @@ func (mockBiRPCCodec2) ReadHeader(_ *birpc.Request, r *birpc.Response) error { r.Error = "error" return nil } -func (mockBiRPCCodec2) ReadRequestBody(interface{}) error { return nil } -func (mockBiRPCCodec2) ReadResponseBody(interface{}) error { return nil } -func (mockBiRPCCodec2) WriteRequest(*birpc.Request, interface{}) error { return nil } -func (mockBiRPCCodec2) WriteResponse(*birpc.Response, interface{}) error { return nil } -func (mockBiRPCCodec2) Close() error { return nil } +func (mockBiRPCCodec2) ReadRequestBody(any) error { return nil } +func (mockBiRPCCodec2) ReadResponseBody(any) error { return nil } +func (mockBiRPCCodec2) WriteRequest(*birpc.Request, any) error { return nil } +func (mockBiRPCCodec2) WriteResponse(*birpc.Response, any) error { return nil } +func (mockBiRPCCodec2) Close() error { return nil } func TestNewBiRPCCodec2(t *testing.T) { cfg := config.NewDefaultCGRConfig() diff --git a/analyzers/connector.go b/analyzers/connector.go index a8fdf7191..05e5affb1 100644 --- a/analyzers/connector.go +++ b/analyzers/connector.go @@ -44,7 +44,7 @@ type AnalyzerConnector struct { to string } -func (c *AnalyzerConnector) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) (err error) { +func (c *AnalyzerConnector) Call(ctx *context.Context, serviceMethod string, args, reply any) (err error) { sTime := time.Now() err = c.conn.Call(ctx, serviceMethod, args, reply) go c.aS.logTrafic(0, serviceMethod, args, reply, err, c.enc, c.from, c.to, sTime, time.Now()) diff --git a/analyzers/connector_test.go b/analyzers/connector_test.go index 6d470c395..03b0e1bab 100644 --- a/analyzers/connector_test.go +++ b/analyzers/connector_test.go @@ -32,7 +32,7 @@ import ( type mockConnector struct{} -func (c *mockConnector) Call(_ *context.Context, _ string, _, _ interface{}) (err error) { +func (c *mockConnector) Call(_ *context.Context, _ string, _, _ any) (err error) { return errors.New("error") } func TestNewAnalyzeConnector(t *testing.T) { diff --git a/analyzers/libanalyzers.go b/analyzers/libanalyzers.go index d99246ad9..49403f151 100644 --- a/analyzers/libanalyzers.go +++ b/analyzers/libanalyzers.go @@ -33,9 +33,9 @@ import ( // NewInfoRPC returns a structure to be indexed func NewInfoRPC(id uint64, method string, - params, result, err interface{}, + params, result, err any, enc, from, to string, sTime, eTime time.Time) *InfoRPC { - var e interface{} + var e any switch val := err.(type) { default: case nil: @@ -73,16 +73,16 @@ type InfoRPC struct { RequestID uint64 RequestMethod string - RequestParams interface{} - Reply interface{} - ReplyError interface{} + RequestParams any + Reply any + ReplyError any } type rpcAPI struct { - ID uint64 `json:"id"` - Method string `json:"method"` - Params interface{} `json:"params"` - Error string `json:"err,omitempty"` + ID uint64 `json:"id"` + Method string `json:"method"` + Params any `json:"params"` + Error string `json:"err,omitempty"` StartTime time.Time } @@ -101,9 +101,9 @@ func getIndex(indx string) (indxType, storeType string) { return } -// unmarshalJSON will transform the message in a map[string]interface{} of []interface{} +// unmarshalJSON will transform the message in a map[string]any of []any // depending of the first character -func unmarshalJSON(jsn json.RawMessage) (interface{}, error) { +func unmarshalJSON(jsn json.RawMessage) (any, error) { switch { case string(jsn) == "null" || len(jsn) == 0: // nil or empty response @@ -118,11 +118,11 @@ func unmarshalJSON(jsn json.RawMessage) (interface{}, error) { case jsn[0] >= '0' && jsn[0] <= '9': // float64 return strconv.ParseFloat(string(jsn), 64) case jsn[0] == '[': // slice - var val []interface{} + var val []any err := json.Unmarshal(jsn, &val) return val, err case jsn[0] == '{': // map - var val map[string]interface{} + var val map[string]any err := json.Unmarshal(jsn, &val) return val, err default: @@ -131,7 +131,7 @@ func unmarshalJSON(jsn json.RawMessage) (interface{}, error) { } // getDPFromSearchresult will unmarshal the request and reply and populate a DataProvider -// if the req is a map[string]interface{} we will try to put in *opts prefix the Opts field from req +// if the req is a map[string]any we will try to put in *opts prefix the Opts field from req func getDPFromSearchresult(req, rep json.RawMessage, hdr utils.MapStorage) (utils.MapStorage, error) { repDP, err := unmarshalJSON(rep) if err != nil { @@ -141,8 +141,8 @@ func getDPFromSearchresult(req, rep json.RawMessage, hdr utils.MapStorage) (util if err != nil { return nil, err } - var opts interface{} - if reqMp, canCast := reqDP.(map[string]interface{}); canCast { + var opts any + if reqMp, canCast := reqDP.(map[string]any); canCast { opts = reqMp[utils.Opts] } return utils.MapStorage{ diff --git a/analyzers/libanalyzers_test.go b/analyzers/libanalyzers_test.go index d1c4f6392..eb2b34c27 100644 --- a/analyzers/libanalyzers_test.go +++ b/analyzers/libanalyzers_test.go @@ -103,7 +103,7 @@ func TestUnmarshalJSON(t *testing.T) { if _, err := unmarshalJSON(json.RawMessage(`a`)); err == nil || err.Error() != expErr.Error() { t.Errorf("Expected error: %s,received %+v", expErr, err) } - var exp interface{} = true + var exp any = true if val, err := unmarshalJSON(json.RawMessage(`true`)); err != nil { t.Error(err) } else if !reflect.DeepEqual(val, exp) { @@ -131,13 +131,13 @@ func TestUnmarshalJSON(t *testing.T) { t.Errorf("Expected: %s,received %s", utils.ToJSON(exp), utils.ToJSON(val)) } - exp = []interface{}{"1", "2", "3"} + exp = []any{"1", "2", "3"} if val, err := unmarshalJSON(json.RawMessage(`["1","2","3"]`)); err != nil { t.Error(err) } else if !reflect.DeepEqual(val, exp) { t.Errorf("Expected: %s,received %s", utils.ToJSON(exp), utils.ToJSON(val)) } - exp = map[string]interface{}{"1": "A", "2": "B", "3": "C"} + exp = map[string]any{"1": "A", "2": "B", "3": "C"} if val, err := unmarshalJSON(json.RawMessage(`{"1":"A","2":"B","3":"C"}`)); err != nil { t.Error(err) } else if !reflect.DeepEqual(val, exp) { diff --git a/apis/accounts_it_test.go b/apis/accounts_it_test.go index 5ea9cfe39..d9562b38d 100644 --- a/apis/accounts_it_test.go +++ b/apis/accounts_it_test.go @@ -160,7 +160,7 @@ func testAccSetAccProfile(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -171,7 +171,7 @@ func testAccSetAccProfile(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -196,7 +196,7 @@ func testAccSetAccProfile(t *testing.T) { expectedAcc := utils.Account{ Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -208,7 +208,7 @@ func testAccSetAccProfile(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -256,7 +256,7 @@ func testAccGetAccs(t *testing.T) { { Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -268,7 +268,7 @@ func testAccGetAccs(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -322,7 +322,7 @@ func testAccSetAcc2(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -333,7 +333,7 @@ func testAccSetAcc2(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -358,7 +358,7 @@ func testAccSetAcc2(t *testing.T) { expectedAcc := utils.Account{ Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -370,7 +370,7 @@ func testAccSetAcc2(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -418,7 +418,7 @@ func testAccGetAccs2(t *testing.T) { { Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -430,7 +430,7 @@ func testAccGetAccs2(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -446,7 +446,7 @@ func testAccGetAccs2(t *testing.T) { { Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -458,7 +458,7 @@ func testAccGetAccs2(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -534,7 +534,7 @@ func testAccGetAccs3(t *testing.T) { { Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -546,7 +546,7 @@ func testAccGetAccs3(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -572,7 +572,7 @@ func testAccGetAccsWithPrefix(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "aTEST_ACC_IT_TEST2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -583,7 +583,7 @@ func testAccGetAccsWithPrefix(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -608,7 +608,7 @@ func testAccGetAccsWithPrefix(t *testing.T) { expectedAcc := utils.Account{ Tenant: "cgrates.org", ID: "aTEST_ACC_IT_TEST2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -620,7 +620,7 @@ func testAccGetAccsWithPrefix(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -654,7 +654,7 @@ func testAccGetAccsWithPrefix(t *testing.T) { { Tenant: "cgrates.org", ID: "aTEST_ACC_IT_TEST2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -666,7 +666,7 @@ func testAccGetAccsWithPrefix(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -694,7 +694,7 @@ func testAccGetAccountsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -706,7 +706,7 @@ func testAccGetAccountsForEvent(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -723,10 +723,10 @@ func testAccGetAccountsForEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: utils.CGRateSorg, ID: "testIDEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 20 * time.Second, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAccountsProfileIDs: "TEST_ACC_IT_TEST", }, } @@ -799,10 +799,10 @@ func testAccMaxAbstracts(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: utils.CGRateSorg, ID: "testIDEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "27s", utils.OptsAccountsProfileIDs: "TEST_ACC_IT_TEST4", }, @@ -955,10 +955,10 @@ func testAccDebitAbstracts(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: utils.CGRateSorg, ID: "testIDEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "27s", utils.OptsAccountsProfileIDs: "TEST_ACC_IT_TEST5", }, @@ -1106,10 +1106,10 @@ func testAccMaxConcretes(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: utils.CGRateSorg, ID: "testIDEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesIntervalStart: "27s", utils.OptsAccountsProfileIDs: "TEST_ACC_IT_TEST6", }, @@ -1268,10 +1268,10 @@ func testAccDebitConcretes(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: utils.CGRateSorg, ID: "testIDEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAccountsUsage: "27s", utils.OptsAccountsProfileIDs: "TEST_ACC_IT_TEST7", }, @@ -1401,7 +1401,7 @@ func testAccRefundCharges(t *testing.T) { Factor: utils.NewDecimal(10, 0), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: -100.0, }, CostIncrements: []*utils.CostIncrement{ @@ -1448,11 +1448,11 @@ func testAccRefundCharges(t *testing.T) { ev := &utils.CGREvent{ Tenant: utils.CGRateSorg, ID: "tesRefundCHarges", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAccountsUsage: "3m27s", utils.OptsAccountsProfileIDs: "AccountRefundCharges", }, @@ -1529,7 +1529,7 @@ func testAccActionSetRmvBalance(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST8", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1540,7 +1540,7 @@ func testAccActionSetRmvBalance(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -1582,7 +1582,7 @@ func testAccActionSetRmvBalance(t *testing.T) { expectedAcc := utils.Account{ Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST8", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "AbstractBalance3": { ID: "AbstractBalance3", @@ -1615,7 +1615,7 @@ func testAccActionSetRmvBalance(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -1657,7 +1657,7 @@ func testAccActionSetRmvBalance(t *testing.T) { expectedAcc2 := utils.Account{ Tenant: "cgrates.org", ID: "TEST_ACC_IT_TEST8", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1669,7 +1669,7 @@ func testAccActionSetRmvBalance(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -1873,12 +1873,12 @@ func testAccDebitAbstractWithoutBlockers(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: utils.CGRateSorg, ID: "testIDEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Blockers": "*exists", utils.AccountField: "101223", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 90 * time.Second, }, } @@ -1902,11 +1902,11 @@ func testAccDebitAbstractWithBlockers(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: utils.CGRateSorg, ID: "testIDEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Blockers": "*exists", utils.AccountField: "101223", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 90 * time.Second, }, } @@ -1930,12 +1930,12 @@ func testAccDebitAbstractWithBlockersOnBalance(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: utils.CGRateSorg, ID: "testIDEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Blockers": "*exists", utils.AccountField: "101223", "BlockerAbstract": "yes", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 90 * time.Second, }, } diff --git a/apis/accounts_test.go b/apis/accounts_test.go index 19d8391d3..4ee9e20be 100644 --- a/apis/accounts_test.go +++ b/apis/accounts_test.go @@ -43,7 +43,7 @@ func TestAccountsSetGetAccount(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -54,7 +54,7 @@ func TestAccountsSetGetAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -92,7 +92,7 @@ func TestAccountsSetGetAccount(t *testing.T) { expectedGet := utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -104,7 +104,7 @@ func TestAccountsSetGetAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -133,7 +133,7 @@ func TestAccountsGetAccountErrorMissingID(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -144,7 +144,7 @@ func TestAccountsGetAccountErrorMissingID(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -240,7 +240,7 @@ func TestAccountsSetGetAccountNoTenant(t *testing.T) { args := &utils.AccountWithAPIOpts{ Account: &utils.Account{ ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -251,7 +251,7 @@ func TestAccountsSetGetAccountNoTenant(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -289,7 +289,7 @@ func TestAccountsSetGetAccountNoTenant(t *testing.T) { expectedGet := utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -301,7 +301,7 @@ func TestAccountsSetGetAccountNoTenant(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -328,7 +328,7 @@ func TestAccountsSetGetAccountErrorMissingID(t *testing.T) { admS := NewAdminSv1(cfg, dm, connMgr, nil) args := &utils.AccountWithAPIOpts{ Account: &utils.Account{ - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -339,7 +339,7 @@ func TestAccountsSetGetAccountErrorMissingID(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -381,7 +381,7 @@ func TestAccountsSetGetAccountErrorBadFilter(t *testing.T) { Weight: 10, }, }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -392,7 +392,7 @@ func TestAccountsSetGetAccountErrorBadFilter(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -445,7 +445,7 @@ func TestAccountsSetGetAccountErrorSetLoadIDs(t *testing.T) { Weight: 10, }, }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -455,7 +455,7 @@ func TestAccountsSetGetAccountErrorSetLoadIDs(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -513,7 +513,7 @@ func TestAccountsSetGetAccountErrorCallCache(t *testing.T) { Weight: 10, }, }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -523,7 +523,7 @@ func TestAccountsSetGetAccountErrorCallCache(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -556,7 +556,7 @@ func TestAccountsSetGetAccountIDs(t *testing.T) { Account: &utils.Account{ Tenant: "testTenant", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -567,7 +567,7 @@ func TestAccountsSetGetAccountIDs(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -619,7 +619,7 @@ func TestAccountsSetGetAccountIDs(t *testing.T) { Account: &utils.Account{ Tenant: "testTenant", ID: "test_ID2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -630,7 +630,7 @@ func TestAccountsSetGetAccountIDs(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -946,7 +946,7 @@ func TestAccountsAccountsForEvent(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -956,7 +956,7 @@ func TestAccountsAccountsForEvent(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -994,7 +994,7 @@ func TestAccountsAccountsForEvent(t *testing.T) { expectedGet := utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1005,7 +1005,7 @@ func TestAccountsAccountsForEvent(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -1034,7 +1034,7 @@ func TestAccountsAccountsForEvent(t *testing.T) { ev := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1047,7 +1047,7 @@ func TestAccountsAccountsForEvent(t *testing.T) { Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1058,7 +1058,7 @@ func TestAccountsAccountsForEvent(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -1093,7 +1093,7 @@ func TestAccountsMaxAbstracts(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1103,7 +1103,7 @@ func TestAccountsMaxAbstracts(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*utils.CostIncrement{ @@ -1137,7 +1137,7 @@ func TestAccountsMaxAbstracts(t *testing.T) { TenantID: &utils.TenantID{ ID: "test_ID1", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, &getRply) if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) @@ -1145,7 +1145,7 @@ func TestAccountsMaxAbstracts(t *testing.T) { expectedGet := utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1156,7 +1156,7 @@ func TestAccountsMaxAbstracts(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -1192,10 +1192,10 @@ func TestAccountsMaxAbstracts(t *testing.T) { ev := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } err = accSv1.MaxAbstracts(context.Background(), ev, &rpEv) if err != nil { @@ -1248,7 +1248,7 @@ func TestAccountsMaxAbstracts(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*utils.CostIncrement{ @@ -1260,7 +1260,7 @@ func TestAccountsMaxAbstracts(t *testing.T) { Units: utils.NewDecimal(0, 0), }, }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, }, }, } @@ -1286,7 +1286,7 @@ func TestAccountsDebitAbstracts(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1296,7 +1296,7 @@ func TestAccountsDebitAbstracts(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*utils.CostIncrement{ @@ -1340,7 +1340,7 @@ func TestAccountsDebitAbstracts(t *testing.T) { expectedGet := utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1351,7 +1351,7 @@ func TestAccountsDebitAbstracts(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Units: utils.NewDecimal(0, 0), @@ -1386,10 +1386,10 @@ func TestAccountsDebitAbstracts(t *testing.T) { ev := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } err = accSv1.DebitAbstracts(context.Background(), ev, &rpEv) if err != nil { @@ -1440,7 +1440,7 @@ func TestAccountsDebitAbstracts(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*utils.CostIncrement{ @@ -1452,7 +1452,7 @@ func TestAccountsDebitAbstracts(t *testing.T) { Units: utils.NewDecimal(0, 0), }, }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, }, }, } @@ -1478,7 +1478,7 @@ func TestAccountsActionSetBalance(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1488,7 +1488,7 @@ func TestAccountsActionSetBalance(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*utils.CostIncrement{ @@ -1532,7 +1532,7 @@ func TestAccountsActionSetBalance(t *testing.T) { expectedGet := utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1543,7 +1543,7 @@ func TestAccountsActionSetBalance(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*utils.CostIncrement{ @@ -1578,10 +1578,10 @@ func TestAccountsActionSetBalance(t *testing.T) { ev := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } err = accSv1.DebitAbstracts(context.Background(), ev, &rpEv) if err != nil { @@ -1632,7 +1632,7 @@ func TestAccountsActionSetBalance(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*utils.CostIncrement{ @@ -1644,7 +1644,7 @@ func TestAccountsActionSetBalance(t *testing.T) { Units: utils.NewDecimal(0, 0), }, }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, }, }, } @@ -1781,10 +1781,10 @@ func TestAccountsMaxConcretes(t *testing.T) { ev := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", }, } @@ -2034,7 +2034,7 @@ func TestAccountsDebitConcretes(t *testing.T) { ev := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Usage: "3m", }, @@ -2057,7 +2057,7 @@ func TestAccountsGetAccountsOK(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -2083,7 +2083,7 @@ func TestAccountsGetAccountsOK(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -2109,7 +2109,7 @@ func TestAccountsGetAccountsOK(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test2_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -2138,7 +2138,7 @@ func TestAccountsGetAccountsOK(t *testing.T) { { Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -2153,7 +2153,7 @@ func TestAccountsGetAccountsOK(t *testing.T) { { Tenant: "cgrates.org", ID: "test_ID2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -2192,7 +2192,7 @@ func TestAccountsGetAccountsGetIDsErr(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -2217,7 +2217,7 @@ func TestAccountsGetAccountsGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -2301,7 +2301,7 @@ func TestAccountsGetAccountIDsGetOptsErr(t *testing.T) { if err := adms.GetAccountIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -2346,7 +2346,7 @@ func TestAccountsGetAccountIDsPaginateErr(t *testing.T) { if err := adms.GetAccountIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -2399,7 +2399,7 @@ func TestAccountsGetAccount(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "test_ID1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -2409,7 +2409,7 @@ func TestAccountsGetAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*utils.CostIncrement{ diff --git a/apis/actions_it_test.go b/apis/actions_it_test.go index 3af6b7ab0..c061d9582 100644 --- a/apis/actions_it_test.go +++ b/apis/actions_it_test.go @@ -474,10 +474,10 @@ func testActionsExecuteActionsHTTPPost(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -560,10 +560,10 @@ func testActionsStatProcessEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "StatsEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ_ID"}, utils.MetaUsage: 30 * time.Second, }, @@ -629,10 +629,10 @@ func testActionsScheduleActionsResetSQ(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -805,10 +805,10 @@ func testActionsExecuteActions(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ "TestCase": "ActionProfileBlockerBehaviour", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string if err := actRPC.Call(context.Background(), utils.ActionSv1ExecuteActions, args, &reply); err != nil { diff --git a/apis/actions_test.go b/apis/actions_test.go index c12bd35c6..9ee63cbe7 100644 --- a/apis/actions_test.go +++ b/apis/actions_test.go @@ -519,11 +519,11 @@ func TestActionsAPIs(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, ID: "EventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -555,14 +555,14 @@ func TestActionsExecuteActionsResetTH(t *testing.T) { Tenant: "cgrates.org", ID: "THD_ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } var executed bool cc := &mockClientConn{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ResetThreshold: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ResetThreshold: func(ctx *context.Context, args, reply any) error { if !reflect.DeepEqual(args, expArgs) { return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ToJSON(expArgs), utils.ToJSON(args)) @@ -615,10 +615,10 @@ func TestActionsExecuteActionsResetTH(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -651,14 +651,14 @@ func TestActionsExecuteActionsResetSQ(t *testing.T) { Tenant: "cgrates.org", ID: "SQ_ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } var executed bool cc := &mockClientConn{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.StatSv1ResetStatQueue: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.StatSv1ResetStatQueue: func(ctx *context.Context, args, reply any) error { if !reflect.DeepEqual(args, expArgs) { return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ToJSON(expArgs), utils.ToJSON(args)) @@ -711,10 +711,10 @@ func TestActionsExecuteActionsResetSQ(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -783,10 +783,10 @@ func TestActionsExecuteActionsLog(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -823,8 +823,8 @@ func TestActionsExecuteActionsLogCDRs(t *testing.T) { // } var executed bool cc := &mockClientConn{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CDRsV1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CDRsV1ProcessEvent: func(ctx *context.Context, args, reply any) error { // if !reflect.DeepEqual(args, expArgs) { // return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", // utils.ToJSON(expArgs), utils.ToJSON(args)) @@ -872,14 +872,14 @@ func TestActionsExecuteActionsLogCDRs(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Tenant: "cgrates.org", utils.BalanceType: utils.MetaConcrete, utils.Cost: 0.15, utils.ActionType: utils.MetaTopUp, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -916,8 +916,8 @@ func TestActionsExecuteActionsSetBalance(t *testing.T) { } var executed bool cc := &mockClientConn{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1ActionSetBalance: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1ActionSetBalance: func(ctx *context.Context, args, reply any) error { if !reflect.DeepEqual(args, expArgs) { return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ToJSON(expArgs), utils.ToJSON(args)) @@ -970,10 +970,10 @@ func TestActionsExecuteActionsSetBalance(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -1009,8 +1009,8 @@ func TestActionsExecuteActionsRemBalance(t *testing.T) { } var executed bool cc := &mockClientConn{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1ActionRemoveBalance: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1ActionRemoveBalance: func(ctx *context.Context, args, reply any) error { if !reflect.DeepEqual(args, expArgs) { return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ToJSON(expArgs), utils.ToJSON(args)) @@ -1063,10 +1063,10 @@ func TestActionsExecuteActionsRemBalance(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -1103,8 +1103,8 @@ func TestActionsExecuteActionsAddBalance(t *testing.T) { } var executed bool cc := &mockClientConn{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1ActionSetBalance: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1ActionSetBalance: func(ctx *context.Context, args, reply any) error { if !reflect.DeepEqual(args, expArgs) { return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ToJSON(expArgs), utils.ToJSON(args)) @@ -1157,10 +1157,10 @@ func TestActionsExecuteActionsAddBalance(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventExecuteActions", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } @@ -1345,7 +1345,7 @@ func TestActionsGetActionProfilesGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -1429,7 +1429,7 @@ func TestActionsGetActionProfileIDsGetOptsErr(t *testing.T) { if err := adms.GetActionProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -1474,7 +1474,7 @@ func TestActionsGetActionProfileIDsPaginateErr(t *testing.T) { if err := adms.GetActionProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, diff --git a/apis/analyzer.go b/apis/analyzer.go index 2d9868b84..70e934aeb 100644 --- a/apis/analyzer.go +++ b/apis/analyzer.go @@ -32,6 +32,6 @@ type AnalyzerSv1 struct { ping } -func (aSv1 *AnalyzerSv1) StringQuery(ctx *context.Context, search *analyzers.QueryArgs, reply *[]map[string]interface{}) error { +func (aSv1 *AnalyzerSv1) StringQuery(ctx *context.Context, search *analyzers.QueryArgs, reply *[]map[string]any) error { return aSv1.aS.V1StringQuery(ctx, search, reply) } diff --git a/apis/analyzer_it_test.go b/apis/analyzer_it_test.go index ac2d63f31..91a98716a 100644 --- a/apis/analyzer_it_test.go +++ b/apis/analyzer_it_test.go @@ -120,7 +120,7 @@ func testAnalyzerSLoad(t *testing.T) { var reply string if err := anzBiRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{utils.MetaCache: utils.MetaReload}, + APIOpts: map[string]any{utils.MetaCache: utils.MetaReload}, }, &reply); err != nil { t.Error(err) } else if reply != utils.OK { @@ -142,7 +142,7 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "Something_inter", utils.Destination: "999", @@ -157,7 +157,7 @@ func testAnalyzerSChargerSv1ProcessEvent(t *testing.T) { func testAnalyzerSSearchCall1(t *testing.T) { time.Sleep(10 * time.Millisecond) - var result []map[string]interface{} + var result []map[string]any queryArgs := &analyzers.QueryArgs{ HeaderFilters: `+RequestEncoding:\*internal +RequestMethod:AttributeSv1\.ProcessEvent`, } @@ -169,7 +169,7 @@ func testAnalyzerSSearchCall1(t *testing.T) { } func testAnalyzerSSearchCall2(t *testing.T) { - var result []map[string]interface{} + var result []map[string]any queryArgs := &analyzers.QueryArgs{ HeaderFilters: `+RequestEncoding:\*internal +RequestMethod:ChargerSv1\.ProcessEvent`, } @@ -202,7 +202,7 @@ func testAnalyzerSGetFilterIDs(t *testing.T) { Tenant: "cgrates.org", ID: filterIDs[0], }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := anzBiRPC.Call(context.Background(), utils.AdminSv1GetFilter, args, &result); err != nil { t.Error(err) @@ -225,7 +225,7 @@ func testAnalyzerSGetFilterIDs(t *testing.T) { } func testAnalyzerSSearchCall3(t *testing.T) { - var result []map[string]interface{} + var result []map[string]any queryArgs := &analyzers.QueryArgs{ HeaderFilters: `+RequestEncoding:\*json +RequestMethod:AdminSv1\.GetFilter`, } diff --git a/apis/attributes_it_test.go b/apis/attributes_it_test.go index 9c73a40b5..f12b546d7 100644 --- a/apis/attributes_it_test.go +++ b/apis/attributes_it_test.go @@ -794,12 +794,12 @@ func testAttributeSGetAttributeForEventAnyContext(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEventWihMetaAnyContext", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "dan", utils.Destination: "+491511231234", utils.ToR: "*voice", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.OptsContext: utils.MetaCDRs, }, @@ -870,11 +870,11 @@ func testAttributeSGetAttributeForEventSameAnyContext(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEventWihMetaAnyContext", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "dan", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, }, } @@ -910,11 +910,11 @@ func testAttributeSGetAttributeForEventNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEventWihMetaAnyContext", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "dann", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaCDRs, }, } @@ -929,11 +929,11 @@ func testAttributeSGetAttributeForEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.OptsContext: utils.MetaSessionS, }, @@ -1100,11 +1100,11 @@ func testAttributeProcessEvent(t *testing.T) { t.Fatal(err) } args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.OptsContext: utils.MetaCDRs, }, @@ -1118,11 +1118,11 @@ func testAttributeProcessEvent(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.itsyscom", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.ToR: utils.MetaVoice, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: float64(10 * time.Second), utils.OptsContext: utils.MetaCDRs, }, @@ -1175,10 +1175,10 @@ func testAttributeProcessEventWithSearchAndReplace(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "HeaderEventForAttribute", - Event: map[string]interface{}{ + Event: map[string]any{ "Category": "call", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.OptsContext: utils.MetaSessionS, }, @@ -1193,10 +1193,10 @@ func testAttributeProcessEventWithSearchAndReplace(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "HeaderEventForAttribute", - Event: map[string]interface{}{ + Event: map[string]any{ "Category": "call_suffix", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: float64(10 * time.Second), utils.OptsContext: utils.MetaSessionS, }, @@ -1290,10 +1290,10 @@ func testAttributeSProcessWithMultipleRuns(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 4, @@ -1321,7 +1321,7 @@ func testAttributeSProcessWithMultipleRuns(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -1419,10 +1419,10 @@ func testAttributeSProcessWithMultipleRuns2(t *testing.T) { attrArgs := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 4, @@ -1450,13 +1450,13 @@ func testAttributeSProcessWithMultipleRuns2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", "Field3": "Value3", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 4, @@ -1704,12 +1704,12 @@ func testAttributeSetAttributeProfileWithAttrBlockers(t *testing.T) { // first we will process the second attribute with true BLOCKER on profile, but true on Attributes if the Destination prefix is 4433(FOR NOW THE DESTINATION WILL BE EMPTY) args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.AccountField: "1002", "Blockers": "*exists", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expEvReply := &engine.AttrSProcessEventReply{ AlteredFields: []*engine.FieldsAltered{ @@ -1720,12 +1720,12 @@ func testAttributeSetAttributeProfileWithAttrBlockers(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.AccountField: "10093", "Blockers": "*exists", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRates: "true", }, }, @@ -1747,13 +1747,13 @@ func testAttributeSetAttributeProfileWithAttrBlockers2(t *testing.T) { // first we will process the second attribute with true BLOCKER on profile, but true on Attributes if the Destination prefix is 4433(NOW WE WILL POPULATE THE DESTINATION, AND THE BLOCKER WILL STOP THE NEXT ATTRIBUTES) args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.AccountField: "1002", "Blockers": "*exists", utils.Destination: "4433254", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expEvReply := &engine.AttrSProcessEventReply{ AlteredFields: []*engine.FieldsAltered{ @@ -1764,14 +1764,14 @@ func testAttributeSetAttributeProfileWithAttrBlockers2(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.AccountField: "10093", "Blockers": "*exists", utils.Destination: "4433254", }, // now *rates was not processde ebcause the blocker amtched the filter of Destination - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } evRply := &engine.AttrSProcessEventReply{} @@ -1791,13 +1791,13 @@ func testAttributeSetAttributeProfileBlockersBothProfilesProcessRuns(t *testing. // now we will process both attributes that matched, but blokcers on the attributes will be felt and not all attributes from the list were processed args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.AccountField: "1002", "Blockers": "*exists", utils.Destination: "4433254", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } @@ -1814,7 +1814,7 @@ func testAttributeSetAttributeProfileBlockersBothProfilesProcessRuns(t *testing. }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: "*sms", utils.AccountField: "10093", "Blockers": "*exists", @@ -1822,7 +1822,7 @@ func testAttributeSetAttributeProfileBlockersBothProfilesProcessRuns(t *testing. utils.RequestType: "*rated", }, // now *rates was not processde ebcause the blocker amtched the filter of Destination - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2., utils.MetaChargers: "true", }, @@ -1864,13 +1864,13 @@ func testAttributeSSetNonIndexedTypeFilter(t *testing.T) { } args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.AccountField: "1002", "Blockers": "*exists", utils.Destination: "44322", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expEvReply := &engine.AttrSProcessEventReply{ AlteredFields: []*engine.FieldsAltered{ @@ -1881,13 +1881,13 @@ func testAttributeSSetNonIndexedTypeFilter(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.AccountField: "10093", "Blockers": "*exists", utils.Destination: "44322", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRates: "true", }, }, diff --git a/apis/attributes_test.go b/apis/attributes_test.go index 6760c65af..ca9f423e8 100644 --- a/apis/attributes_test.go +++ b/apis/attributes_test.go @@ -254,7 +254,7 @@ func TestAttributesRemoveAttributeProfileCheckErrors(t *testing.T) { TenantID: &utils.TenantID{ ID: "TestGetAttributeProfile", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10, }}, &reply); err == nil || err.Error() != expected { t.Errorf("Expected %+v, received %+v", expected, err) @@ -495,7 +495,7 @@ func TestAttributesGetAttributeForEvent(t *testing.T) { attsv1 := NewAttributeSv1(attrS) ev := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -535,11 +535,11 @@ func TestAttributesGetAttributeForEvent(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.RequestType: utils.MetaPrepaid, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } if err := attsv1.ProcessEvent(context.Background(), ev, &rplyev); err != nil { @@ -736,7 +736,7 @@ func TestAttributesGetAttributeProfilesGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -820,7 +820,7 @@ func TestAttributesGetAttributeProfileIDsGetOptsErr(t *testing.T) { if err := adms.GetAttributeProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -865,7 +865,7 @@ func TestAttributesGetAttributeProfileIDsPaginateErr(t *testing.T) { if err := adms.GetAttributeProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, diff --git a/apis/cache.go b/apis/cache.go index aa9cfb521..26872a7f2 100644 --- a/apis/cache.go +++ b/apis/cache.go @@ -51,13 +51,13 @@ func (chSv1 *CacheSv1) HasItem(ctx *context.Context, args *utils.ArgsGetCacheIte // GetItem returns an Item from the cache func (chSv1 *CacheSv1) GetItem(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) error { + reply *any) error { return chSv1.cacheS.V1GetItem(ctx, args, reply) } // GetItemWithRemote returns an Item from local or remote cache func (chSv1 *CacheSv1) GetItemWithRemote(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) error { + reply *any) error { return chSv1.cacheS.V1GetItemWithRemote(ctx, args, reply) } diff --git a/apis/cache_it_test.go b/apis/cache_it_test.go index 52b2e4ff5..f481cbafa 100644 --- a/apis/cache_it_test.go +++ b/apis/cache_it_test.go @@ -139,7 +139,7 @@ func testCacheSSetAttributeProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } diff --git a/apis/cache_test.go b/apis/cache_test.go index 2072f7163..5346a1638 100644 --- a/apis/cache_test.go +++ b/apis/cache_test.go @@ -297,7 +297,7 @@ func TestGetCacheStats(t *testing.T) { args := &utils.AttrCacheIDsWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, CacheIDs: []string{utils.CacheAttributeProfiles}, } if err := cache.GetCacheStats(context.Background(), args, &reply); err != nil { @@ -321,7 +321,7 @@ func TestPrecacheStatus(t *testing.T) { args := &utils.AttrCacheIDsWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, CacheIDs: []string{utils.CacheAttributeProfiles}, } if err := cache.PrecacheStatus(context.Background(), args, &reply); err != nil { @@ -348,7 +348,7 @@ func TestHasGroup(t *testing.T) { args := &utils.ArgsGetGroupWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, ArgsGetGroup: utils.ArgsGetGroup{ CacheID: utils.CacheAttributeProfiles, GroupID: "Group", @@ -377,7 +377,7 @@ func TestGetGroupItemIDs(t *testing.T) { args := &utils.ArgsGetGroupWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, ArgsGetGroup: utils.ArgsGetGroup{ CacheID: utils.CacheAttributeProfiles, GroupID: "AttrGroup", @@ -406,7 +406,7 @@ func TestRemoveGroup(t *testing.T) { args := &utils.ArgsGetGroupWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, ArgsGetGroup: utils.ArgsGetGroup{ CacheID: utils.CacheAttributeProfiles, GroupID: "AttrGroup", diff --git a/apis/cdrs_test.go b/apis/cdrs_test.go index 39a670033..4f3d54971 100644 --- a/apis/cdrs_test.go +++ b/apis/cdrs_test.go @@ -42,7 +42,7 @@ func TestCDRsProcessEvent(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -69,7 +69,7 @@ func TestCDRsProcessEventWithGet(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -79,10 +79,10 @@ func TestCDRsProcessEventWithGet(t *testing.T) { } exp := []utils.EventsWithOpts{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, }, } if !reflect.DeepEqual(exp[0].Event, reply[0].Event) { diff --git a/apis/chargers.go b/apis/chargers.go index 73b7c3ab3..3ccbc76f8 100644 --- a/apis/chargers.go +++ b/apis/chargers.go @@ -115,7 +115,7 @@ func (admS *AdminSv1) GetChargerProfilesCount(ctx *context.Context, args *utils. type ChargerWithAPIOpts struct { *engine.ChargerProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // SetChargerProfile add/update a new Charger Profile diff --git a/apis/chargers_it_test.go b/apis/chargers_it_test.go index bf35bd561..f646acaae 100644 --- a/apis/chargers_it_test.go +++ b/apis/chargers_it_test.go @@ -780,11 +780,11 @@ func testChargersGetChargersForEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "eventCharger", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } reply := &engine.ChargerProfiles{} if err := chargersRPC.Call(context.Background(), utils.ChargerSv1GetChargersForEvent, @@ -808,11 +808,11 @@ func testChargersProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "eventCharger", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaChargeID: utils.UUIDSha1Prefix(), "*subsys": "*chargers", utils.MetaRunID: utils.MetaDefault, @@ -823,11 +823,11 @@ func testChargersProcessEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "eventCharger", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } reply := &[]*engine.ChrgSProcessEventReply{} if err := chargersRPC.Call(context.Background(), utils.ChargerSv1ProcessEvent, @@ -954,10 +954,10 @@ func testChargersBlockerGetChargersForEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventGetChargerProfiles", - Event: map[string]interface{}{ + Event: map[string]any{ "TestCase": "BlockerBehaviour", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expected := engine.ChargerProfiles{ { diff --git a/apis/chargers_test.go b/apis/chargers_test.go index 0971f067a..e65afb4e7 100644 --- a/apis/chargers_test.go +++ b/apis/chargers_test.go @@ -370,7 +370,7 @@ func TestChargerSSetGetRmvGetChargerProfile(t *testing.T) { Tenant: "cgrates.org", ID: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, &getRply) if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) @@ -415,7 +415,7 @@ func TestChargerSSetGetRmvGetChargerProfile(t *testing.T) { Tenant: "cgrates.org", ID: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, &getRply2) if err == nil || err.Error() != "NOT_FOUND" { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", "NOT_FOUND", err) @@ -459,7 +459,7 @@ func TestChargerSSetGetRmvGetChargerProfileNoTenant(t *testing.T) { Tenant: "cgrates.org", ID: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, &getRply) if err != nil { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", nil, err) @@ -503,7 +503,7 @@ func TestChargerSSetGetRmvGetChargerProfileNoTenant(t *testing.T) { Tenant: "cgrates.org", ID: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, &getRply2) if err == nil || err.Error() != "NOT_FOUND" { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", "NOT_FOUND", err) @@ -787,7 +787,7 @@ func TestChargersGetChargerProfilesGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -871,7 +871,7 @@ func TestChargersGetChargerProfileIDsGetOptsErr(t *testing.T) { if err := adms.GetChargerProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -916,7 +916,7 @@ func TestChargersGetChargerProfileIDsPaginateErr(t *testing.T) { if err := adms.GetChargerProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -1132,10 +1132,10 @@ func TestChargersAPIs(t *testing.T) { expEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{"ATTR1", "ATTR2"}, utils.MetaChargeID: "", utils.OptsContext: utils.MetaChargers, @@ -1145,8 +1145,8 @@ func TestChargersAPIs(t *testing.T) { } mCC := &mockClientConn{ - calls: map[string]func(*context.Context, interface{}, interface{}) error{ - utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(*context.Context, any, any) error{ + utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { expEv.APIOpts[utils.MetaChargeID] = args.(*utils.CGREvent).APIOpts[utils.MetaChargeID] if !reflect.DeepEqual(args, expEv) { return fmt.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ToJSON(expEv), utils.ToJSON(args)) @@ -1216,10 +1216,10 @@ func TestChargersAPIs(t *testing.T) { argsGetForEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } exp := engine.ChargerProfiles{ { @@ -1282,10 +1282,10 @@ func TestChargersAPIs(t *testing.T) { argsProcessEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expProcessEv := []*engine.ChrgSProcessEventReply{ { @@ -1299,10 +1299,10 @@ func TestChargersAPIs(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{"ATTR1", "ATTR2"}, utils.MetaChargeID: "", utils.OptsContext: utils.MetaChargers, diff --git a/apis/config.go b/apis/config.go index b7a899243..493c0f145 100644 --- a/apis/config.go +++ b/apis/config.go @@ -38,7 +38,7 @@ type ConfigSv1 struct { // GetConfig will return the CGRConfig section as a map // if the section is empty or *all all config is returned -func (cSv1 *ConfigSv1) GetConfig(ctx *context.Context, section *config.SectionWithAPIOpts, reply *map[string]interface{}) (err error) { +func (cSv1 *ConfigSv1) GetConfig(ctx *context.Context, section *config.SectionWithAPIOpts, reply *map[string]any) (err error) { return cSv1.cfg.V1GetConfig(ctx, section, reply) } diff --git a/apis/config_it_test.go b/apis/config_it_test.go index ea965eb5a..b522fce5e 100644 --- a/apis/config_it_test.go +++ b/apis/config_it_test.go @@ -128,7 +128,7 @@ func testCfgRPCConn(t *testing.T) { } func testCfgGetConfigInvalidSection(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any expected := "Invalid section " if err := cfgRPC.Call(context.Background(), utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ @@ -142,9 +142,9 @@ func testCfgGetConfigInvalidSection(t *testing.T) { } func testCfgGetConfig(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - "attributes": map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + "attributes": map[string]any{ "accounts_conns": []string{"*localhost"}, "enabled": true, "indexed_selects": true, @@ -155,7 +155,7 @@ func testCfgGetConfig(t *testing.T) { "suffix_indexed_fields": []string{}, "exists_indexed_fields": []string{}, "notexists_indexed_fields": []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{}, utils.MetaProfileRunsCfg: []*utils.DynamicIntOpt{}, @@ -184,8 +184,8 @@ func testCfgSetGetConfig(t *testing.T) { &config.SetConfigArgs{ APIOpts: nil, Tenant: "", - Config: map[string]interface{}{ - "attributes": map[string]interface{}{ + Config: map[string]any{ + "attributes": map[string]any{ "accounts_conns": []string{"*internal"}, "enabled": true, "indexed_selects": false, @@ -194,7 +194,7 @@ func testCfgSetGetConfig(t *testing.T) { "resources_conns": []string{"*internal"}, "stats_conns": []string{"*internal"}, "suffix_indexed_fields": []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{ { Value: 2, @@ -211,32 +211,32 @@ func testCfgSetGetConfig(t *testing.T) { if reply != utils.OK { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", "OK", utils.ToJSON(reply)) } - expectedGet := map[string]interface{}{ - "attributes": map[string]interface{}{ - "accounts_conns": []interface{}{"*internal"}, + expectedGet := map[string]any{ + "attributes": map[string]any{ + "accounts_conns": []any{"*internal"}, "enabled": true, "indexed_selects": false, "nested_fields": false, - "prefix_indexed_fields": []interface{}{}, - "resources_conns": []interface{}{"*internal"}, - "stats_conns": []interface{}{"*internal"}, - "suffix_indexed_fields": []interface{}{}, - "exists_indexed_fields": []interface{}{}, - "notexists_indexed_fields": []interface{}{}, - utils.OptsCfg: map[string]interface{}{ - utils.MetaProfileIDs: []interface{}{}, - utils.MetaProcessRunsCfg: []interface{}{ - map[string]interface{}{ + "prefix_indexed_fields": []any{}, + "resources_conns": []any{"*internal"}, + "stats_conns": []any{"*internal"}, + "suffix_indexed_fields": []any{}, + "exists_indexed_fields": []any{}, + "notexists_indexed_fields": []any{}, + utils.OptsCfg: map[string]any{ + utils.MetaProfileIDs: []any{}, + utils.MetaProcessRunsCfg: []any{ + map[string]any{ "Value": 2., "Tenant": utils.EmptyString, }, }, - utils.MetaProfileRunsCfg: []interface{}{}, - utils.MetaProfileIgnoreFilters: []interface{}{}, + utils.MetaProfileRunsCfg: []any{}, + utils.MetaProfileIgnoreFilters: []any{}, }, }, } - var replyGet map[string]interface{} + var replyGet map[string]any if err := cfgRPC.Call(context.Background(), utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ APIOpts: nil, @@ -257,8 +257,8 @@ func testCfgSetEmptyReload(t *testing.T) { &config.SetConfigArgs{ APIOpts: nil, Tenant: "", - Config: map[string]interface{}{ - "rates": map[string]interface{}{ + Config: map[string]any{ + "rates": map[string]any{ "enabled": true, "indexed_selects": false, }, @@ -285,8 +285,8 @@ func testCfgSetEmptyReload(t *testing.T) { if !reflect.DeepEqual(`"OK"`, utils.ToJSON(rldArgs)) { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", "OK", utils.ToJSON(rldArgs)) } - expectedGet := map[string]interface{}{ - "rates": map[string]interface{}{ + expectedGet := map[string]any{ + "rates": map[string]any{ "enabled": true, "indexed_selects": false, "nested_fields": false, @@ -301,7 +301,7 @@ func testCfgSetEmptyReload(t *testing.T) { "rate_exists_indexed_fields": []string{}, "rate_notexists_indexed_fields": []string{}, "verbosity": 1000, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaStartTime: []*utils.DynamicStringOpt{}, utils.MetaUsage: []*utils.DynamicDecimalBigOpt{}, @@ -310,7 +310,7 @@ func testCfgSetEmptyReload(t *testing.T) { }, }, } - var replyGet map[string]interface{} + var replyGet map[string]any if err := cfgRPC.Call(context.Background(), utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ APIOpts: nil, @@ -492,8 +492,8 @@ func testCfgSetGetConfigStore(t *testing.T) { &config.SetConfigArgs{ APIOpts: nil, Tenant: "", - Config: map[string]interface{}{ - "attributes": map[string]interface{}{ + Config: map[string]any{ + "attributes": map[string]any{ "accounts_conns": []string{"*internal"}, "enabled": true, "indexed_selects": false, @@ -503,7 +503,7 @@ func testCfgSetGetConfigStore(t *testing.T) { "stats_conns": []string{"*internal"}, "profile_runs": 0., "suffix_indexed_fields": []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{}, }, }, @@ -516,8 +516,8 @@ func testCfgSetGetConfigStore(t *testing.T) { if !reflect.DeepEqual(`"OK"`, utils.ToJSON(reply)) { t.Errorf("\nExpected <%+v>, \nReceived <%+v>", "OK", utils.ToJSON(reply)) } - expectedGet := map[string]interface{}{ - "attributes": map[string]interface{}{ + expectedGet := map[string]any{ + "attributes": map[string]any{ "accounts_conns": []string{"*internal"}, "enabled": true, "indexed_selects": false, @@ -528,7 +528,7 @@ func testCfgSetGetConfigStore(t *testing.T) { "suffix_indexed_fields": []string{}, "exists_indexed_fields": []string{}, "notexists_indexed_fields": []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{}, utils.MetaProfileRunsCfg: []*utils.DynamicIntOpt{}, @@ -536,7 +536,7 @@ func testCfgSetGetConfigStore(t *testing.T) { }, }, } - var replyGet map[string]interface{} + var replyGet map[string]any if err := cfgRPC.Call(context.Background(), utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ APIOpts: nil, @@ -617,32 +617,32 @@ func testCfgReloadConfigStore(t *testing.T) { } func testCfgGetAfterReloadStore(t *testing.T) { - expectedGet := map[string]interface{}{ - "attributes": map[string]interface{}{ - "accounts_conns": []interface{}{"*internal"}, + expectedGet := map[string]any{ + "attributes": map[string]any{ + "accounts_conns": []any{"*internal"}, "enabled": true, "indexed_selects": true, "nested_fields": false, - "prefix_indexed_fields": []interface{}{}, - "resources_conns": []interface{}{"*internal"}, - "stats_conns": []interface{}{"*internal"}, - "suffix_indexed_fields": []interface{}{}, - "exists_indexed_fields": []interface{}{}, - "notexists_indexed_fields": []interface{}{}, - utils.OptsCfg: map[string]interface{}{ - utils.MetaProfileIDs: []interface{}{}, - utils.MetaProcessRunsCfg: []interface{}{ - map[string]interface{}{ + "prefix_indexed_fields": []any{}, + "resources_conns": []any{"*internal"}, + "stats_conns": []any{"*internal"}, + "suffix_indexed_fields": []any{}, + "exists_indexed_fields": []any{}, + "notexists_indexed_fields": []any{}, + utils.OptsCfg: map[string]any{ + utils.MetaProfileIDs: []any{}, + utils.MetaProcessRunsCfg: []any{ + map[string]any{ "Tenant": utils.EmptyString, "Value": 2., }, }, - utils.MetaProfileRunsCfg: []interface{}{}, - utils.MetaProfileIgnoreFilters: []interface{}{}, + utils.MetaProfileRunsCfg: []any{}, + utils.MetaProfileIgnoreFilters: []any{}, }, }, } - var replyGet map[string]interface{} + var replyGet map[string]any if err := cfgRPC.Call(context.Background(), utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ APIOpts: nil, diff --git a/apis/config_test.go b/apis/config_test.go index 7f4d24dfd..f2394db47 100644 --- a/apis/config_test.go +++ b/apis/config_test.go @@ -74,10 +74,10 @@ func TestConfigSetGetConfig(t *testing.T) { argsGet := &config.SectionWithAPIOpts{ Sections: []string{"attributes"}, } - var replyGet map[string]interface{} + var replyGet map[string]any err = rlcCfg.GetConfig(context.Background(), argsGet, &replyGet) - expectedGet := map[string]interface{}{ - "attributes": map[string]interface{}{ + expectedGet := map[string]any{ + "attributes": map[string]any{ "accounts_conns": []string{"*internal"}, "enabled": true, "indexed_selects": true, @@ -88,7 +88,7 @@ func TestConfigSetGetConfig(t *testing.T) { "suffix_indexed_fields": []string{}, "exists_indexed_fields": []string{}, "notexists_indexed_fields": []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{ { @@ -113,8 +113,8 @@ func TestConfigSetGetReloadConfig(t *testing.T) { rlcCfg := NewConfigSv1(cfg) args := &config.SetConfigArgs{ Tenant: utils.CGRateSorg, - Config: map[string]interface{}{ - "attributes": map[string]interface{}{ + Config: map[string]any{ + "attributes": map[string]any{ "accounts_conns": []string{"*internal"}, "enabled": true, "indexed_selects": false, @@ -125,7 +125,7 @@ func TestConfigSetGetReloadConfig(t *testing.T) { "suffix_indexed_fields": []string{}, "exists_indexed_fields": []string{}, "notexists_indexed_fields": []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{ { Value: 2, @@ -145,8 +145,8 @@ func TestConfigSetGetReloadConfig(t *testing.T) { argsGet := &config.SectionWithAPIOpts{ Sections: []string{"attributes"}, } - expectedGet := map[string]interface{}{ - "attributes": map[string]interface{}{ + expectedGet := map[string]any{ + "attributes": map[string]any{ "accounts_conns": []string{}, "enabled": false, "indexed_selects": true, @@ -157,7 +157,7 @@ func TestConfigSetGetReloadConfig(t *testing.T) { "suffix_indexed_fields": []string{}, "exists_indexed_fields": []string{}, "notexists_indexed_fields": []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{}, utils.MetaProfileRunsCfg: []*utils.DynamicIntOpt{}, @@ -165,7 +165,7 @@ func TestConfigSetGetReloadConfig(t *testing.T) { }, }, } - var replyGet map[string]interface{} + var replyGet map[string]any if err := rlcCfg.GetConfig(context.Background(), argsGet, &replyGet); err != nil { t.Error(err) } else if !reflect.DeepEqual(expectedGet, replyGet) { @@ -185,8 +185,8 @@ func TestConfigSetGetReloadConfig(t *testing.T) { argsGetRld := &config.SectionWithAPIOpts{ Sections: []string{"attributes"}, } - expectedGetRld := map[string]interface{}{ - "attributes": map[string]interface{}{ + expectedGetRld := map[string]any{ + "attributes": map[string]any{ "accounts_conns": []string{}, "enabled": false, "indexed_selects": true, @@ -197,7 +197,7 @@ func TestConfigSetGetReloadConfig(t *testing.T) { "suffix_indexed_fields": []string{}, "exists_indexed_fields": []string{}, "notexists_indexed_fields": []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{}, utils.MetaProfileRunsCfg: []*utils.DynamicIntOpt{}, @@ -205,7 +205,7 @@ func TestConfigSetGetReloadConfig(t *testing.T) { }, }, } - var replyGetRld map[string]interface{} + var replyGetRld map[string]any if err := rlcCfg.GetConfig(context.Background(), argsGetRld, &replyGetRld); err != nil { t.Error(err) } else if !reflect.DeepEqual(expectedGetRld, replyGetRld) { diff --git a/apis/cores.go b/apis/cores.go index 846fbd210..8a7b5c2fa 100644 --- a/apis/cores.go +++ b/apis/cores.go @@ -33,7 +33,7 @@ type CoreSv1 struct { ping } -func (cS *CoreSv1) Status(ctx *context.Context, arg *utils.TenantWithAPIOpts, reply *map[string]interface{}) error { +func (cS *CoreSv1) Status(ctx *context.Context, arg *utils.TenantWithAPIOpts, reply *map[string]any) error { return cS.cS.V1Status(ctx, arg, reply) } diff --git a/apis/cores_it_test.go b/apis/cores_it_test.go index 2905dcf99..9a45e8093 100644 --- a/apis/cores_it_test.go +++ b/apis/cores_it_test.go @@ -344,7 +344,7 @@ func testCoreItStartMemoryProfiling(t *testing.T) { func testCoreItStatus(t *testing.T) { args := &utils.TenantIDWithAPIOpts{} - var reply map[string]interface{} + var reply map[string]any if err := coreSBiRpc.Call(context.Background(), utils.CoreSv1Status, args, &reply); err != nil { t.Fatal(err) diff --git a/apis/cores_test.go b/apis/cores_test.go index 90a99f28f..b2a6a093c 100644 --- a/apis/cores_test.go +++ b/apis/cores_test.go @@ -37,9 +37,9 @@ func TestCoreSStatus(t *testing.T) { cS := NewCoreSv1(coreService) arg := &utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } - var reply map[string]interface{} + var reply map[string]any if err := cS.Status(context.Background(), arg, &reply); err != nil { t.Error(err) } @@ -86,7 +86,7 @@ func TestStartCPUProfiling(t *testing.T) { cS := NewCoreSv1(coreService) args := &utils.DirectoryArgs{ DirPath: "dir_path", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, Tenant: "cgrates.org", } @@ -104,7 +104,7 @@ func TestStopCPUProfiling(t *testing.T) { cS := NewCoreSv1(coreService) args := &utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string errExp := " cannot stop because CPUProfiling is not active" @@ -138,7 +138,7 @@ func TestStopMemoryProfiling(t *testing.T) { cS := NewCoreSv1(coreService) args := &utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string errExp := "Memory Profiling is not started" diff --git a/apis/dispatchers.go b/apis/dispatchers.go index f2d03e292..5a793ccca 100644 --- a/apis/dispatchers.go +++ b/apis/dispatchers.go @@ -114,7 +114,7 @@ func (admS *AdminSv1) GetDispatcherProfilesCount(ctx *context.Context, args *uti type DispatcherWithAPIOpts struct { *engine.DispatcherProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // SetDispatcherProfile add/update a new Dispatcher Profile @@ -331,7 +331,7 @@ type DispatcherSv1 struct { // return dSv1.dS.V1GetProfilesForEvent(ctx, ev, dPrfl) // } -// func (dS *DispatcherSv1) RemoteStatus(args *utils.TenantWithAPIOpts, reply *map[string]interface{}) (err error) { +// func (dS *DispatcherSv1) RemoteStatus(args *utils.TenantWithAPIOpts, reply *map[string]any) (err error) { // return dS.dS.DispatcherSv1RemoteStatus(args, reply) // } diff --git a/apis/dispatchers_test.go b/apis/dispatchers_test.go index 61000de8f..8f2f9c3cb 100644 --- a/apis/dispatchers_test.go +++ b/apis/dispatchers_test.go @@ -47,7 +47,7 @@ func TestDispatchersGetDispatcherProfilesOK(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -70,7 +70,7 @@ func TestDispatchersGetDispatcherProfilesOK(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -93,7 +93,7 @@ func TestDispatchersGetDispatcherProfilesOK(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -158,7 +158,7 @@ func TestDispatchersSetGetRemDispatcherProfile(t *testing.T) { TenantID: &utils.TenantID{ ID: "dspID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -177,7 +177,7 @@ func TestDispatchersSetGetRemDispatcherProfile(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -357,7 +357,7 @@ func TestDispatchersRemoveDispatcherProfileCheckErrors(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -409,7 +409,7 @@ func TestDispatchersRemoveDispatcherProfileCheckErrors(t *testing.T) { if err := adms.RemoveDispatcherProfile(context.Background(), &utils.TenantIDWithAPIOpts{ TenantID: &utils.TenantID{ ID: "TestDispatchersRemoveDispatcherProfileCheckErrors", - }, APIOpts: map[string]interface{}{ + }, APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }}, &reply); err == nil || err.Error() != experr { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", experr, err) @@ -451,7 +451,7 @@ func TestDispatchersRemoveDispatcherProfileCheckErrors(t *testing.T) { &utils.TenantIDWithAPIOpts{ TenantID: &utils.TenantID{ ID: "TestDispatchersRemoveDispatcherProfileCheckErrors", - }, APIOpts: map[string]interface{}{ + }, APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }}, &reply); err == nil || err.Error() != experr { t.Errorf("\nexpected: <%+v>, \nreceived: <%+v>", experr, err) @@ -621,7 +621,7 @@ func TestDispatchersGetDispatcherProfileIDsGetOptsErr(t *testing.T) { if err := adms.GetDispatcherProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -666,7 +666,7 @@ func TestDispatchersGetDispatcherProfileIDsPaginateErr(t *testing.T) { if err := adms.GetDispatcherProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -1168,7 +1168,7 @@ func TestDispatchersGetDispatcherHostIDsGetOptsErr(t *testing.T) { if err := adms.GetDispatcherHostIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -1215,7 +1215,7 @@ func TestDispatchersGetDispatcherHostIDsPaginateErr(t *testing.T) { if err := adms.GetDispatcherHostIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -1307,7 +1307,7 @@ func TestDispatchersGetDispatcherProfilesGetIDsErr(t *testing.T) { }, Weight: 10, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1322,7 +1322,7 @@ func TestDispatchersGetDispatcherProfilesGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -1399,7 +1399,7 @@ func TestDispatchersGetDispatcherHostsGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, diff --git a/apis/ees.go b/apis/ees.go index efb14c1c8..b03ac916d 100644 --- a/apis/ees.go +++ b/apis/ees.go @@ -35,7 +35,7 @@ type EeSv1 struct { } // ProcessEvent triggers exports on EEs side -func (cS *EeSv1) ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs, rply *map[string]map[string]interface{}) error { +func (cS *EeSv1) ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs, rply *map[string]map[string]any) error { return cS.ees.V1ProcessEvent(ctx, cgrEv, rply) } diff --git a/apis/ees_test.go b/apis/ees_test.go index dfd2d36a5..2cde5376d 100644 --- a/apis/ees_test.go +++ b/apis/ees_test.go @@ -50,7 +50,7 @@ func TestEeSProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -69,13 +69,13 @@ func TestEeSProcessEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, }, } - var reply map[string]map[string]interface{} - replyExpect := map[string]map[string]interface{}{ + var reply map[string]map[string]any + replyExpect := map[string]map[string]any{ "SQLExporterFull": {}, } if err := cS.ProcessEvent(context.Background(), cgrEv, &reply); err != nil { @@ -101,12 +101,12 @@ func TestArchiveEventsInReply(t *testing.T) { args := &ees.ArchiveEventsArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaExporterID: "SQLExporterFull", }, Events: []*utils.EventsWithOpts{ { - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", }, }, diff --git a/apis/filter_indexes.go b/apis/filter_indexes.go index 7eeac1916..7583d5c68 100644 --- a/apis/filter_indexes.go +++ b/apis/filter_indexes.go @@ -35,14 +35,14 @@ type AttrGetFilterIndexes struct { FilterType string FilterField string FilterValue string - APIOpts map[string]interface{} + APIOpts map[string]any } type AttrRemFilterIndexes struct { Tenant string Context string ItemType string - APIOpts map[string]interface{} + APIOpts map[string]any } func (adms *AdminSv1) RemoveFilterIndexes(ctx *context.Context, arg *AttrRemFilterIndexes, reply *string) (err error) { diff --git a/apis/filter_indexes_it_test.go b/apis/filter_indexes_it_test.go index 65cb51ada..29a0f76c9 100644 --- a/apis/filter_indexes_it_test.go +++ b/apis/filter_indexes_it_test.go @@ -598,7 +598,7 @@ func testV1FIdxAttributeSRemoveComputedIndexesIDs(t *testing.T) { &AttrRemFilterIndexes{ Tenant: utils.CGRateSorg, ItemType: utils.MetaAttributes, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, }, @@ -691,7 +691,7 @@ func testV1FIdxAttributeRemoveIndexesComputeIndexesAllProfiles(t *testing.T) { &AttrRemFilterIndexes{ Tenant: utils.CGRateSorg, ItemType: utils.MetaAttributes, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, }, @@ -745,7 +745,7 @@ func testV1FIdxAttributesRemoveProfilesNoIndexes(t *testing.T) { var reply string if err := tFIdxRpc.Call(context.Background(), utils.AdminSv1RemoveAttributeProfile, &utils.TenantIDWithAPIOpts{TenantID: &utils.TenantID{ID: "TEST_ATTRIBUTES_IT_TEST", - Tenant: utils.CGRateSorg}, APIOpts: map[string]interface{}{ + Tenant: utils.CGRateSorg}, APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }}, &reply); err != nil { t.Error(err) @@ -754,7 +754,7 @@ func testV1FIdxAttributesRemoveProfilesNoIndexes(t *testing.T) { } if err := tFIdxRpc.Call(context.Background(), utils.AdminSv1RemoveAttributeProfile, &utils.TenantIDWithAPIOpts{TenantID: &utils.TenantID{ID: "TEST_ATTRIBUTE3", - Tenant: utils.CGRateSorg}, APIOpts: map[string]interface{}{ + Tenant: utils.CGRateSorg}, APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }}, &reply); err != nil { t.Error(err) @@ -763,7 +763,7 @@ func testV1FIdxAttributesRemoveProfilesNoIndexes(t *testing.T) { } if err := tFIdxRpc.Call(context.Background(), utils.AdminSv1RemoveAttributeProfile, &utils.TenantIDWithAPIOpts{TenantID: &utils.TenantID{ID: "TEST_ATTRIBUTES_new_fltr", - Tenant: utils.CGRateSorg}, APIOpts: map[string]interface{}{ + Tenant: utils.CGRateSorg}, APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }}, &reply); err != nil { t.Error(err) @@ -773,7 +773,7 @@ func testV1FIdxAttributesRemoveProfilesNoIndexes(t *testing.T) { if err := tFIdxRpc.Call(context.Background(), utils.AdminSv1RemoveFilter, utils.TenantIDWithAPIOpts{TenantID: &utils.TenantID{Tenant: utils.CGRateSorg, - ID: "fltr_for_attr"}, APIOpts: map[string]interface{}{ + ID: "fltr_for_attr"}, APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }}, &reply); err != nil { t.Error(err) @@ -1149,7 +1149,7 @@ func testV1FIdxAccountSRemoveComputedIndexesIDs(t *testing.T) { &AttrRemFilterIndexes{ Tenant: utils.CGRateSorg, ItemType: utils.MetaAccounts, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }}, &reply); err != nil { @@ -1333,7 +1333,7 @@ func testV1FIdxSetActionProfileWithFltr(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := tFIdxRpc.Call(context.Background(), utils.AdminSv1SetActionProfile, actPrf, &reply); err != nil { @@ -1444,7 +1444,7 @@ func testV1FIdxSetActionProfileMoreFltrsMoreIndexing(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := tFIdxRpc.Call(context.Background(), utils.AdminSv1SetActionProfile, actPrf, &reply); err != nil { @@ -1559,7 +1559,7 @@ func testV1FIdxActionMoreProfileForFilters(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } actPrf3 := &engine.ActionProfileWithAPIOpts{ ActionProfile: &engine.ActionProfile{ @@ -1586,7 +1586,7 @@ func testV1FIdxActionMoreProfileForFilters(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string if err := tFIdxRpc.Call(context.Background(), utils.AdminSv1SetActionProfile, @@ -1644,7 +1644,7 @@ func testV1FIdxActionSRemoveComputedIndexesIDs(t *testing.T) { &AttrRemFilterIndexes{ Tenant: utils.CGRateSorg, ItemType: utils.MetaActions, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, }, @@ -2087,7 +2087,7 @@ func testV1FIdxChargerSRemoveComputedIndexesIDs(t *testing.T) { &AttrRemFilterIndexes{ Tenant: utils.CGRateSorg, ItemType: utils.MetaChargers, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, }, @@ -2564,7 +2564,7 @@ func testV1FIdxRateSRemoveComputedIndexesIDs(t *testing.T) { &AttrRemFilterIndexes{ Tenant: utils.CGRateSorg, ItemType: utils.MetaRateProfiles, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, }, @@ -3122,7 +3122,7 @@ func testV1FIdxRateProfileRatesRemoveComputedIndexesIDs(t *testing.T) { Tenant: utils.CGRateSorg, ItemType: utils.MetaRateProfileRates, Context: "RATE_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, }, @@ -3630,7 +3630,7 @@ func testV1FIdxResourceSRemoveComputedIndexesIDs(t *testing.T) { &AttrRemFilterIndexes{ Tenant: utils.CGRateSorg, ItemType: utils.MetaResources, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, }, @@ -4129,7 +4129,7 @@ func testV1FIdxRouteSRemoveComputedIndexesIDs(t *testing.T) { &AttrRemFilterIndexes{ Tenant: utils.CGRateSorg, ItemType: utils.MetaRoutes, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, }, @@ -4598,7 +4598,7 @@ func testV1FIdxStatSRemoveComputedIndexesIDs(t *testing.T) { &AttrRemFilterIndexes{ Tenant: utils.CGRateSorg, ItemType: utils.MetaStats, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, }, diff --git a/apis/filter_indexes_test.go b/apis/filter_indexes_test.go index 70e8ceea3..b06412410 100644 --- a/apis/filter_indexes_test.go +++ b/apis/filter_indexes_test.go @@ -46,7 +46,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaThresholds, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -65,7 +65,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaRoutes, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -84,7 +84,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaStats, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -103,7 +103,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaResources, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -122,7 +122,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaChargers, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -141,7 +141,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaAccounts, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -160,7 +160,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaActions, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -179,7 +179,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaRateProfiles, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -198,7 +198,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaRateProfileRates, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -217,7 +217,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaDispatchers, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -236,7 +236,7 @@ func TestRemoveFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaAttributes, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -271,7 +271,7 @@ func TestRemoveFilterIndexes(t *testing.T) { // Tenant: "cgrates.org", // Context: "cgrates", // ItemType: utils.MetaThresholds, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaCache: utils.MetaNone, // }, // } @@ -300,7 +300,7 @@ func TestComputeFilterIndexes(t *testing.T) { args := &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", ThresholdS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -313,7 +313,7 @@ func TestComputeFilterIndexes(t *testing.T) { args = &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", StatS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -326,7 +326,7 @@ func TestComputeFilterIndexes(t *testing.T) { args = &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", ResourceS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -339,7 +339,7 @@ func TestComputeFilterIndexes(t *testing.T) { args = &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", RouteS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -352,7 +352,7 @@ func TestComputeFilterIndexes(t *testing.T) { args = &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", AttributeS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -365,7 +365,7 @@ func TestComputeFilterIndexes(t *testing.T) { args = &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", ChargerS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -378,7 +378,7 @@ func TestComputeFilterIndexes(t *testing.T) { args = &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", AccountS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -391,7 +391,7 @@ func TestComputeFilterIndexes(t *testing.T) { args = &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", ActionS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -404,7 +404,7 @@ func TestComputeFilterIndexes(t *testing.T) { args = &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", RateS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -417,7 +417,7 @@ func TestComputeFilterIndexes(t *testing.T) { args = &utils.ArgsComputeFilterIndexes{ Tenant: "cgrates.org", DispatcherS: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -445,7 +445,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //ThresholdProfile args := &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, ThresholdIDs: []string{""}, @@ -458,7 +458,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //StatQueueProfile args = &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, StatIDs: []string{""}, @@ -471,7 +471,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //ResourceProfile args = &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, ResourceIDs: []string{""}, @@ -484,7 +484,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //RouteProfile args = &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, RouteIDs: []string{""}, @@ -497,7 +497,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //AttributeProfile args = &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, AttributeIDs: []string{""}, @@ -510,7 +510,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //ChargerProfile args = &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, ChargerIDs: []string{""}, @@ -523,7 +523,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //Account args = &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, AccountIDs: []string{""}, @@ -536,7 +536,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //ActionProfile args = &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, ActionProfileIDs: []string{""}, @@ -549,7 +549,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //RateProfile args = &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, ActionProfileIDs: []string{""}, @@ -562,7 +562,7 @@ func TestComputeFilterIndexIDs(t *testing.T) { //DispatcherProfile args = &utils.ArgsComputeFilterIndexIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, DispatcherIDs: []string{""}, @@ -593,7 +593,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaThresholds, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -607,7 +607,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaRoutes, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -621,7 +621,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaStats, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -635,7 +635,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaResources, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -649,7 +649,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaChargers, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -663,7 +663,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaAccounts, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -677,7 +677,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaActions, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -691,7 +691,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaRateProfiles, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -705,7 +705,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaRateProfileRates, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -719,7 +719,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaDispatchers, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -733,7 +733,7 @@ func TestGetFilterIndexes(t *testing.T) { Tenant: "cgrates.org", Context: "cgrates", ItemType: utils.MetaAttributes, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -760,7 +760,7 @@ func TestGetReverseFilterHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -787,7 +787,7 @@ func TestGetThresholdsIndexesHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -814,7 +814,7 @@ func TestGetResourcesIndexesHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -841,7 +841,7 @@ func TestGetStatsIndexesHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -868,7 +868,7 @@ func TestGetRoutesIndexesHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -895,7 +895,7 @@ func TestGetAttributesIndexHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -922,7 +922,7 @@ func TestGetChargersIndexHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -949,7 +949,7 @@ func TestGetDispatchersIndexesHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -976,7 +976,7 @@ func TestGetRateProfilesIndexesHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1003,7 +1003,7 @@ func TestGetActionsIndexesHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1030,7 +1030,7 @@ func TestGetAccountsIndexesHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1057,7 +1057,7 @@ func TestGetRateRatesIndexesHealth(t *testing.T) { args := &engine.IndexHealthArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } diff --git a/apis/filters_it_test.go b/apis/filters_it_test.go index 35b5abb1e..ddea9cb1f 100644 --- a/apis/filters_it_test.go +++ b/apis/filters_it_test.go @@ -704,7 +704,7 @@ func testFiltersFiltersMatchTrue(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -729,7 +729,7 @@ func testFiltersFiltersMatchFalse(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "2002", }, diff --git a/apis/filters_test.go b/apis/filters_test.go index 0985801a6..5e145c9cd 100644 --- a/apis/filters_test.go +++ b/apis/filters_test.go @@ -785,10 +785,10 @@ func TestFiltersRemoveFilterRemoveFilterError(t *testing.T) { } type mockClientConn struct { - calls map[string]func(*context.Context, interface{}, interface{}) error + calls map[string]func(*context.Context, any, any) error } -func (mCC *mockClientConn) Call(ctx *context.Context, serviceMethod string, args interface{}, reply interface{}) (err error) { +func (mCC *mockClientConn) Call(ctx *context.Context, serviceMethod string, args any, reply any) (err error) { if call, has := mCC.calls[serviceMethod]; has { return call(ctx, args, reply) } @@ -803,15 +803,15 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { dataDB := engine.NewInternalDB(nil, nil, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) expArgs := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, Tenant: "cgrates.org", FilterIDs: []string{"cgrates.org:FLTR_ID"}, } ccM := &mockClientConn{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReloadCache: func(ctx *context.Context, args, reply any) error { if !reflect.DeepEqual(args, expArgs) { return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ToJSON(expArgs), utils.ToJSON(args)) } @@ -839,7 +839,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, } @@ -866,7 +866,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -886,7 +886,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -904,7 +904,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { Weight: 10, }}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -923,7 +923,7 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -943,12 +943,12 @@ func TestFiltersSetFilterReloadCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, } expArgs = &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, Tenant: "cgrates.org", @@ -974,15 +974,15 @@ func TestFiltersSetFilterClearCache(t *testing.T) { dataDB := engine.NewInternalDB(nil, nil, cfg.DataDbCfg().Items) dm := engine.NewDataManager(dataDB, cfg.CacheCfg(), nil) expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, Tenant: "cgrates.org", CacheIDs: []string{utils.CacheFilters}, } ccM := &mockClientConn{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1Clear: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1Clear: func(ctx *context.Context, args, reply any) error { sort.Strings(args.(*utils.AttrCacheIDsWithAPIOpts).CacheIDs) if !reflect.DeepEqual(args, expArgs) { return fmt.Errorf("expected: <%+v>,\nreceived: <%+v>", utils.ToJSON(expArgs), utils.ToJSON(args)) @@ -1011,7 +1011,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, } @@ -1038,7 +1038,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1058,7 +1058,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1076,7 +1076,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { Weight: 10, }}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1095,7 +1095,7 @@ func TestFiltersSetFilterClearCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1115,12 +1115,12 @@ func TestFiltersSetFilterClearCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, } expArgs = &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaClear, }, Tenant: "cgrates.org", @@ -1306,7 +1306,7 @@ func TestFiltersFiltersMatchTrue(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -1336,7 +1336,7 @@ func TestFiltersFiltersMatchFalse(t *testing.T) { args := &engine.ArgsFiltersMatch{ CGREvent: &utils.CGREvent{ ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "2002", }, @@ -1367,7 +1367,7 @@ func TestFiltersFiltersMatchErr(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -1535,7 +1535,7 @@ func TestFiltersGetFiltersGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -1619,7 +1619,7 @@ func TestFiltersGetFilterIDsGetOptsErr(t *testing.T) { if err := adms.GetFilterIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -1664,7 +1664,7 @@ func TestFiltersGetFilterIDsPaginateErr(t *testing.T) { if err := adms.GetFilterIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, diff --git a/apis/indexes_after_load_it_test.go b/apis/indexes_after_load_it_test.go index 4f4d3b659..269bc42b0 100644 --- a/apis/indexes_after_load_it_test.go +++ b/apis/indexes_after_load_it_test.go @@ -113,7 +113,7 @@ func testIdxLoadTariffPlan(t *testing.T) { if err := idxLoadBiRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ // StopOnError: true, - APIOpts: map[string]interface{}{utils.MetaCache: utils.MetaReload}, // after laod, we got CacheIDs and it will be called Cachesv1.Clear, so indexes will be removed + APIOpts: map[string]any{utils.MetaCache: utils.MetaReload}, // after laod, we got CacheIDs and it will be called Cachesv1.Clear, so indexes will be removed }, &reply); err != nil { t.Error(err) } else if reply != utils.OK { diff --git a/apis/libadmin.go b/apis/libadmin.go index 546208d3e..9e5636f2d 100644 --- a/apis/libadmin.go +++ b/apis/libadmin.go @@ -28,9 +28,9 @@ import ( // CallCache caching the item based on CacheOpt func (admS *AdminSv1) CallCache(ctx *context.Context, cacheopt string, tnt, cacheID, itemID, groupID string, - filters *[]string, opts map[string]interface{}) (err error) { + filters *[]string, opts map[string]any) (err error) { var reply, method string - var args interface{} + var args any switch utils.FirstNonEmpty(cacheopt, admS.cfg.GeneralCfg().DefaultCaching) { case utils.MetaNone: return @@ -151,9 +151,9 @@ func (admS *AdminSv1) composeArgsReload(ctx *context.Context, tnt, cacheID, item // callCacheForIndexes will only call CacheClear because don't have access at ItemID func (admS *AdminSv1) callCacheForRemoveIndexes(ctx *context.Context, cacheopt string, tnt, cacheID string, - itemIDs []string, opts map[string]interface{}) (err error) { + itemIDs []string, opts map[string]any) (err error) { var reply, method string - var args interface{} = utils.NewAttrReloadCacheWithOptsFromMap(map[string][]string{cacheID: itemIDs}, tnt, opts) + var args any = utils.NewAttrReloadCacheWithOptsFromMap(map[string][]string{cacheID: itemIDs}, tnt, opts) switch utils.FirstNonEmpty(cacheopt, admS.cfg.GeneralCfg().DefaultCaching) { case utils.MetaNone: return @@ -176,9 +176,9 @@ func (admS *AdminSv1) callCacheForRemoveIndexes(ctx *context.Context, cacheopt s } func (admS *AdminSv1) callCacheForComputeIndexes(ctx *context.Context, cacheopt, tnt string, - cacheItems map[string][]string, opts map[string]interface{}) (err error) { + cacheItems map[string][]string, opts map[string]any) (err error) { var reply, method string - var args interface{} = utils.NewAttrReloadCacheWithOptsFromMap(cacheItems, tnt, opts) + var args any = utils.NewAttrReloadCacheWithOptsFromMap(cacheItems, tnt, opts) switch utils.FirstNonEmpty(cacheopt, admS.cfg.GeneralCfg().DefaultCaching) { case utils.MetaNone: return @@ -205,12 +205,12 @@ func (admS *AdminSv1) callCacheForComputeIndexes(ctx *context.Context, cacheopt, } // callCacheRevDestinations used for reverse destination, loadIDs and indexes replication -func (admS *AdminSv1) callCacheMultiple(ctx *context.Context, cacheopt, tnt, cacheID string, itemIDs []string, opts map[string]interface{}) (err error) { +func (admS *AdminSv1) callCacheMultiple(ctx *context.Context, cacheopt, tnt, cacheID string, itemIDs []string, opts map[string]any) (err error) { if len(itemIDs) == 0 { return } var reply, method string - var args interface{} + var args any switch utils.FirstNonEmpty(cacheopt, admS.cfg.GeneralCfg().DefaultCaching) { case utils.MetaNone: return @@ -279,9 +279,9 @@ func composeCacheArgsForFilter(dm *engine.DataManager, ctx *context.Context, flt // callCacheForFilter will call the cache for filter func callCacheForFilter(connMgr *engine.ConnManager, cacheConns []string, ctx *context.Context, cacheopt, dftCache, tnt string, - argC map[string][]string, opts map[string]interface{}) (err error) { + argC map[string][]string, opts map[string]any) (err error) { var reply, method string - var args interface{} = utils.NewAttrReloadCacheWithOptsFromMap(argC, tnt, opts) + var args any = utils.NewAttrReloadCacheWithOptsFromMap(argC, tnt, opts) switch utils.FirstNonEmpty(cacheopt, dftCache) { case utils.MetaNone: return diff --git a/apis/libadmin_test.go b/apis/libadmin_test.go index f31986426..75af2c635 100644 --- a/apis/libadmin_test.go +++ b/apis/libadmin_test.go @@ -112,7 +112,7 @@ func TestCallCache(t *testing.T) { fltrs := engine.NewFilterS(cfg, connMgr, dm) admS := NewAdminSv1(cfg, dm, connMgr, fltrs) admS.cfg.AdminSCfg().CachesConns = []string{"*internal"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaCache: utils.MetaNone, } errExp := "UNSUPPORTED_SERVICE_METHOD" @@ -152,7 +152,7 @@ func TestCallCacheForRemoveIndexes(t *testing.T) { fltrs := engine.NewFilterS(cfg, connMgr, dm) admS := NewAdminSv1(cfg, dm, connMgr, fltrs) admS.cfg.AdminSCfg().CachesConns = []string{"*internal"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaCache: utils.MetaNone, } errExp := "UNSUPPORTED_SERVICE_METHOD" @@ -186,7 +186,7 @@ func TestCallCacheForComputeIndexes(t *testing.T) { fltrs := engine.NewFilterS(cfg, connMgr, dm) admS := NewAdminSv1(cfg, dm, connMgr, fltrs) admS.cfg.AdminSCfg().CachesConns = []string{"*internal"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaCache: utils.MetaNone, } errExp := "UNSUPPORTED_SERVICE_METHOD" @@ -220,7 +220,7 @@ func TestCallCacheMultiple(t *testing.T) { fltrs := engine.NewFilterS(cfg, connMgr, dm) admS := NewAdminSv1(cfg, dm, connMgr, fltrs) admS.cfg.AdminSCfg().CachesConns = []string{"*internal"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaCache: utils.MetaNone, } errExp := "UNSUPPORTED_SERVICE_METHOD" diff --git a/apis/loaders_it_test.go b/apis/loaders_it_test.go index 0097dbbe1..0676c0e8b 100644 --- a/apis/loaders_it_test.go +++ b/apis/loaders_it_test.go @@ -354,7 +354,7 @@ func testLoadersLoad(t *testing.T) { var reply string if err := ldrRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, utils.MetaStopOnError: true, }, @@ -380,7 +380,7 @@ func testLoadersGetAccounts(t *testing.T) { Blocker: false, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), Balances: map[string]*utils.Balance{ "MonetaryBalance": { ID: "MonetaryBalance", @@ -410,7 +410,7 @@ func testLoadersGetAccounts(t *testing.T) { Factor: utils.NewDecimal(200, 0), }, }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, CostIncrements: []*utils.CostIncrement{ { FilterIDs: []string{"fltr1", "fltr2"}, @@ -430,7 +430,7 @@ func testLoadersGetAccounts(t *testing.T) { }, Type: utils.MetaVoice, Units: utils.NewDecimal(int64(time.Hour), 0), - Opts: make(map[string]interface{}), + Opts: make(map[string]any), }, }, ThresholdIDs: []string{utils.MetaNone}, @@ -448,7 +448,7 @@ func testLoadersGetAccounts(t *testing.T) { Blocker: false, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), Balances: map[string]*utils.Balance{ "MonetaryBalance": { ID: "MonetaryBalance", @@ -460,7 +460,7 @@ func testLoadersGetAccounts(t *testing.T) { Type: utils.MetaMonetary, Units: utils.NewDecimal(int64(time.Hour), 0), - Opts: map[string]interface{}{}, + Opts: map[string]any{}, }, "VoiceBalance": { ID: "VoiceBalance", @@ -471,7 +471,7 @@ func testLoadersGetAccounts(t *testing.T) { }, Type: utils.MetaVoice, Units: utils.NewDecimal(14, 0), - Opts: make(map[string]interface{}), + Opts: make(map[string]any), UnitFactors: []*utils.UnitFactor{ { FilterIDs: []string{"fltr3", "fltr4"}, @@ -539,7 +539,7 @@ func testLoadersGetActionProfiles(t *testing.T) { ID: "TOPUP", TTL: 0, Type: utils.MetaAddBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestBalance.Value", @@ -551,7 +551,7 @@ func testLoadersGetActionProfiles(t *testing.T) { ID: "SET_BALANCE_TEST_DATA", TTL: 0, Type: utils.MetaSetBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestDataBalance.Type", @@ -563,7 +563,7 @@ func testLoadersGetActionProfiles(t *testing.T) { ID: "TOPUP_TEST_DATA", TTL: 0, Type: utils.MetaAddBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestDataBalance.Value", @@ -575,7 +575,7 @@ func testLoadersGetActionProfiles(t *testing.T) { ID: "SET_BALANCE_TEST_VOICE", TTL: 0, Type: utils.MetaSetBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestVoiceBalance.Type", @@ -587,7 +587,7 @@ func testLoadersGetActionProfiles(t *testing.T) { ID: "TOPUP_TEST_VOICE", TTL: 0, Type: utils.MetaAddBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestVoiceBalance.Value", @@ -753,14 +753,14 @@ func testLoadersGetDispatcherProfiles(t *testing.T) { ID: "D1", FilterIDs: []string{"*string:~*req.Account:1001"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Weight: 20, Hosts: engine.DispatcherHostProfiles{ { ID: "C1", FilterIDs: []string{"fltr1", "fltr2", "fltr4"}, Weight: 10, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: "1", "param1": "value1", "param2": "value2", @@ -774,21 +774,21 @@ func testLoadersGetDispatcherProfiles(t *testing.T) { ID: "D2", FilterIDs: []string{"*string:~*req.Account:1002"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Weight: 20, Hosts: engine.DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, { ID: "C2", FilterIDs: []string{"fltr3"}, Weight: 10, - Params: map[string]interface{}{ + Params: map[string]any{ "param3": "value3", }, Blocker: false, @@ -1368,7 +1368,7 @@ func testLoadersRemove(t *testing.T) { if err := ldrRPC.Call(context.Background(), utils.LoaderSv1Run, //Remove, &loaders.ArgsProcessFolder{ LoaderID: "remove", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, utils.MetaStopOnError: true, }, diff --git a/apis/preload_it_test.go b/apis/preload_it_test.go index 5a19dc015..360eda727 100644 --- a/apis/preload_it_test.go +++ b/apis/preload_it_test.go @@ -226,7 +226,7 @@ func testPreloadITVerifyAccounts(t *testing.T) { expAcc := &utils.Account{ Tenant: utils.CGRateSorg, ID: "1001", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Weights: []*utils.DynamicWeight{ { Weight: 20, @@ -261,7 +261,7 @@ func testPreloadITVerifyAccounts(t *testing.T) { }, }, AttributeIDs: []string{"attr1", "attr2"}, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, }, "VoiceBalance": { ID: "VoiceBalance", @@ -281,7 +281,7 @@ func testPreloadITVerifyAccounts(t *testing.T) { }, Type: utils.MetaVoice, Units: utils.NewDecimal(int64(time.Hour), 0), - Opts: map[string]interface{}{}, + Opts: map[string]any{}, }, }, ThresholdIDs: []string{"*none"}, @@ -318,7 +318,7 @@ func testPreloadITVerifyActionProfiles(t *testing.T) { ID: "TOPUP", TTL: 0, Type: utils.MetaAddBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestBalance.Value", @@ -330,7 +330,7 @@ func testPreloadITVerifyActionProfiles(t *testing.T) { ID: "SET_BALANCE_TEST_DATA", TTL: 0, Type: utils.MetaSetBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestDataBalance.Type", @@ -342,7 +342,7 @@ func testPreloadITVerifyActionProfiles(t *testing.T) { ID: "TOPUP_TEST_DATA", TTL: 0, Type: utils.MetaAddBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestDataBalance.Value", @@ -354,7 +354,7 @@ func testPreloadITVerifyActionProfiles(t *testing.T) { ID: "SET_BALANCE_TEST_VOICE", TTL: 0, Type: utils.MetaSetBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestVoiceBalance.Type", @@ -366,7 +366,7 @@ func testPreloadITVerifyActionProfiles(t *testing.T) { ID: "TOPUP_TEST_VOICE", TTL: 0, Type: utils.MetaAddBalance, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Diktats: []*engine.APDiktat{ { Path: "*balance.TestVoiceBalance.Value", diff --git a/apis/rates_it_test.go b/apis/rates_it_test.go index 3268e3e5b..346590107 100644 --- a/apis/rates_it_test.go +++ b/apis/rates_it_test.go @@ -835,7 +835,7 @@ func testRateRemoveRateProfileRates(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRateSOverwrite: true, }, } @@ -1974,7 +1974,7 @@ func testRateProfileUpdateProfileRatesOverwrite(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRateSOverwrite: true, }, } @@ -2165,7 +2165,7 @@ func testRateProfilesForEventMatchingEvents(t *testing.T) { if err := rateSRPC.Call(context.Background(), utils.RateSv1RateProfilesForEvent, &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Destination": "2004", }, }, &rtPrfIDs); err != nil { @@ -2186,7 +2186,7 @@ func testRateProfilesForEventMatchingEvents(t *testing.T) { if err := rateSRPC.Call(context.Background(), utils.RateSv1RateProfilesForEvent, &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1445", "Destination": "2004", }, @@ -2208,7 +2208,7 @@ func testRateProfilesForEventMatchingEvents(t *testing.T) { if err := rateSRPC.Call(context.Background(), utils.RateSv1RateProfilesForEvent, &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1445", "MonthToRate": "july", "Destination": "2004", @@ -2308,11 +2308,11 @@ func testRateProfileRatesForEventMatchingEvents(t *testing.T) { RateProfileID: "RT_CGR202", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "ToR": "*voice", "Account": "2021", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "1m", }, }, @@ -2336,12 +2336,12 @@ func testRateProfileRatesForEventMatchingEvents(t *testing.T) { RateProfileID: "RT_CGR202", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "ToR": "*voice", "Account": "2021", "Destination": "2023", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", }, }, @@ -2365,12 +2365,12 @@ func testRateProfileRatesForEventMatchingEvents(t *testing.T) { RateProfileID: "RT_CGR202", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "ToR": "*voice", "Account": "2021", "Destination": "2023", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "1m", }, }, @@ -2486,7 +2486,7 @@ func testRateSPaginateGetRateProfile1(t *testing.T) { TenantID: &utils.TenantID{ ID: "RATE_PROFILE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 4, utils.PageOffsetOpt: 1, utils.ItemsPrefixOpt: "RateB", @@ -2553,7 +2553,7 @@ func testRateSPaginateGetRateProfile2(t *testing.T) { TenantID: &utils.TenantID{ ID: "RATE_PROFILE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 4, utils.PageOffsetOpt: 1, utils.ItemsPrefixOpt: "RateA", @@ -2607,7 +2607,7 @@ func testRateSPaginateGetRateProfile3(t *testing.T) { TenantID: &utils.TenantID{ ID: "RATE_PROFILE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageOffsetOpt: 1, }, } diff --git a/apis/rates_test.go b/apis/rates_test.go index a914948b0..4576ebe08 100644 --- a/apis/rates_test.go +++ b/apis/rates_test.go @@ -622,7 +622,7 @@ func TestRatesCostForEvent(t *testing.T) { Tenant: "tenant", ID: "ID", Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesProfileIDs: []string{"rtID"}, }, } @@ -1496,7 +1496,7 @@ func TestRatesSetRateProfileErrorCache(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: "1", }, } @@ -1712,12 +1712,12 @@ func TestRatesCostForEventRateIDxSelects(t *testing.T) { //math the rates with true rates index selects from config ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.RequestType: "*postpaid", utils.Destination: "+332145", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesUsage: "1m24s", }, } @@ -1935,7 +1935,7 @@ func TestRatesGetRateProfilesGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -2019,7 +2019,7 @@ func TestRatesGetRateProfileIDsGetOptsErr(t *testing.T) { if err := adms.GetRateProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -2064,7 +2064,7 @@ func TestRatesGetRateProfileIDsPaginateErr(t *testing.T) { if err := adms.GetRateProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -2400,7 +2400,7 @@ func TestRatesGetRateProfileRateIDsGetOptsErr(t *testing.T) { &utils.ArgsSubItemIDs{ Tenant: "cgrates.org", ProfileID: "prfID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -2439,7 +2439,7 @@ func TestRatesGetRateProfileRateIDsPaginateErr(t *testing.T) { if err := adms.GetRateProfileRateIDs(context.Background(), &utils.ArgsSubItemIDs{ ProfileID: "prfID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -2495,7 +2495,7 @@ func TestRatesSetRateProfileErrConvertOverwriteOpt(t *testing.T) { }, ID: "RateProfile", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRateSOverwrite: "invalid_opt", }, } @@ -2605,7 +2605,7 @@ func TestRatesGetRateProfilePagination(t *testing.T) { TenantID: &utils.TenantID{ ID: "RATE_PROFILE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 4, utils.PageOffsetOpt: 1, utils.ItemsPrefixOpt: "RateB", @@ -2672,7 +2672,7 @@ func TestRatesGetRateProfilePagination(t *testing.T) { TenantID: &utils.TenantID{ ID: "RATE_PROFILE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 4, utils.PageOffsetOpt: 1, utils.ItemsPrefixOpt: "RateA", @@ -2721,7 +2721,7 @@ func TestRatesGetRateProfilePagination(t *testing.T) { TenantID: &utils.TenantID{ ID: "RATE_PROFILE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageOffsetOpt: 1, }, } @@ -2816,7 +2816,7 @@ func TestRatesGetRateProfilePagination(t *testing.T) { TenantID: &utils.TenantID{ ID: "RATE_PROFILE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 4, utils.PageOffsetOpt: 1, utils.PageMaxItemsOpt: 4, @@ -2834,7 +2834,7 @@ func TestRatesGetRateProfilePagination(t *testing.T) { TenantID: &utils.TenantID{ ID: "RATE_PROFILE", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, utils.PageOffsetOpt: 1, }, diff --git a/apis/replicator_test.go b/apis/replicator_test.go index becbe0563..1215de345 100644 --- a/apis/replicator_test.go +++ b/apis/replicator_test.go @@ -66,7 +66,7 @@ func TestReplicatorGetAccount(t *testing.T) { acc := &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -77,7 +77,7 @@ func TestReplicatorGetAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -118,7 +118,7 @@ func TestReplicatorGetAccountError(t *testing.T) { acc := &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple_2", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -129,7 +129,7 @@ func TestReplicatorGetAccountError(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -864,7 +864,7 @@ func TestReplicatorGetDispatcherProfile(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -873,7 +873,7 @@ func TestReplicatorGetDispatcherProfile(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, @@ -908,7 +908,7 @@ func TestReplicatorGetDispatcherProfileError(t *testing.T) { ID: "Dsp5", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -917,7 +917,7 @@ func TestReplicatorGetDispatcherProfileError(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, @@ -1089,7 +1089,7 @@ func TestReplicatorSetThresholdProfile(t *testing.T) { }, Async: true, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1147,7 +1147,7 @@ func TestReplicatorSetThresholdProfileErr1(t *testing.T) { }, Async: true, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -1174,7 +1174,7 @@ func TestReplicatorSetAccount(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1185,7 +1185,7 @@ func TestReplicatorSetAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -1197,7 +1197,7 @@ func TestReplicatorSetAccount(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1211,7 +1211,7 @@ func TestReplicatorSetAccount(t *testing.T) { exp := &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple1", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -1222,7 +1222,7 @@ func TestReplicatorSetAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -1258,7 +1258,7 @@ func TestReplicatorSetThreshold(t *testing.T) { ID: "THD_20", Hits: 0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1298,7 +1298,7 @@ func TestReplicatorSetThresholdErr1(t *testing.T) { ID: "THD_20", Hits: 0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -1350,7 +1350,7 @@ func TestReplicatorSetStatQueueProfile(t *testing.T) { }, ThresholdIDs: []string{utils.MetaNone}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1408,7 +1408,7 @@ func TestReplicatorSetStatQueueProfileErr1(t *testing.T) { }, ThresholdIDs: []string{utils.MetaNone}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -1439,7 +1439,7 @@ func TestReplicatorSetStatQueue(t *testing.T) { utils.MetaTCD: engine.NewTCD(0, "", nil), }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1494,7 +1494,7 @@ func TestReplicatorSetFilter(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1549,7 +1549,7 @@ func TestReplicatorSetFilterErr1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -1585,7 +1585,7 @@ func TestReplicatorSetResourceProfile(t *testing.T) { }}, ThresholdIDs: []string{utils.MetaNone}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1627,7 +1627,7 @@ func TestReplicatorSetResourceProfileErr1(t *testing.T) { }}, ThresholdIDs: []string{utils.MetaNone}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -1656,7 +1656,7 @@ func TestReplicatorSetResource(t *testing.T) { ID: "ResGroup2", Usages: make(map[string]*engine.ResourceUsage), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1691,7 +1691,7 @@ func TestReplicatorSetResourceErr1(t *testing.T) { ID: "ResGroup2", Usages: make(map[string]*engine.ResourceUsage), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -1735,7 +1735,7 @@ func TestReplicatorSetRouteProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1786,7 +1786,7 @@ func TestReplicatorSetRouteProfileErr1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -1832,7 +1832,7 @@ func TestReplicatorSetAttributeProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1884,7 +1884,7 @@ func TestReplicatorSetAttributeProfileErr1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -1919,7 +1919,7 @@ func TestReplicatorChargerProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -1960,7 +1960,7 @@ func TestReplicatorChargerProfileErr1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -1989,7 +1989,7 @@ func TestReplicatorSetDispatcherProfile(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -1998,12 +1998,12 @@ func TestReplicatorSetDispatcherProfile(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2038,7 +2038,7 @@ func TestReplicatorSetDispatcherProfileErr1(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -2047,12 +2047,12 @@ func TestReplicatorSetDispatcherProfileErr1(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2087,7 +2087,7 @@ func TestReplicatorSetDispatcherHost(t *testing.T) { ReplyTimeout: 2 * time.Minute, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2128,7 +2128,7 @@ func TestReplicatorSetDispatcherHostErr1(t *testing.T) { ReplyTimeout: 2 * time.Minute, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2161,7 +2161,7 @@ func TestReplicatorRemoveThreshold(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:THD_2"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2197,7 +2197,7 @@ func TestReplicatorRemoveThresholdErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:THD_2"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2223,7 +2223,7 @@ func TestReplicatorRemoveAccount(t *testing.T) { acc := &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -2234,7 +2234,7 @@ func TestReplicatorRemoveAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -2251,7 +2251,7 @@ func TestReplicatorRemoveAccount(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:Account_simple"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2290,7 +2290,7 @@ func TestReplicatorRemoveStatQueue(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:sq11"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2329,7 +2329,7 @@ func TestReplicatorRemoveStatQueueErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:sq11"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2382,7 +2382,7 @@ func TestReplicatorRemoveFilter(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:fltr_for_prf"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2438,7 +2438,7 @@ func TestReplicatorRemoveFilterErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:fltr_for_prf"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2480,7 +2480,7 @@ func TestReplicatorRemoveThresholdProfile(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:THD_2"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2525,7 +2525,7 @@ func TestReplicatorRemoveThresholdProfileErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:THD_2"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2581,7 +2581,7 @@ func TestReplicatorRemoveStatQueueProfile(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:SQ_20"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2640,7 +2640,7 @@ func TestReplicatorRemoveStatQueueProfileErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:SQ_20"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2673,7 +2673,7 @@ func TestReplicatorRemoveResource(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:ResGroup2"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2709,7 +2709,7 @@ func TestReplicatorRemoveResourceErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:ResGroup2"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2750,7 +2750,7 @@ func TestReplicatorRemoveResourceProfile(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:ResGroup1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2793,7 +2793,7 @@ func TestReplicatorRemoveResourceProfileErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:ResGroup1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2843,7 +2843,7 @@ func TestReplicatorRemoveRouteProfile(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:ROUTE_2003"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2895,7 +2895,7 @@ func TestReplicatorRemoveRouteProfileErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:ROUTE_2003"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -2946,7 +2946,7 @@ func TestReplicatorRemoveAttributeProfile(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:TEST_ATTRIBUTES_TEST"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -2999,7 +2999,7 @@ func TestReplicatorRemoveAttributeProfileErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:TEST_ATTRIBUTES_TEST"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -3039,7 +3039,7 @@ func TestReplicatorRemoveChargerProfile(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:Chargers1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -3081,7 +3081,7 @@ func TestReplicatorRemoveChargerProfileErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:Chargers1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -3110,7 +3110,7 @@ func TestReplicatorRemoveDispatcherProfile(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -3119,7 +3119,7 @@ func TestReplicatorRemoveDispatcherProfile(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, @@ -3129,7 +3129,7 @@ func TestReplicatorRemoveDispatcherProfile(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:Dsp1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -3160,7 +3160,7 @@ func TestReplicatorRemoveDispatcherProfileErr(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -3169,7 +3169,7 @@ func TestReplicatorRemoveDispatcherProfileErr(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, @@ -3179,7 +3179,7 @@ func TestReplicatorRemoveDispatcherProfileErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:Dsp1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -3219,7 +3219,7 @@ func TestReplicatorRemoveDispatcherHost(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:DSH1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -3261,7 +3261,7 @@ func TestReplicatorRemoveDispatcherHostErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:DSH1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -3536,7 +3536,7 @@ func TestReplicatorSetRateProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -3606,7 +3606,7 @@ func TestReplicatorSetRateProfileErr(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -3647,7 +3647,7 @@ func TestReplicatorSetActionProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -3693,7 +3693,7 @@ func TestReplicatorSetActionProfileErr(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -3761,7 +3761,7 @@ func TestReplicatorRemoveRateProfile(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:RP1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -3832,7 +3832,7 @@ func TestReplicatorRemoveRateProfileErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:RP1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } @@ -3877,7 +3877,7 @@ func TestReplicatorRemoveActionProfile(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:AP1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -3924,7 +3924,7 @@ func TestReplicatorRemoveActionProfileErr(t *testing.T) { } args := &utils.TenantIDWithAPIOpts{ TenantID: utils.NewTenantID("cgrates.org:AP1"), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.OK, }, } diff --git a/apis/resources_it_test.go b/apis/resources_it_test.go index d0925d694..c00c71160 100644 --- a/apis/resources_it_test.go +++ b/apis/resources_it_test.go @@ -407,11 +407,11 @@ func testResourceSGetResourceProfilesCount(t *testing.T) { func testResourceSGetResourcesForEvent(t *testing.T) { args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, ID: "EventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 2, }, @@ -441,11 +441,11 @@ func testResourceSGetResourcesForEvent(t *testing.T) { func testResourceSAllocateResources(t *testing.T) { args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, ID: "EventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 6, utils.OptsResourcesUsageTTL: time.Minute, @@ -463,11 +463,11 @@ func testResourceSAllocateResources(t *testing.T) { func testResourceSAuthorizeResourcesBeforeRelease(t *testing.T) { args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, ID: "EventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 7, utils.OptsResourcesUsageTTL: time.Minute, @@ -483,11 +483,11 @@ func testResourceSAuthorizeResourcesBeforeRelease(t *testing.T) { func testResourceSReleaseResources(t *testing.T) { args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, ID: "EventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 4, utils.OptsResourcesUsageTTL: time.Minute, @@ -505,11 +505,11 @@ func testResourceSReleaseResources(t *testing.T) { func testResourceSAuthorizeResourcesAfterRelease(t *testing.T) { args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, ID: "EventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 7, utils.OptsResourcesUsageTTL: time.Minute, @@ -685,10 +685,10 @@ func testResourceSCheckThresholdAfterResourceAllocate(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_1", utils.OptsResourcesUnits: 1, }, @@ -723,10 +723,10 @@ func testResourceSCheckThresholdAfterResourceRelease(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EV_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_1", }, } diff --git a/apis/resources_test.go b/apis/resources_test.go index 475dcc0f0..052285496 100644 --- a/apis/resources_test.go +++ b/apis/resources_test.go @@ -524,11 +524,11 @@ func TestResourcesGetResource(t *testing.T) { rsv1 := NewResourceSv1(rls) args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, ID: "EventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", }, } @@ -632,11 +632,11 @@ func TestResourcesAuthorizeAllocateReleaseResource(t *testing.T) { rsv1 := NewResourceSv1(rls) args := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, ID: "EventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", }, } @@ -813,7 +813,7 @@ func TestResourcesGetResourceProfilesGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -897,7 +897,7 @@ func TestResourcesGetResourceProfileIDsGetOptsErr(t *testing.T) { if err := adms.GetResourceProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -942,7 +942,7 @@ func TestResourcesGetResourceProfileIDsPaginateErr(t *testing.T) { if err := adms.GetResourceProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, diff --git a/apis/routes_it_test.go b/apis/routes_it_test.go index c60d1ce16..eb048caf6 100644 --- a/apis/routes_it_test.go +++ b/apis/routes_it_test.go @@ -855,10 +855,10 @@ func testRoutesBlockerGetRouteProfilesForEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventGetRouteProfiles", - Event: map[string]interface{}{ + Event: map[string]any{ "TestCase": "RouteProfileBlockerBehaviour", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expected := []*engine.RouteProfile{ { @@ -1004,10 +1004,10 @@ func testRoutesBlockerGetRoutes(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventGetRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ "TestCase": "RouteBlockerBehaviour", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expected := engine.SortedRoutesList{ { @@ -1017,21 +1017,21 @@ func testRoutesBlockerGetRoutes(t *testing.T) { { RouteID: "route3", RouteParameters: utils.EmptyString, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 40., }, }, { RouteID: "route4", RouteParameters: utils.EmptyString, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 35., }, }, { RouteID: "route2", RouteParameters: utils.EmptyString, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20., utils.Blocker: true, }, diff --git a/apis/routes_test.go b/apis/routes_test.go index f32c657c0..034653e7e 100644 --- a/apis/routes_test.go +++ b/apis/routes_test.go @@ -670,7 +670,7 @@ func TestRoutesGetRouteProfilesGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -754,7 +754,7 @@ func TestRoutesGetRouteProfileIDsGetOptsErr(t *testing.T) { if err := adms.GetRouteProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -799,7 +799,7 @@ func TestRoutesGetRouteProfileIDsPaginateErr(t *testing.T) { if err := adms.GetRouteProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, diff --git a/apis/sessions_test.go b/apis/sessions_test.go index dee8be152..c245257e7 100644 --- a/apis/sessions_test.go +++ b/apis/sessions_test.go @@ -42,7 +42,7 @@ func TestAuthorizeEvent(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -64,7 +64,7 @@ func TestAuthorizeEventWithDigest(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -86,7 +86,7 @@ func TestInitiateSession(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -108,7 +108,7 @@ func TestInitiateSessionWithDigest(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -130,7 +130,7 @@ func TestUpdateSession(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -173,7 +173,7 @@ func TestTerminateSessions(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -197,10 +197,10 @@ func TestProcessCDR(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, } @@ -226,7 +226,7 @@ func TestProcessMessage(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -250,7 +250,7 @@ func TestProcessEvent(t *testing.T) { args := &utils.CGREvent{ ID: "TestMatchingAccountsForEvent", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -275,7 +275,7 @@ func TestGetActiveSessions(t *testing.T) { Limit: utils.IntPointer(2), Filters: []string{}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := ssv1.GetActiveSessions(context.Background(), args, &reply); err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -298,7 +298,7 @@ func TestGetActiveSessionsCount(t *testing.T) { Limit: utils.IntPointer(2), Filters: []string{}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := ssv1.GetActiveSessionsCount(context.Background(), args, &reply); err != nil { t.Error(err) @@ -324,7 +324,7 @@ func TestForceDisconnect(t *testing.T) { Limit: utils.IntPointer(2), Filters: []string{}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := ssv1.ForceDisconnect(context.Background(), args, &reply); err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -347,7 +347,7 @@ func TestGetPassiveSessions(t *testing.T) { Limit: utils.IntPointer(2), Filters: []string{}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := ssv1.GetPassiveSessions(context.Background(), args, &reply); err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) @@ -370,7 +370,7 @@ func TestGetPassiveSessionsCount(t *testing.T) { Limit: utils.IntPointer(2), Filters: []string{}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := ssv1.GetPassiveSessionsCount(context.Background(), args, &reply); err != nil { t.Error(err) @@ -456,7 +456,7 @@ func TestReAuthorize(t *testing.T) { Limit: utils.IntPointer(2), Filters: []string{}, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := ssv1.ReAuthorize(context.Background(), args, &reply); err != utils.ErrNotFound { t.Errorf("Expected %v\n but received %v", utils.ErrNotFound, err) diff --git a/apis/stats_it_test.go b/apis/stats_it_test.go index e4ce7d5ed..ed8f5c351 100644 --- a/apis/stats_it_test.go +++ b/apis/stats_it_test.go @@ -156,10 +156,10 @@ func testStatsGetStatQueueBeforeSet(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "StatsEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ_1", "SQ_2"}, }, } @@ -616,10 +616,10 @@ func testStatsGetStatQueuesAfterRemove(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "StatsEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ_1", "SQ_2"}, }, } @@ -688,12 +688,12 @@ func testStatsProcessEventWithBlockersOnMetrics(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SQ_WithBlockers_Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "StatsMetrics": "*exists", "CallerID": "443321", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 30 * time.Second, utils.MetaCost: 102.1, utils.MetaDestination: "332214", @@ -737,12 +737,12 @@ func testStatsProcessEventWithBlockersOnMetricsSecond(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SQ_WithBlockers_Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "StatsMetrics": "*exists", "CallerID": "441123455", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 30 * time.Second, utils.MetaCost: 102.1, utils.MetaDestination: "332214", @@ -786,12 +786,12 @@ func testStatsProcessEventNoBlockers(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SQ_WithBlockers_Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "StatsMetrics": "*exists", "CallerID": "differentID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 30 * time.Second, utils.MetaCost: 102.1, utils.MetaDestination: "332214", @@ -924,11 +924,11 @@ func testStatsGetStatQueueForEventWithBlockers(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "StatsEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ "StatsBlockers": "correct", utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*usage": "1m", }, } @@ -1141,10 +1141,10 @@ func testStatsProcessEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "StatsEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ_3"}, utils.MetaUsage: 30 * time.Second, }, diff --git a/apis/stats_test.go b/apis/stats_test.go index 1c8471dcd..e0bf742ba 100644 --- a/apis/stats_test.go +++ b/apis/stats_test.go @@ -433,7 +433,7 @@ func TestStatQueuesGetStatQueueProfileIDsGetOptsErr(t *testing.T) { if err := adms.GetStatQueueProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -478,7 +478,7 @@ func TestStatQueuesGetStatQueueProfileIDsPaginateErr(t *testing.T) { if err := adms.GetStatQueueProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -589,14 +589,14 @@ func TestStatsAPIs(t *testing.T) { expThEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.MetaACD: utils.NewDecimalFromStringIgnoreError("3E+3"), utils.MetaASR: utils.NewDecimal(0, 0), utils.MetaTCD: utils.NewDecimal(3000, 0), utils.EventType: utils.StatUpdate, utils.StatID: "sq2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 3000, utils.MetaEventType: utils.StatUpdate, utils.OptsThresholdsProfileIDs: []string{"thdID"}, @@ -604,8 +604,8 @@ func TestStatsAPIs(t *testing.T) { }, } mCC := &mockClientConn{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { expThEv.ID = args.(*utils.CGREvent).ID if !reflect.DeepEqual(args.(*utils.CGREvent), expThEv) { t.Errorf("expected: <%+v>, \nreceived: <%+v>", @@ -753,11 +753,11 @@ func TestStatsAPIs(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "StatsEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", //utils.Usage: 3000, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 3000, utils.OptsStatsProfileIDs: []string{"sq1", "sq2"}, }, @@ -1042,7 +1042,7 @@ func TestStatQueuesGetStatQueueProfilesGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, diff --git a/apis/thresholds_it_test.go b/apis/thresholds_it_test.go index 1297f80ef..cf467f71c 100644 --- a/apis/thresholds_it_test.go +++ b/apis/thresholds_it_test.go @@ -437,10 +437,10 @@ func testThresholdsGetThresholdsForEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "GetThresholdEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_1", "THD_2"}, }, } @@ -497,10 +497,10 @@ func testThresholdsGetThresholdsAfterRemove(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "RemThresholdEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_1", "THD_2"}, }, } @@ -594,10 +594,10 @@ func testThresholdsProcessEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdProcessEv", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_1", "THD_2"}, }, } @@ -619,10 +619,10 @@ func testThresholdsGetThresholdsAfterFirstEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_1", "THD_2"}, }, } @@ -658,10 +658,10 @@ func testThresholdsGetThresholdsAfterSecondEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_1", "THD_2"}, }, } diff --git a/apis/thresholds_test.go b/apis/thresholds_test.go index e408f6f90..5e3815e81 100644 --- a/apis/thresholds_test.go +++ b/apis/thresholds_test.go @@ -435,7 +435,7 @@ func TestThresholdsGetThresholdProfileIDsGetOptsErr(t *testing.T) { if err := adms.GetThresholdProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: true, }, }, &reply); err == nil || err.Error() != experr { @@ -480,7 +480,7 @@ func TestThresholdsGetThresholdProfileIDsPaginateErr(t *testing.T) { if err := adms.GetThresholdProfileIDs(context.Background(), &utils.ArgsItemIDs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, @@ -591,17 +591,17 @@ func TestThresholdsAPIs(t *testing.T) { expEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"thd1", "thd2"}, utils.OptsActionsProfileIDs: []string{"actPrfID"}, }, } mCC := &mockClientConn{ - calls: map[string]func(*context.Context, interface{}, interface{}) error{ - utils.ActionSv1ExecuteActions: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(*context.Context, any, any) error{ + utils.ActionSv1ExecuteActions: func(ctx *context.Context, args, reply any) error { if !reflect.DeepEqual(args, expEv) { return fmt.Errorf("expected: <%+v>, \nreceived: <%+v>", utils.ToJSON(expEv), utils.ToJSON(args)) } @@ -682,11 +682,11 @@ func TestThresholdsAPIs(t *testing.T) { tSv1 := NewThresholdSv1(tS) args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, ID: "EventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"thd1", "thd2"}, }, } @@ -920,7 +920,7 @@ func TestThresholdsGetThresholdProfilesGetIDsErr(t *testing.T) { argsGet := &utils.ArgsItemIDs{ Tenant: "cgrates.org", ItemsPrefix: "test_ID", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.PageLimitOpt: 2, utils.PageOffsetOpt: 4, utils.PageMaxItemsOpt: 5, diff --git a/apis/tpes_it_test.go b/apis/tpes_it_test.go index e8fc6c1c1..5df1cb8d9 100644 --- a/apis/tpes_it_test.go +++ b/apis/tpes_it_test.go @@ -642,7 +642,7 @@ func testTPeSetAccount(t *testing.T) { Account: &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -662,7 +662,7 @@ func testTPeSetAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -732,7 +732,7 @@ func testTPeSetAccount(t *testing.T) { Weight: 30, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceLimit: -200.0, }, CostIncrements: []*utils.CostIncrement{ @@ -897,7 +897,7 @@ func testTPeSetActions(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string if err := tpeSRPC.Call(context.Background(), utils.AdminSv1SetActionProfile, @@ -989,7 +989,7 @@ func testTPeSetDispatcherProfiles(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -998,7 +998,7 @@ func testTPeSetDispatcherProfiles(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, @@ -1023,7 +1023,7 @@ func testTPeSetDispatcherProfiles(t *testing.T) { { ID: "Conn2", FilterIDs: []string{"*suffix:~*opts.*answerTime:45T"}, - Params: map[string]interface{}{utils.MetaRatio: 1}, + Params: map[string]any{utils.MetaRatio: 1}, Blocker: false, }, }, diff --git a/cmd/cgr-console/cgr-console_it_test.go b/cmd/cgr-console/cgr-console_it_test.go index dcffab7ae..77944a98a 100644 --- a/cmd/cgr-console/cgr-console_it_test.go +++ b/cmd/cgr-console/cgr-console_it_test.go @@ -315,7 +315,7 @@ func testConsoleItStatsMetrics(t *testing.T) { cmd := exec.Command("cgr-console", "stats_metrics", `ID="Stats2"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "*tcc": "N/A", "*tcd": "N/A", } @@ -324,7 +324,7 @@ func testConsoleItStatsMetrics(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Log(output.String()) t.Fatal(err) @@ -338,8 +338,8 @@ func testConsoleItGetJsonSection(t *testing.T) { cmd := exec.Command("cgr-console", "get_json_section", `Sections=["cores"]`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "cores": map[string]interface{}{ + expected := map[string]any{ + "cores": map[string]any{ "caps": 0., "caps_stats_interval": "0", "caps_strategy": "*busy", @@ -351,7 +351,7 @@ func testConsoleItGetJsonSection(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -486,16 +486,16 @@ func testConsoleItStatsProfile(t *testing.T) { cmd := exec.Command("cgr-console", "stats_profile", `Tenant="cgrates.org"`, `ID="Stats2"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Blocker": true, - "FilterIDs": []interface{}{"FLTR_ACNT_1001_1002"}, + "FilterIDs": []any{"FLTR_ACNT_1001_1002"}, "ID": "Stats2", - "Metrics": []interface{}{ - map[string]interface{}{ + "Metrics": []any{ + map[string]any{ "FilterIDs": nil, "MetricID": "*tcc", }, - map[string]interface{}{ + map[string]any{ "FilterIDs": nil, "MetricID": "*tcd", }, @@ -505,7 +505,7 @@ func testConsoleItStatsProfile(t *testing.T) { "Stored": false, "TTL": "-1ns", "Tenant": "cgrates.org", - "ThresholdIDs": []interface{}{"*none"}, + "ThresholdIDs": []any{"*none"}, "Weight": 30., } if err := cmd.Run(); err != nil { @@ -513,12 +513,12 @@ func testConsoleItStatsProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } - sort.Slice(rcv["Metrics"].([]interface{}), func(i, j int) bool { - return utils.IfaceAsString((rcv["Metrics"].([]interface{})[i].(map[string]interface{}))["MetricID"]) < utils.IfaceAsString((rcv["Metrics"].([]interface{})[j].(map[string]interface{}))["MetricID"]) + sort.Slice(rcv["Metrics"].([]any), func(i, j int) bool { + return utils.IfaceAsString((rcv["Metrics"].([]any)[i].(map[string]any))["MetricID"]) < utils.IfaceAsString((rcv["Metrics"].([]any)[j].(map[string]any))["MetricID"]) }) if !reflect.DeepEqual(rcv, expected) { @@ -593,7 +593,7 @@ func testConsoleItThreshold(t *testing.T) { cmd := exec.Command("cgr-console", "threshold", `Tenant="cgrates.org"`, `ID="THD_ACNT_1001"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Hits": 0., "ID": "THD_ACNT_1001", "Snooze": "0001-01-01T00:00:00Z", @@ -604,7 +604,7 @@ func testConsoleItThreshold(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } @@ -636,11 +636,11 @@ func testConsoleItThresholdsProfile(t *testing.T) { cmd := exec.Command("cgr-console", "thresholds_profile", `Tenant="cgrates.org"`, `ID="THD_ACNT_1001"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "ActionProfileIDs": []interface{}{"ACT_LOG_WARNING"}, + expected := map[string]any{ + "ActionProfileIDs": []any{"ACT_LOG_WARNING"}, "Async": true, "Blocker": false, - "FilterIDs": []interface{}{"FLTR_ACNT_1001"}, + "FilterIDs": []any{"FLTR_ACNT_1001"}, "ID": "THD_ACNT_1001", "MaxHits": 1., "MinHits": 1., @@ -653,7 +653,7 @@ func testConsoleItThresholdsProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } @@ -665,14 +665,14 @@ func testConsoleItThresholdsProfile(t *testing.T) { func testConsoleItRatesProfileIds(t *testing.T) { cmd := exec.Command("cgr-console", "rates_profile_ids", `Tenant="cgrates.org"`) output := bytes.NewBuffer(nil) - expected := []interface{}{"123"} + expected := []any{"123"} cmd.Stdout = output if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Log(output.String()) t.Error(err) @@ -685,14 +685,14 @@ func testConsoleItRatesProfileIds(t *testing.T) { func testConsoleItStatsProfileIds(t *testing.T) { cmd := exec.Command("cgr-console", "stats_profile_ids", `Tenant="cgrates.org"`) output := bytes.NewBuffer(nil) - expected := []interface{}{"123", "Stats2", "Stats2_1"} + expected := []any{"123", "Stats2", "Stats2_1"} cmd.Stdout = output if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } @@ -719,240 +719,240 @@ func testConsoleItCacheStats(t *testing.T) { cmd := exec.Command("cgr-console", "cache_stats") output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ - "*account_filter_indexes": map[string]interface{}{ + expected := map[string]any{ + "*account_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*accounts": map[string]interface{}{ + "*accounts": map[string]any{ "Items": 0., "Groups": 0., }, - "*action_profile_filter_indexes": map[string]interface{}{ + "*action_profile_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*action_profiles": map[string]interface{}{ + "*action_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*apiban": map[string]interface{}{ + "*apiban": map[string]any{ "Items": 0., "Groups": 0., }, - "*attribute_filter_indexes": map[string]interface{}{ + "*attribute_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*attribute_profiles": map[string]interface{}{ + "*attribute_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*caps_events": map[string]interface{}{ + "*caps_events": map[string]any{ "Items": 0., "Groups": 0., }, - "*cdr_ids": map[string]interface{}{ + "*cdr_ids": map[string]any{ "Items": 0., "Groups": 0., }, - "*cdrs": map[string]interface{}{ + "*cdrs": map[string]any{ "Items": 0., "Groups": 0., }, - "*charger_filter_indexes": map[string]interface{}{ + "*charger_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*charger_profiles": map[string]interface{}{ + "*charger_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*closed_sessions": map[string]interface{}{ + "*closed_sessions": map[string]any{ "Items": 0., "Groups": 0., }, - "*default": map[string]interface{}{ + "*default": map[string]any{ "Items": 0., "Groups": 0., }, - "*diameter_messages": map[string]interface{}{ + "*diameter_messages": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_filter_indexes": map[string]interface{}{ + "*dispatcher_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_hosts": map[string]interface{}{ + "*dispatcher_hosts": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_loads": map[string]interface{}{ + "*dispatcher_loads": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_profiles": map[string]interface{}{ + "*dispatcher_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatcher_routes": map[string]interface{}{ + "*dispatcher_routes": map[string]any{ "Items": 0., "Groups": 0., }, - "*dispatchers": map[string]interface{}{ + "*dispatchers": map[string]any{ "Items": 0., "Groups": 0., }, - "*event_charges": map[string]interface{}{ + "*event_charges": map[string]any{ "Items": 0., "Groups": 0., }, - "*event_resources": map[string]interface{}{ + "*event_resources": map[string]any{ "Items": 1., "Groups": 0., }, - "*filters": map[string]interface{}{ + "*filters": map[string]any{ "Items": 3., "Groups": 0., }, - "*load_ids": map[string]interface{}{ + "*load_ids": map[string]any{ "Items": 13., "Groups": 0., }, - "*rate_filter_indexes": map[string]interface{}{ + "*rate_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*rate_profile_filter_indexes": map[string]interface{}{ + "*rate_profile_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*rate_profiles": map[string]interface{}{ + "*rate_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*replication_hosts": map[string]interface{}{ + "*replication_hosts": map[string]any{ "Items": 0., "Groups": 0., }, - "*resource_filter_indexes": map[string]interface{}{ + "*resource_filter_indexes": map[string]any{ "Items": 2., "Groups": 1., }, - "*resource_profiles": map[string]interface{}{ + "*resource_profiles": map[string]any{ "Items": 2., "Groups": 0., }, - "*resources": map[string]interface{}{ + "*resources": map[string]any{ "Items": 2., "Groups": 0., }, - "*reverse_filter_indexes": map[string]interface{}{ + "*reverse_filter_indexes": map[string]any{ "Items": 0., "Groups": 0., }, - "*route_filter_indexes": map[string]interface{}{ + "*route_filter_indexes": map[string]any{ "Items": 3., "Groups": 1., }, - "*route_profiles": map[string]interface{}{ + "*route_profiles": map[string]any{ "Items": 1., "Groups": 0., }, - "*rpc_connections": map[string]interface{}{ + "*rpc_connections": map[string]any{ "Items": 2., "Groups": 0., }, - "*rpc_responses": map[string]interface{}{ + "*rpc_responses": map[string]any{ "Items": 0., "Groups": 0., }, - "*session_costs": map[string]interface{}{ + "*session_costs": map[string]any{ "Items": 0., "Groups": 0., }, - "*stat_filter_indexes": map[string]interface{}{ + "*stat_filter_indexes": map[string]any{ "Items": 2., "Groups": 1., }, - "*statqueue_profiles": map[string]interface{}{ + "*statqueue_profiles": map[string]any{ "Items": 2., "Groups": 0., }, - "*statqueues": map[string]interface{}{ + "*statqueues": map[string]any{ "Items": 2., "Groups": 0., }, - "*stir": map[string]interface{}{ + "*stir": map[string]any{ "Items": 0., "Groups": 0., }, - "*threshold_filter_indexes": map[string]interface{}{ + "*threshold_filter_indexes": map[string]any{ "Items": 9., "Groups": 1., }, - "*threshold_profiles": map[string]interface{}{ + "*threshold_profiles": map[string]any{ "Items": 2., "Groups": 0., }, - "*thresholds": map[string]interface{}{ + "*thresholds": map[string]any{ "Items": 2., "Groups": 0., }, - "*tp_accounts": map[string]interface{}{ + "*tp_accounts": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_action_profiles": map[string]interface{}{ + "*tp_action_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_attributes": map[string]interface{}{ + "*tp_attributes": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_chargers": map[string]interface{}{ + "*tp_chargers": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_dispatcher_hosts": map[string]interface{}{ + "*tp_dispatcher_hosts": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_dispatcher_profiles": map[string]interface{}{ + "*tp_dispatcher_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_filters": map[string]interface{}{ + "*tp_filters": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_rate_profiles": map[string]interface{}{ + "*tp_rate_profiles": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_resources": map[string]interface{}{ + "*tp_resources": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_routes": map[string]interface{}{ + "*tp_routes": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_stats": map[string]interface{}{ + "*tp_stats": map[string]any{ "Items": 0., "Groups": 0., }, - "*tp_thresholds": map[string]interface{}{ + "*tp_thresholds": map[string]any{ "Items": 0., "Groups": 0., }, - "*uch": map[string]interface{}{ + "*uch": map[string]any{ "Items": 0., "Groups": 0., }, - "*versions": map[string]interface{}{ + "*versions": map[string]any{ "Items": 0., "Groups": 0., }, @@ -963,7 +963,7 @@ func testConsoleItCacheStats(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(err) } @@ -1016,17 +1016,17 @@ func testConsoleItResourcesForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "resources_for_event", `Tenant="cgrates.org"`, `ID="123"`, `Event={"Account":"1001"}`, `UsageID="usageID"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Tenant": "cgrates.org", "ID": "ResGroup1", - "Usages": map[string]interface{}{}, + "Usages": map[string]any{}, "TTLIdx": nil, }, - map[string]interface{}{ + map[string]any{ "Tenant": "cgrates.org", "ID": "123", - "Usages": map[string]interface{}{}, + "Usages": map[string]any{}, "TTLIdx": nil, }, } @@ -1035,7 +1035,7 @@ func testConsoleItResourcesForEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1049,13 +1049,13 @@ func testConsoleItAttributesProfileIds(t *testing.T) { cmd := exec.Command("cgr-console", "attributes_profile_ids", `Tenant="cgrates.org"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"ATTR_1001_SESSIONAUTH", "ATTR_1001_SIMPLEAUTH", "ATTR_1002_SESSIONAUTH", "ATTR_1002_SIMPLEAUTH", "ATTR_1003_SESSIONAUTH", "ATTR_1003_SIMPLEAUTH", "ATTR_ACC_ALIAS"} + expected := []any{"ATTR_1001_SESSIONAUTH", "ATTR_1001_SIMPLEAUTH", "ATTR_1002_SESSIONAUTH", "ATTR_1002_SIMPLEAUTH", "ATTR_1003_SESSIONAUTH", "ATTR_1003_SIMPLEAUTH", "ATTR_ACC_ALIAS"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1072,13 +1072,13 @@ func testConsoleItThresholdsProcessEvent(t *testing.T) { cmd := exec.Command("cgr-console", "thresholds_process_event", `ID="123"`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"123", "THD_ACNT_1001"} + expected := []any{"123", "THD_ACNT_1001"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1135,11 +1135,11 @@ func testConsoleItResources(t *testing.T) { cmd := exec.Command("cgr-console", "resources", `ID="ResGroup1"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Tenant": "cgrates.org", "ID": "ResGroup1", - "Usages": map[string]interface{}{ - "usageID": map[string]interface{}{ + "Usages": map[string]any{ + "usageID": map[string]any{ "Tenant": "cgrates.org", "ID": "usageID", "ExpiryTime": "0001-01-01T00:00:00Z", @@ -1153,7 +1153,7 @@ func testConsoleItResources(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1167,15 +1167,15 @@ func testConsoleItResourcesProfile(t *testing.T) { cmd := exec.Command("cgr-console", "resources_profile", `ID="ResGroup1"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "AllocationMessage": "", "Blocker": false, - "FilterIDs": []interface{}{"FLTR_RES"}, + "FilterIDs": []any{"FLTR_RES"}, "ID": "ResGroup1", "Limit": 7., "Stored": true, "Tenant": "cgrates.org", - "ThresholdIDs": []interface{}{"*none"}, + "ThresholdIDs": []any{"*none"}, "UsageTTL": "-1ns", "Weight": 10., } @@ -1184,7 +1184,7 @@ func testConsoleItResourcesProfile(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1218,22 +1218,22 @@ func testConsoleItRoutes(t *testing.T) { cmd := exec.Command("cgr-console", "routes", `ID="ROUTE_ACNT_1001"`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "ProfileID": "ROUTE_ACNT_1001", "Sorting": "*weight", - "Routes": []interface{}{ - map[string]interface{}{ + "Routes": []any{ + map[string]any{ "RouteID": "route2", "RouteParameters": "", - "SortingData": map[string]interface{}{ + "SortingData": map[string]any{ "Weight": 20., }, }, - map[string]interface{}{ + map[string]any{ "RouteID": "route1", "RouteParameters": "", - "SortingData": map[string]interface{}{ + "SortingData": map[string]any{ "Weight": 10., }, }, @@ -1245,14 +1245,14 @@ func testConsoleItRoutes(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } sort.Slice(rcv, func(i, j int) bool { - return utils.IfaceAsString((rcv[0].(map[string]interface{})["Routes"].([]interface{})[i].(map[string]interface{})["RouteID"])) < utils.IfaceAsString((rcv[0].(map[string]interface{})["Routes"].([]interface{})[j].(map[string]interface{})["RouteID"])) - // return utils.IfaceAsString((rcv["Metrics"].([]interface{})[i].(map[string]interface{}))["MetricID"]) < utils.IfaceAsString((rcv["Metrics"].([]interface{})[j].(map[string]interface{}))["MetricID"]) + return utils.IfaceAsString((rcv[0].(map[string]any)["Routes"].([]any)[i].(map[string]any)["RouteID"])) < utils.IfaceAsString((rcv[0].(map[string]any)["Routes"].([]any)[j].(map[string]any)["RouteID"])) + // return utils.IfaceAsString((rcv["Metrics"].([]any)[i].(map[string]any))["MetricID"]) < utils.IfaceAsString((rcv["Metrics"].([]any)[j].(map[string]any))["MetricID"]) }) if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %+v \n but received \n %+v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -1263,14 +1263,14 @@ func testConsoleItFilter(t *testing.T) { cmd := exec.Command("cgr-console", "filter", `ID="FLTR_RES"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := map[string]interface{}{ + expected := map[string]any{ "Tenant": "cgrates.org", "ID": "FLTR_RES", - "Rules": []interface{}{ - map[string]interface{}{ + "Rules": []any{ + map[string]any{ "Type": "*string", "Element": "~*req.Account", - "Values": []interface{}{"1001", "1002", "1003"}, + "Values": []any{"1001", "1002", "1003"}, }, }, } @@ -1279,7 +1279,7 @@ func testConsoleItFilter(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv map[string]interface{} + var rcv map[string]any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1294,8 +1294,8 @@ func testConsoleItThresholdsForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "thresholds_for_event", `Tenant="cgrates.org"`, `ID="123"`, `Event={"Account":"1001"}`, `UsageID="usageID"`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{ - map[string]interface{}{ + expected := []any{ + map[string]any{ "Tenant": "cgrates.org", "ID": "123", "Hits": 1., @@ -1307,12 +1307,12 @@ func testConsoleItThresholdsForEvent(t *testing.T) { t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) } - rcv[0].(map[string]interface{})["Snooze"] = "" + rcv[0].(map[string]any)["Snooze"] = "" if !reflect.DeepEqual(rcv, expected) { t.Fatalf("Expected %+v \n but received \n %+v", utils.ToJSON(expected), utils.ToJSON(rcv)) @@ -1323,13 +1323,13 @@ func testConsoleItStatsForEvent(t *testing.T) { cmd := exec.Command("cgr-console", "stats_for_event", `Tenant="cgrates.org"`, `ID="Stats2"`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"123"} + expected := []any{"123"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) @@ -1343,13 +1343,13 @@ func testConsoleItStatsProcessEvent(t *testing.T) { cmd := exec.Command("cgr-console", "stats_process_event", `Tenant="cgrates.org"`, `ID="123"`, `Event={"Account":"1001"}`) output := bytes.NewBuffer(nil) cmd.Stdout = output - expected := []interface{}{"123"} + expected := []any{"123"} if err := cmd.Run(); err != nil { t.Log(cmd.Args) t.Log(output.String()) t.Fatal(err) } - var rcv []interface{} + var rcv []any if err := json.NewDecoder(output).Decode(&rcv); err != nil { t.Error(output.String()) t.Fatal(err) diff --git a/cmd/cgr-loader/cgr-loader.go b/cmd/cgr-loader/cgr-loader.go index 88bccb758..c151e854d 100755 --- a/cmd/cgr-loader/cgr-loader.go +++ b/cmd/cgr-loader/cgr-loader.go @@ -339,7 +339,7 @@ func main() { } // reload cache - if err = tpReader.ReloadCache(context.Background(), ldrCfg.GeneralCfg().DefaultCaching, *verbose, map[string]interface{}{ + if err = tpReader.ReloadCache(context.Background(), ldrCfg.GeneralCfg().DefaultCaching, *verbose, map[string]any{ utils.OptsAPIKey: *apiKey, utils.OptsRouteID: *routeID, }, *tenant); err != nil { diff --git a/config/accountscfg.go b/config/accountscfg.go index 88d4e5ff0..b228dc187 100644 --- a/config/accountscfg.go +++ b/config/accountscfg.go @@ -137,14 +137,14 @@ func (acS *AccountSCfg) loadFromJSONCfg(jsnCfg *AccountSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (acS AccountSCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (acS AccountSCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaProfileIDs: acS.Opts.ProfileIDs, utils.MetaUsage: acS.Opts.Usage, utils.MetaProfileIgnoreFilters: acS.Opts.ProfileIgnoreFilters, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: acS.Enabled, utils.IndexedSelectsCfg: acS.IndexedSelects, utils.NestedFieldsCfg: acS.NestedFields, diff --git a/config/accountscfg_test.go b/config/accountscfg_test.go index 79841f600..bcbe72189 100644 --- a/config/accountscfg_test.go +++ b/config/accountscfg_test.go @@ -156,7 +156,7 @@ func TestAccountSCfgAsMapInterface(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.IndexedSelectsCfg: false, utils.AttributeSConnsCfg: []string{utils.MetaInternal}, @@ -170,7 +170,7 @@ func TestAccountSCfgAsMapInterface(t *testing.T) { utils.NestedFieldsCfg: true, utils.MaxIterations: 100, utils.MaxUsage: "259200000000000", // 72h in ns - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaUsage: []*utils.DynamicDecimalBigOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, diff --git a/config/actionscfg.go b/config/actionscfg.go index 90dd335db..420d8a918 100644 --- a/config/actionscfg.go +++ b/config/actionscfg.go @@ -133,14 +133,14 @@ func (acS *ActionSCfg) loadFromJSONCfg(jsnCfg *ActionSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (acS ActionSCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (acS ActionSCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaProfileIDs: acS.Opts.ProfileIDs, utils.MetaProfileIgnoreFilters: acS.Opts.ProfileIgnoreFilters, utils.MetaPosterAttempts: acS.Opts.PosterAttempts, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: acS.Enabled, utils.IndexedSelectsCfg: acS.IndexedSelects, utils.NestedFieldsCfg: acS.NestedFields, diff --git a/config/actionscfg_test.go b/config/actionscfg_test.go index 8edb47b7c..858b023df 100644 --- a/config/actionscfg_test.go +++ b/config/actionscfg_test.go @@ -130,7 +130,7 @@ func TestActionSCfgAsMapInterface(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.EEsConnsCfg: []string{utils.MetaInternal}, utils.ThresholdSConnsCfg: []string{utils.MetaInternal}, @@ -146,7 +146,7 @@ func TestActionSCfgAsMapInterface(t *testing.T) { utils.NotExistsIndexedFieldsCfg: []string{"*req.index1"}, utils.NestedFieldsCfg: true, utils.DynaprepaidActionplansCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, utils.MetaPosterAttempts: []*utils.DynamicIntOpt{}, diff --git a/config/adminscfg.go b/config/adminscfg.go index 0d5a70eee..1972a1379 100644 --- a/config/adminscfg.go +++ b/config/adminscfg.go @@ -63,9 +63,9 @@ func (aCfg *AdminSCfg) loadFromJSONCfg(jsnCfg *AdminSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (aCfg AdminSCfg) AsMapInterface(string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (aCfg AdminSCfg) AsMapInterface(string) any { + mp := map[string]any{ utils.EnabledCfg: aCfg.Enabled, } if aCfg.CachesConns != nil { diff --git a/config/adminscfg_test.go b/config/adminscfg_test.go index dddce3e40..91e13747b 100644 --- a/config/adminscfg_test.go +++ b/config/adminscfg_test.go @@ -59,7 +59,7 @@ func TestApierCfgAsMapInterface1(t *testing.T) { }, }` sls := make([]string, 0) - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.CachesConnsCfg: sls, utils.ActionSConnsCfg: sls, @@ -83,7 +83,7 @@ func TestApierCfgAsMapInterface2(t *testing.T) { "actions_conns": ["*internal:*actions", "*conn1"], }, }` - expectedMap := map[string]interface{}{ + expectedMap := map[string]any{ utils.EnabledCfg: true, utils.CachesConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.ActionSConnsCfg: []string{utils.MetaInternal, "*conn1"}, diff --git a/config/analyzerscfg.go b/config/analyzerscfg.go index a244f5b9e..79fbb57a0 100644 --- a/config/analyzerscfg.go +++ b/config/analyzerscfg.go @@ -90,12 +90,12 @@ func (alS *AnalyzerSCfg) loadFromJSONCfg(jsnCfg *AnalyzerSJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (alS AnalyzerSCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (alS AnalyzerSCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaExporterIDs: alS.Opts.ExporterIDs, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: alS.Enabled, utils.DBPathCfg: alS.DBPath, utils.IndexTypeCfg: alS.IndexType, diff --git a/config/analyzerscfg_test.go b/config/analyzerscfg_test.go index 4c704f6fb..1d40e23f2 100644 --- a/config/analyzerscfg_test.go +++ b/config/analyzerscfg_test.go @@ -57,14 +57,14 @@ func TestAnalyzerSCfgAsMapInterface(t *testing.T) { "analyzers":{}, } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.CleanupIntervalCfg: "1h0m0s", utils.DBPathCfg: "/var/spool/cgrates/analyzers", utils.IndexTypeCfg: utils.MetaScorch, utils.EEsConnsCfg: []string{}, utils.TTLCfg: "24h0m0s", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaExporterIDs: []*utils.DynamicStringSliceOpt{}, }, } @@ -83,14 +83,14 @@ func TestAnalyzerSCfgAsMapInterface1(t *testing.T) { }, } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.CleanupIntervalCfg: "1h0m0s", utils.DBPathCfg: "/var/spool/cgrates/analyzers", utils.IndexTypeCfg: utils.MetaScorch, utils.EEsConnsCfg: []string{"*localhost"}, utils.TTLCfg: "24h0m0s", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaExporterIDs: []*utils.DynamicStringSliceOpt{}, }, } diff --git a/config/apibancfg.go b/config/apibancfg.go index f1ee4436a..64b620b12 100644 --- a/config/apibancfg.go +++ b/config/apibancfg.go @@ -51,9 +51,9 @@ func (ban *APIBanCfg) loadFromJSONCfg(jsnCfg *APIBanJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (ban APIBanCfg) AsMapInterface(string) interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ban APIBanCfg) AsMapInterface(string) any { + return map[string]any{ utils.EnabledCfg: ban.Enabled, utils.KeysCfg: ban.Keys, } diff --git a/config/apibancfg_test.go b/config/apibancfg_test.go index e480bb07c..8799ba706 100644 --- a/config/apibancfg_test.go +++ b/config/apibancfg_test.go @@ -66,7 +66,7 @@ func TestAPIBanCfgAsMapInterface(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ "enabled": false, "keys": []string{"key1", "key2"}, } diff --git a/config/apis.go b/config/apis.go index 56e5ea378..19d07050b 100644 --- a/config/apis.go +++ b/config/apis.go @@ -29,7 +29,7 @@ import ( ) // getSectionAsMap returns a section from config as a map[string]interface -func (cfg *CGRConfig) getSectionAsMap(section string) (mp interface{}, err error) { +func (cfg *CGRConfig) getSectionAsMap(section string) (mp any, err error) { if sec, has := cfg.sections.Get(section); has { mp = sec.AsMapInterface(cfg.GeneralCfg().RSRSep) return @@ -40,7 +40,7 @@ func (cfg *CGRConfig) getSectionAsMap(section string) (mp interface{}, err error // ReloadArgs the API params for V1ReloadConfig type ReloadArgs struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string Section string DryRun bool @@ -87,18 +87,18 @@ func (cfg *CGRConfig) V1ReloadConfig(ctx *context.Context, args *ReloadArgs, rep // SectionWithAPIOpts the API params for GetConfig type SectionWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string Sections []string } // V1GetConfig will retrieve from CGRConfig a section -func (cfg *CGRConfig) V1GetConfig(ctx *context.Context, args *SectionWithAPIOpts, reply *map[string]interface{}) (err error) { +func (cfg *CGRConfig) V1GetConfig(ctx *context.Context, args *SectionWithAPIOpts, reply *map[string]any) (err error) { if len(args.Sections) == 0 || args.Sections[0] == utils.MetaAll { args.Sections = cfg.GetAllSectionIDs() } - mp := make(map[string]interface{}) + mp := make(map[string]any) sections := utils.StringSet{} cfg.cacheDPMux.RLock() for _, section := range args.Sections { @@ -117,7 +117,7 @@ func (cfg *CGRConfig) V1GetConfig(ctx *context.Context, args *SectionWithAPIOpts mp = cfg.AsMapInterface(cfg.GeneralCfg().RSRSep) } else { for section := range sections { - var val interface{} + var val any if val, err = cfg.getSectionAsMap(section); err != nil { return } @@ -133,9 +133,9 @@ func (cfg *CGRConfig) V1GetConfig(ctx *context.Context, args *SectionWithAPIOpts // SetConfigArgs the API params for V1SetConfig type SetConfigArgs struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string - Config map[string]interface{} + Config map[string]any DryRun bool } @@ -201,7 +201,7 @@ func (cfg *CGRConfig) V1SetConfig(ctx *context.Context, args *SetConfigArgs, rep // V1GetConfigAsJSON will retrieve from CGRConfig a section as a string func (cfg *CGRConfig) V1GetConfigAsJSON(ctx *context.Context, args *SectionWithAPIOpts, reply *string) (err error) { - var mp map[string]interface{} + var mp map[string]any if err = cfg.V1GetConfig(ctx, args, &mp); err != nil { return } @@ -211,7 +211,7 @@ func (cfg *CGRConfig) V1GetConfigAsJSON(ctx *context.Context, args *SectionWithA // SetConfigFromJSONArgs the API params for V1SetConfigFromJSON type SetConfigFromJSONArgs struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string Config string DryRun bool diff --git a/config/apis_test.go b/config/apis_test.go index 8c59c676b..cd30fc9d2 100644 --- a/config/apis_test.go +++ b/config/apis_test.go @@ -268,14 +268,14 @@ func TestConfigLoadFromDB(t *testing.T) { func TestGetSectionAsMap(t *testing.T) { cfg := NewDefaultCGRConfig() - expected := map[string]interface{}{ + expected := map[string]any{ "db_type": utils.MetaInternal, "db_host": "", "db_port": 0, "db_name": "", "db_user": "", "db_password": "", - "opts": map[string]interface{}{ + "opts": map[string]any{ "redisMaxConns": 10, "redisConnectAttempts": 20, "redisSentinel": "", @@ -302,18 +302,18 @@ func TestGetSectionAsMap(t *testing.T) { } type mockDb struct { - GetSectionF func(*context.Context, string, interface{}) error - SetSectionF func(*context.Context, string, interface{}) error + GetSectionF func(*context.Context, string, any) error + SetSectionF func(*context.Context, string, any) error } -func (m *mockDb) GetSection(ctx *context.Context, sec string, val interface{}) error { +func (m *mockDb) GetSection(ctx *context.Context, sec string, val any) error { if m.GetSectionF != nil { return m.GetSectionF(ctx, sec, val) } return utils.ErrNotImplemented } -func (m *mockDb) SetSection(ctx *context.Context, sec string, val interface{}) error { +func (m *mockDb) SetSection(ctx *context.Context, sec string, val any) error { if m.SetSectionF != nil { return m.SetSectionF(ctx, sec, val) } @@ -923,8 +923,8 @@ func TestStoreDiffSectionAccountS(t *testing.T) { func TestV1SetConfigErr1(t *testing.T) { cfg := NewDefaultCGRConfig() args := &SetConfigArgs{ - Config: map[string]interface{}{ - "cores": map[string]interface{}{ + Config: map[string]any{ + "cores": map[string]any{ "caps": "0", "caps_strategy": "*busy", "caps_stats_interval": "0", @@ -943,8 +943,8 @@ func TestV1SetConfigErr1(t *testing.T) { func TestV1SetConfigErr2(t *testing.T) { cfg := NewDefaultCGRConfig() args := &SetConfigArgs{ - Config: map[string]interface{}{ - "cdrs": map[string]interface{}{ + Config: map[string]any{ + "cdrs": map[string]any{ "enabled": false, "extra_fields": []string{}, @@ -972,8 +972,8 @@ func TestV1SetConfigErr2(t *testing.T) { func TestV1SetConfigErr3(t *testing.T) { cfg := NewDefaultCGRConfig() args := &SetConfigArgs{ - Config: map[string]interface{}{ - "cdrs": map[string]interface{}{ + Config: map[string]any{ + "cdrs": map[string]any{ "enabled": false, "extra_fields": []string{}, "session_cost_retries": 5, @@ -1049,7 +1049,7 @@ func TestV1GetConfig(t *testing.T) { Sections: []string{GeneralJSON}, } - var reply map[string]interface{} + var reply map[string]any section := &GeneralJsonCfg{ Node_id: utils.StringPointer("randomID"), Rounding_decimals: utils.IntPointer(5), @@ -1070,7 +1070,7 @@ func TestV1GetConfig(t *testing.T) { Digest_equal: utils.StringPointer(":"), Max_parallel_conns: utils.IntPointer(100), } - expected := map[string]interface{}{ + expected := map[string]any{ GeneralJSON: section, } if err := cfg.V1GetConfig(context.Background(), args, &reply); err != nil { @@ -1133,8 +1133,8 @@ func TestCGRConfigV1StoreCfgInDB(t *testing.T) { cfg := NewDefaultCGRConfig() cfg.rldCh = make(chan string, 100) cfg.db = &mockDb{ - GetSectionF: func(ctx *context.Context, s string, i interface{}) error { return nil }, - SetSectionF: func(ctx *context.Context, s string, i interface{}) error { return utils.ErrNotImplemented }, + GetSectionF: func(ctx *context.Context, s string, i any) error { return nil }, + SetSectionF: func(ctx *context.Context, s string, i any) error { return utils.ErrNotImplemented }, } args := &SectionWithAPIOpts{ diff --git a/config/asteriskagntcfg.go b/config/asteriskagntcfg.go index b77d7e6d6..41e223485 100644 --- a/config/asteriskagntcfg.go +++ b/config/asteriskagntcfg.go @@ -66,9 +66,9 @@ func (aConnCfg *AsteriskConnCfg) loadFromJSONCfg(jsnCfg *AstConnJsonCfg) (err er return } -// AsMapInterface returns the config as a map[string]interface{} -func (aConnCfg AsteriskConnCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (aConnCfg AsteriskConnCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.AliasCfg: aConnCfg.Alias, utils.AddressCfg: aConnCfg.Address, utils.UserCf: aConnCfg.User, @@ -133,14 +133,14 @@ func (aCfg *AsteriskAgentCfg) loadFromJSONCfg(jsnCfg *AsteriskAgentJsonCfg) (err return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (aCfg AsteriskAgentCfg) AsMapInterface(string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (aCfg AsteriskAgentCfg) AsMapInterface(string) any { + mp := map[string]any{ utils.EnabledCfg: aCfg.Enabled, utils.CreateCDRCfg: aCfg.CreateCDR, } if aCfg.AsteriskConns != nil { - conns := make([]map[string]interface{}, len(aCfg.AsteriskConns)) + conns := make([]map[string]any, len(aCfg.AsteriskConns)) for i, item := range aCfg.AsteriskConns { conns[i] = item.AsMapInterface() } diff --git a/config/attributescfg.go b/config/attributescfg.go index 3df21c24a..bb2bc986c 100644 --- a/config/attributescfg.go +++ b/config/attributescfg.go @@ -124,15 +124,15 @@ func (alS *AttributeSCfg) loadFromJSONCfg(jsnCfg *AttributeSJsonCfg) (err error) return } -// AsMapInterface returns the config as a map[string]interface{} -func (alS AttributeSCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (alS AttributeSCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaProfileIDs: alS.Opts.ProfileIDs, utils.MetaProcessRunsCfg: alS.Opts.ProcessRuns, utils.MetaProfileRunsCfg: alS.Opts.ProfileRuns, utils.MetaProfileIgnoreFilters: alS.Opts.ProfileIgnoreFilters, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: alS.Enabled, utils.IndexedSelectsCfg: alS.IndexedSelects, utils.NestedFieldsCfg: alS.NestedFields, diff --git a/config/attributescfg_test.go b/config/attributescfg_test.go index d96ceab89..e6f378fcc 100644 --- a/config/attributescfg_test.go +++ b/config/attributescfg_test.go @@ -144,7 +144,7 @@ func TestAttributeSCfgAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.StatSConnsCfg: []string{utils.MetaInternal}, utils.ResourceSConnsCfg: []string{utils.MetaInternal}, @@ -156,7 +156,7 @@ func TestAttributeSCfgAsMapInterface(t *testing.T) { utils.IndexedSelectsCfg: true, utils.NestedFieldsCfg: false, utils.SuffixIndexedFieldsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{ { @@ -190,7 +190,7 @@ func TestAttributeSCfgAsMapInterface2(t *testing.T) { }, }, }` - expectedMap := map[string]interface{}{ + expectedMap := map[string]any{ utils.EnabledCfg: true, utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, @@ -201,7 +201,7 @@ func TestAttributeSCfgAsMapInterface2(t *testing.T) { utils.ExistsIndexedFieldsCfg: []string{}, utils.NotExistsIndexedFieldsCfg: []string{"*req.index1", "*req.index2"}, utils.NestedFieldsCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{ { @@ -225,7 +225,7 @@ func TestAttributeSCfgAsMapInterface3(t *testing.T) { "attributes": {} } ` - expectedMap := map[string]interface{}{ + expectedMap := map[string]any{ utils.EnabledCfg: false, utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, @@ -236,7 +236,7 @@ func TestAttributeSCfgAsMapInterface3(t *testing.T) { utils.ExistsIndexedFieldsCfg: []string{}, utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{}, utils.MetaProfileRunsCfg: []*utils.DynamicIntOpt{}, diff --git a/config/cachecfg.go b/config/cachecfg.go index b4acf747c..c29d7b3a9 100644 --- a/config/cachecfg.go +++ b/config/cachecfg.go @@ -62,9 +62,9 @@ func (cParam *CacheParamCfg) loadFromJSONCfg(jsnCfg *CacheParamJsonCfg) (err err return } -// AsMapInterface returns the config as a map[string]interface{} -func (cParam *CacheParamCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cParam *CacheParamCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.LimitCfg: cParam.Limit, utils.StaticTTLCfg: cParam.StaticTTL, utils.PrecacheCfg: cParam.Precache, @@ -147,13 +147,13 @@ func (cCfg CacheCfg) AsTransCacheConfig() (tcCfg map[string]*ltcache.CacheConfig return } -// AsMapInterface returns the config as a map[string]interface{} -func (cCfg CacheCfg) AsMapInterface(string) interface{} { - partitions := make(map[string]interface{}, len(cCfg.Partitions)) +// AsMapInterface returns the config as a map[string]any +func (cCfg CacheCfg) AsMapInterface(string) any { + partitions := make(map[string]any, len(cCfg.Partitions)) for key, value := range cCfg.Partitions { partitions[key] = value.AsMapInterface() } - mp := map[string]interface{}{utils.PartitionsCfg: partitions} + mp := map[string]any{utils.PartitionsCfg: partitions} if cCfg.ReplicationConns != nil { mp[utils.ReplicationConnsCfg] = cCfg.ReplicationConns } diff --git a/config/cachecfg_test.go b/config/cachecfg_test.go index c090b037e..b81e0d507 100644 --- a/config/cachecfg_test.go +++ b/config/cachecfg_test.go @@ -141,20 +141,20 @@ func TestCachesCfgAsMapInterface1(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.PartitionsCfg: map[string]interface{}{ - utils.MetaDispatchers: map[string]interface{}{"limit": -1, "static_ttl": false, "precache": true, "remote": false, "replicate": true}, + eMap := map[string]any{ + utils.PartitionsCfg: map[string]any{ + utils.MetaDispatchers: map[string]any{"limit": -1, "static_ttl": false, "precache": true, "remote": false, "replicate": true}, }, utils.ReplicationConnsCfg: []string{}, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) } else { - newMap := cgrCfg.cacheCfg.AsMapInterface("").(map[string]interface{}) - if !reflect.DeepEqual(newMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaDispatchers], - eMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaDispatchers]) { - t.Errorf("Expected %+v, received %+v", eMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaDispatchers], - newMap[utils.PartitionsCfg].(map[string]interface{})[utils.MetaDispatchers]) + newMap := cgrCfg.cacheCfg.AsMapInterface("").(map[string]any) + if !reflect.DeepEqual(newMap[utils.PartitionsCfg].(map[string]any)[utils.MetaDispatchers], + eMap[utils.PartitionsCfg].(map[string]any)[utils.MetaDispatchers]) { + t.Errorf("Expected %+v, received %+v", eMap[utils.PartitionsCfg].(map[string]any)[utils.MetaDispatchers], + newMap[utils.PartitionsCfg].(map[string]any)[utils.MetaDispatchers]) } } } diff --git a/config/cdrscfg.go b/config/cdrscfg.go index 08f8e8452..35ab2c4c5 100644 --- a/config/cdrscfg.go +++ b/config/cdrscfg.go @@ -149,9 +149,9 @@ func (cdrscfg *CdrsCfg) loadFromJSONCfg(jsnCdrsCfg *CdrsJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (cdrscfg CdrsCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cdrscfg CdrsCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaAccounts: cdrscfg.Opts.Accounts, utils.MetaAttributes: cdrscfg.Opts.Attributes, utils.MetaChargers: cdrscfg.Opts.Chargers, @@ -160,7 +160,7 @@ func (cdrscfg CdrsCfg) AsMapInterface(string) interface{} { utils.MetaStats: cdrscfg.Opts.Stats, utils.MetaThresholds: cdrscfg.Opts.Thresholds, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: cdrscfg.Enabled, utils.SMCostRetriesCfg: cdrscfg.SMCostRetries, utils.StoreCdrsCfg: cdrscfg.StoreCdrs, diff --git a/config/cdrscfg_test.go b/config/cdrscfg_test.go index 159137981..4a775ab09 100644 --- a/config/cdrscfg_test.go +++ b/config/cdrscfg_test.go @@ -188,7 +188,7 @@ func TestCdrsCfgAsMapInterface(t *testing.T) { "accounts_conns": ["*internal:*accounts","*conn1"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ExtraFieldsCfg: []string{"~*req.PayPalAccount", "~*req.LCRProfile", "~*req.ResourceID"}, utils.SessionCostRetires: 5, @@ -202,7 +202,7 @@ func TestCdrsCfgAsMapInterface(t *testing.T) { utils.RateSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.AccountSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.StoreCdrsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaAccounts: []*utils.DynamicBoolOpt{}, utils.MetaAttributes: []*utils.DynamicBoolOpt{}, utils.MetaChargers: []*utils.DynamicBoolOpt{}, @@ -229,7 +229,7 @@ func TestCdrsCfgAsMapInterface2(t *testing.T) { "ees_conns": ["conn1"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ExtraFieldsCfg: []string{}, utils.StoreCdrsCfg: false, @@ -243,7 +243,7 @@ func TestCdrsCfgAsMapInterface2(t *testing.T) { utils.EEsConnsCfg: []string{"conn1"}, utils.RateSConnsCfg: []string{}, utils.AccountSConnsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaAccounts: []*utils.DynamicBoolOpt{}, utils.MetaAttributes: []*utils.DynamicBoolOpt{}, utils.MetaChargers: []*utils.DynamicBoolOpt{}, diff --git a/config/chargerscfg.go b/config/chargerscfg.go index 54f328855..2f7a7942c 100644 --- a/config/chargerscfg.go +++ b/config/chargerscfg.go @@ -79,9 +79,9 @@ func (cS *ChargerSCfg) loadFromJSONCfg(jsnCfg *ChargerSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (cS ChargerSCfg) AsMapInterface(string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cS ChargerSCfg) AsMapInterface(string) any { + mp := map[string]any{ utils.EnabledCfg: cS.Enabled, utils.IndexedSelectsCfg: cS.IndexedSelects, utils.NestedFieldsCfg: cS.NestedFields, diff --git a/config/chargerscfg_test.go b/config/chargerscfg_test.go index c18e96d87..f333d66f9 100644 --- a/config/chargerscfg_test.go +++ b/config/chargerscfg_test.go @@ -70,7 +70,7 @@ func TestChargerSCfgAsMapInterface(t *testing.T) { "nested_fields": false, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.AttributeSConnsCfg: []string{}, utils.IndexedSelectsCfg: true, @@ -101,7 +101,7 @@ func TestChargerSCfgAsMapInterface1(t *testing.T) { "nested_fields": false, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.AttributeSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.IndexedSelectsCfg: true, diff --git a/config/config.go b/config/config.go index b389cd612..0da3ec78b 100644 --- a/config/config.go +++ b/config/config.go @@ -1021,8 +1021,8 @@ func (cfg *CGRConfig) reloadSections(sections ...string) { } } -// AsMapInterface returns the config as a map[string]interface{} -func (cfg *CGRConfig) AsMapInterface(separator string) (mp map[string]interface{}) { +// AsMapInterface returns the config as a map[string]any +func (cfg *CGRConfig) AsMapInterface(separator string) (mp map[string]any) { return cfg.sections.AsMapInterface(separator) } diff --git a/config/config_it_test.go b/config/config_it_test.go index 4af1025c3..ae1e6b2d5 100644 --- a/config/config_it_test.go +++ b/config/config_it_test.go @@ -590,78 +590,78 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { t.Fatal("Error creating folder: ", dir, err) } } - content := []interface{}{ - map[string]interface{}{ + content := []any{ + map[string]any{ "path": "*cgreq.ToR", "mandatory": true, "tag": "ToR", "type": "*variable", "value": "~*req.2", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.OriginID", "mandatory": true, "tag": "OriginID", "type": "*variable", "value": "~*req.3", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.RequestType", "mandatory": true, "tag": "RequestType", "type": "*variable", "value": "~*req.4", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Tenant", "mandatory": true, "tag": "Tenant", "type": "*variable", "value": "~*req.6", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Category", "mandatory": true, "tag": "Category", "type": "*variable", "value": "~*req.7", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Account", "mandatory": true, "tag": "Account", "type": "*variable", "value": "~*req.8", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Subject", "mandatory": true, "tag": "Subject", "type": "*variable", "value": "~*req.9", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Destination", "mandatory": true, "tag": "Destination", "type": "*variable", "value": "~*req.10", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.SetupTime", "mandatory": true, "tag": "SetupTime", "type": "*variable", "value": "~*req.11", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.AnswerTime", "mandatory": true, "tag": "AnswerTime", "type": "*variable", "value": "~*req.12", }, - map[string]interface{}{ + map[string]any{ "path": "*cgreq.Usage", "mandatory": true, "tag": "Usage", @@ -669,13 +669,13 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "value": "~*req.13", }, } - expected := map[string]interface{}{ + expected := map[string]any{ "enabled": true, "partial_cache_ttl": "1s", - "readers": []interface{}{ - map[string]interface{}{ + "readers": []any{ + map[string]any{ "id": utils.MetaDefault, - "cache_dump_fields": []interface{}{}, + "cache_dump_fields": []any{}, "concurrent_requests": 1024, "fields": content, "filters": []string{}, @@ -686,7 +686,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "tenant": "", "timezone": "", "type": utils.MetaNone, - "opts": map[string]interface{}{ + "opts": map[string]any{ "csvFieldSeparator": ",", "csvHeaderDefineChar": ":", "csvRowLength": 0., @@ -695,10 +695,10 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "xmlRootPath": "", "natsSubject": "cgrates_cdrs", }, - "partial_commit_fields": []interface{}{}, + "partial_commit_fields": []any{}, }, - map[string]interface{}{ - "cache_dump_fields": []interface{}{}, + map[string]any{ + "cache_dump_fields": []any{}, "concurrent_requests": 1024, "filters": []string{}, "flags": []string{"*dryRun"}, @@ -710,7 +710,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "timezone": "", "type": "*fileCSV", "fields": content, - "opts": map[string]interface{}{ + "opts": map[string]any{ "csvFieldSeparator": ",", "csvHeaderDefineChar": ":", "csvRowLength": 0., @@ -719,7 +719,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { "xmlRootPath": "", "natsSubject": "cgrates_cdrs", }, - "partial_commit_fields": []interface{}{}, + "partial_commit_fields": []any{}, }, }, "sessions_conns": []string{ @@ -730,7 +730,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { cfg := NewDefaultCGRConfig() cfg.rldCh = make(chan string, 100) var reply string - var rcv map[string]interface{} + var rcv map[string]any cfg.ConfigPath = "/usr/share/cgrates/conf/samples/ers_example" if err := cfg.V1ReloadConfig(context.Background(), &ReloadArgs{ @@ -741,7 +741,7 @@ func testCgrCfgV1ReloadConfigSection(t *testing.T) { t.Errorf("Expected: %s \n,received: %s", utils.OK, reply) } - expected = map[string]interface{}{ + expected = map[string]any{ ERsJSON: expected, } if err := cfg.V1GetConfig(context.Background(), &SectionWithAPIOpts{Sections: []string{ERsJSON}}, &rcv); err != nil { @@ -764,8 +764,8 @@ func testCGRConfigReloadConfigFromJSONSessionS(t *testing.T) { cfg.CdrsCfg().Enabled = true var reply string if err = cfg.V1SetConfig(context.Background(), &SetConfigArgs{ - Config: map[string]interface{}{ - "sessions": map[string]interface{}{ + Config: map[string]any{ + "sessions": map[string]any{ "enabled": true, "resources_conns": []string{"*localhost"}, "routes_conns": []string{"*localhost"}, diff --git a/config/config_json.go b/config/config_json.go index 455632d6e..464a0b026 100644 --- a/config/config_json.go +++ b/config/config_json.go @@ -114,8 +114,8 @@ var ( ) type ConfigDB interface { - GetSection(ctx *context.Context, section string, val interface{}) error // in this case value must be a not nil pointer - SetSection(ctx *context.Context, section string, val interface{}) error + GetSection(ctx *context.Context, section string, val any) error // in this case value must be a not nil pointer + SetSection(ctx *context.Context, section string, val any) error } // Loads the json config out of io.Reader, eg other sources than file, maybe over http @@ -128,14 +128,14 @@ func NewCgrJsonCfgFromBytes(buf []byte) (cgrJsonCfg *CgrJsonCfg, err error) { // Main object holding the loaded config as section raw messages type CgrJsonCfg map[string]json.RawMessage -func (jsnCfg CgrJsonCfg) GetSection(ctx *context.Context, section string, val interface{}) (err error) { +func (jsnCfg CgrJsonCfg) GetSection(ctx *context.Context, section string, val any) (err error) { if rawCfg, hasKey := jsnCfg[section]; hasKey { err = json.Unmarshal(rawCfg, val) } return } -func (jsnCfg CgrJsonCfg) SetSection(_ *context.Context, section string, jsn interface{}) (_ error) { +func (jsnCfg CgrJsonCfg) SetSection(_ *context.Context, section string, jsn any) (_ error) { data, err := json.Marshal(jsn) if err != nil { return err @@ -147,7 +147,7 @@ func (jsnCfg CgrJsonCfg) SetSection(_ *context.Context, section string, jsn inte type Section interface { SName() string Load(*context.Context, ConfigDB, *CGRConfig) error - AsMapInterface(string) interface{} + AsMapInterface(string) any CloneSection() Section // UpdateDB(*context.Context) // not know } @@ -234,8 +234,8 @@ func (r Sections) LoadWithout(ctx *context.Context, db ConfigDB, cfg *CGRConfig, } return } -func (r Sections) AsMapInterface(sep string) (m map[string]interface{}) { - m = make(map[string]interface{}) +func (r Sections) AsMapInterface(sep string) (m map[string]any) { + m = make(map[string]any) for _, sec := range r { m[sec.SName()] = sec.AsMapInterface(sep) } diff --git a/config/config_test.go b/config/config_test.go index 2e77e85a8..e72284e08 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -3633,7 +3633,7 @@ func TestCgrCfgJSONDefaultRateCfg(t *testing.T) { } func TestCgrCfgV1GetConfigAllConfig(t *testing.T) { - var rcv map[string]interface{} + var rcv map[string]any cgrCfg := NewDefaultCGRConfig() if err != nil { t.Error(err) @@ -3654,9 +3654,9 @@ func TestCgrCfgV1GetConfigAllConfig(t *testing.T) { } func TestCgrCfgV1GetConfigSectionLoader(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - LoaderSJSON: []map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + LoaderSJSON: []map[string]any{ { utils.IDCfg: "*default", utils.EnabledCfg: false, @@ -3667,27 +3667,27 @@ func TestCgrCfgV1GetConfigSectionLoader(t *testing.T) { utils.FieldSepCfg: ",", utils.TpInDirCfg: "/var/spool/cgrates/loader/in", utils.TpOutDirCfg: "/var/spool/cgrates/loader/out", - utils.DataCfg: []map[string]interface{}{}, + utils.DataCfg: []map[string]any{}, utils.ActionCfg: utils.MetaStore, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaCache: "", utils.MetaWithIndex: true, utils.MetaForceLock: false, utils.MetaStopOnError: false, }, - utils.CacheCfg: map[string]interface{}{ - utils.MetaFilters: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaAttributes: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaResources: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaStats: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaThresholds: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaRoutes: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaChargers: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaDispatchers: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaDispatcherHosts: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaRateProfiles: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaActionProfiles: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaAccounts: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.CacheCfg: map[string]any{ + utils.MetaFilters: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaAttributes: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaResources: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaStats: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaThresholds: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaRoutes: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaChargers: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaDispatchers: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaDispatcherHosts: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaRateProfiles: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaActionProfiles: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaAccounts: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, }, }, }, @@ -3695,10 +3695,10 @@ func TestCgrCfgV1GetConfigSectionLoader(t *testing.T) { cgrCfg := NewDefaultCGRConfig() if err := cgrCfg.V1GetConfig(context.Background(), &SectionWithAPIOpts{Sections: []string{LoaderSJSON}}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[LoaderSJSON].([]map[string]interface{}); !can { + } else if mp, can := reply[LoaderSJSON].([]map[string]any); !can { t.Errorf("Unexpected type: %t", reply[LoaderSJSON]) } else { - mp[0][utils.DataCfg] = []map[string]interface{}{} + mp[0][utils.DataCfg] = []map[string]any{} if !reflect.DeepEqual(expected[LoaderSJSON], mp) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected[LoaderSJSON]), utils.ToJSON(mp)) } @@ -3706,9 +3706,9 @@ func TestCgrCfgV1GetConfigSectionLoader(t *testing.T) { } func TestCgrCfgV1GetConfigSectionHTTPAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - HTTPAgentJSON: []map[string]interface{}{}, + var reply map[string]any + expected := map[string]any{ + HTTPAgentJSON: []map[string]any{}, } cgrCfg := NewDefaultCGRConfig() if err := cgrCfg.V1GetConfig(context.Background(), &SectionWithAPIOpts{Sections: []string{HTTPAgentJSON}}, &reply); err != nil { @@ -3719,9 +3719,9 @@ func TestCgrCfgV1GetConfigSectionHTTPAgent(t *testing.T) { } func TestCgrCfgV1GetConfigSectionCoreS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - CoreSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + CoreSJSON: map[string]any{ utils.CapsCfg: 0, utils.CapsStrategyCfg: utils.MetaBusy, utils.CapsStatsIntervalCfg: "0", @@ -3746,8 +3746,8 @@ func TestCgrCfgV1GetConfigListen(t *testing.T) { "http": ":2080", } }` - expected := map[string]interface{}{ - "listen": map[string]interface{}{ + expected := map[string]any{ + "listen": map[string]any{ "http": ":2080", "http_tls": "127.0.0.1:2280", "rpc_gob": ":2013", @@ -3756,7 +3756,7 @@ func TestCgrCfgV1GetConfigListen(t *testing.T) { "rpc_json_tls": "127.0.0.1:2022", }, } - var rcv map[string]interface{} + var rcv map[string]any if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil { t.Error(err) } else if err := cgrCfg.V1GetConfig(context.Background(), &SectionWithAPIOpts{Sections: []string{ListenJSON}}, &rcv); err != nil { @@ -3767,7 +3767,7 @@ func TestCgrCfgV1GetConfigListen(t *testing.T) { } func TestV1GetConfigGeneral(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any cfgJSONStr := `{ "general": { "node_id": "ENGINE1", @@ -3778,7 +3778,7 @@ func TestV1GetConfigGeneral(t *testing.T) { "reply_timeout": "0s", } }` - expected := map[string]interface{}{ + expected := map[string]any{ utils.NodeIDCfg: "ENGINE1", utils.RoundingDecimalsCfg: 5, utils.DBDataEncodingCfg: "*msgpack", @@ -3802,11 +3802,11 @@ func TestV1GetConfigGeneral(t *testing.T) { utils.DecimalMinScaleCfg: 0, utils.DecimalPrecisionCfg: 0, utils.DecimalRoundingModeCfg: "*toNearestEven", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaExporterIDs: []*utils.DynamicStringSliceOpt{}, }, } - expected = map[string]interface{}{ + expected = map[string]any{ GeneralJSON: expected, } cfgCgr, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr) @@ -3821,8 +3821,8 @@ func TestV1GetConfigGeneral(t *testing.T) { } func TestV1GetConfigDataDB(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ utils.DataDbTypeCfg: "*redis", utils.DataDbHostCfg: "127.0.0.1", utils.DataDbPortCfg: 6379, @@ -3832,22 +3832,22 @@ func TestV1GetConfigDataDB(t *testing.T) { utils.ReplicationFilteredCfg: false, utils.RemoteConnIDCfg: "", utils.ReplicationCache: "", - utils.OptsCfg: map[string]interface{}{}, + utils.OptsCfg: map[string]any{}, utils.RemoteConnsCfg: []string{}, utils.ReplicationConnsCfg: []string{}, - utils.ItemsCfg: map[string]interface{}{}, + utils.ItemsCfg: map[string]any{}, } - expected = map[string]interface{}{ + expected = map[string]any{ DataDBJSON: expected, } cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(context.Background(), &SectionWithAPIOpts{Sections: []string{DataDBJSON}}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[DataDBJSON].(map[string]interface{}); !can { + } else if mp, can := reply[DataDBJSON].(map[string]any); !can { t.Errorf("Unexpected type: %t", reply[DataDBJSON]) } else { - mp[utils.ItemsCfg] = map[string]interface{}{} - mp[utils.OptsCfg] = map[string]interface{}{} + mp[utils.ItemsCfg] = map[string]any{} + mp[utils.OptsCfg] = map[string]any{} if !reflect.DeepEqual(reply, expected) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(reply)) } @@ -3855,9 +3855,9 @@ func TestV1GetConfigDataDB(t *testing.T) { } func TestV1GetConfigTLS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - TlsJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + TlsJSON: map[string]any{ utils.ServerCerificateCfg: "", utils.ServerKeyCfg: "", utils.ServerPolicyCfg: 4, @@ -3876,10 +3876,10 @@ func TestV1GetConfigTLS(t *testing.T) { } func TestV1GetConfigCache(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - CacheJSON: map[string]interface{}{ - utils.PartitionsCfg: map[string]interface{}{}, + var reply map[string]any + expected := map[string]any{ + CacheJSON: map[string]any{ + utils.PartitionsCfg: map[string]any{}, utils.ReplicationConnsCfg: []string{}, utils.RemoteConnsCfg: []string{}, }, @@ -3887,10 +3887,10 @@ func TestV1GetConfigCache(t *testing.T) { cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(context.Background(), &SectionWithAPIOpts{Sections: []string{CacheJSON}}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[CacheJSON].(map[string]interface{}); !can { + } else if mp, can := reply[CacheJSON].(map[string]any); !can { t.Errorf("Unexpected type: %t", reply[CacheJSON]) } else { - mp[utils.PartitionsCfg] = map[string]interface{}{} + mp[utils.PartitionsCfg] = map[string]any{} if !reflect.DeepEqual(reply, expected) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(reply)) } @@ -3898,9 +3898,9 @@ func TestV1GetConfigCache(t *testing.T) { } func TestV1GetConfigHTTP(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - HTTPJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + HTTPJSON: map[string]any{ utils.HTTPJsonRPCURLCfg: "/jsonrpc", utils.RegistrarSURLCfg: "/registrar", utils.PrometheusURLCfg: "/prometheus", @@ -3909,7 +3909,7 @@ func TestV1GetConfigHTTP(t *testing.T) { utils.HTTPCDRsURLCfg: "/cdr_http", utils.HTTPUseBasicAuthCfg: false, utils.HTTPAuthUsersCfg: map[string]string{}, - utils.HTTPClientOptsCfg: map[string]interface{}{ + utils.HTTPClientOptsCfg: map[string]any{ utils.HTTPClientSkipTLSVerificationCfg: false, utils.HTTPClientTLSHandshakeTimeoutCfg: "10s", utils.HTTPClientDisableKeepAlivesCfg: false, @@ -3936,9 +3936,9 @@ func TestV1GetConfigHTTP(t *testing.T) { } func TestV1GetConfigFilterS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - FilterSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + FilterSJSON: map[string]any{ utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, utils.AccountSConnsCfg: []string{}, @@ -3953,9 +3953,9 @@ func TestV1GetConfigFilterS(t *testing.T) { } func TestV1GetConfigCdrs(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - CDRsJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + CDRsJSON: map[string]any{ utils.EnabledCfg: false, utils.ExtraFieldsCfg: []string{}, utils.StoreCdrsCfg: true, @@ -3969,7 +3969,7 @@ func TestV1GetConfigCdrs(t *testing.T) { utils.EEsConnsCfg: []string{}, utils.RateSConnsCfg: []string{}, utils.AccountSConnsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaAccounts: []*utils.DynamicBoolOpt{}, utils.MetaAttributes: []*utils.DynamicBoolOpt{}, utils.MetaChargers: []*utils.DynamicBoolOpt{}, @@ -3989,9 +3989,9 @@ func TestV1GetConfigCdrs(t *testing.T) { } func TestV1GetConfigSessionS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - SessionSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + SessionSJSON: map[string]any{ utils.EnabledCfg: false, utils.ListenBijsonCfg: "127.0.0.1:2014", utils.ListenBigobCfg: "", @@ -4013,7 +4013,7 @@ func TestV1GetConfigSessionS(t *testing.T) { utils.TerminateAttemptsCfg: 5, utils.MinDurLowBalanceCfg: "0", utils.AlterableFieldsCfg: []string{}, - utils.STIRCfg: map[string]interface{}{ + utils.STIRCfg: map[string]any{ utils.AllowedAtestCfg: []string{"*any"}, utils.PayloadMaxdurationCfg: "-1", utils.DefaultAttestCfg: "A", @@ -4026,7 +4026,7 @@ func TestV1GetConfigSessionS(t *testing.T) { utils.MetaData: "1048576", utils.MetaSMS: "1", }, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaAccounts: []*utils.DynamicBoolOpt{}, utils.MetaAttributes: []*utils.DynamicBoolOpt{}, utils.MetaCDRs: []*utils.DynamicBoolOpt{}, @@ -4070,9 +4070,9 @@ func TestV1GetConfigSessionS(t *testing.T) { } func TestV1GetConfigFsAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - FreeSWITCHAgentJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + FreeSWITCHAgentJSON: map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.SubscribeParkCfg: true, @@ -4082,7 +4082,7 @@ func TestV1GetConfigFsAgent(t *testing.T) { utils.EmptyBalanceContextCfg: "", utils.EmptyBalanceAnnFileCfg: "", utils.MaxWaitConnectionCfg: "2s", - utils.EventSocketConnsCfg: []map[string]interface{}{ + utils.EventSocketConnsCfg: []map[string]any{ { utils.AddressCfg: "127.0.0.1:8021", utils.Password: "ClueCon", @@ -4101,14 +4101,14 @@ func TestV1GetConfigFsAgent(t *testing.T) { } func TestV1GetConfigKamailioAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - KamailioAgentJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + KamailioAgentJSON: map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.CreateCdrCfg: false, utils.TimezoneCfg: "", - utils.EvapiConnsCfg: []map[string]interface{}{ + utils.EvapiConnsCfg: []map[string]any{ { utils.AddressCfg: "127.0.0.1:8448", utils.ReconnectsCfg: 5, @@ -4127,13 +4127,13 @@ func TestV1GetConfigKamailioAgent(t *testing.T) { } func TestV1GetConfigAsteriskAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - AsteriskAgentJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + AsteriskAgentJSON: map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.CreateCdrCfg: false, - utils.AsteriskConnsCfg: []map[string]interface{}{ + utils.AsteriskConnsCfg: []map[string]any{ { utils.AliasCfg: "", utils.AddressCfg: "127.0.0.1:8088", @@ -4155,9 +4155,9 @@ func TestV1GetConfigAsteriskAgent(t *testing.T) { } func TestV1GetConfigDiameterAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - DiameterAgentJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + DiameterAgentJSON: map[string]any{ utils.ASRTemplateCfg: "", utils.ConcurrentRequestsCfg: -1, utils.DictionariesPathCfg: "/usr/share/cgrates/diameter/dict/", @@ -4172,7 +4172,7 @@ func TestV1GetConfigDiameterAgent(t *testing.T) { utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.SyncedConnReqsCfg: false, utils.VendorIDCfg: 0, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, }, } cfgCgr := NewDefaultCGRConfig() @@ -4184,9 +4184,9 @@ func TestV1GetConfigDiameterAgent(t *testing.T) { } func TestV1GetConfigRadiusAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RadiusAgentJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RadiusAgentJSON: map[string]any{ utils.EnabledCfg: false, utils.ListenNetCfg: "udp", utils.ListenAuthCfg: "127.0.0.1:1812", @@ -4198,7 +4198,7 @@ func TestV1GetConfigRadiusAgent(t *testing.T) { utils.MetaDefault: "/usr/share/cgrates/radius/dict/", }, utils.SessionSConnsCfg: []string{"*internal"}, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, }, } cfgCgr := NewDefaultCGRConfig() @@ -4210,15 +4210,15 @@ func TestV1GetConfigRadiusAgent(t *testing.T) { } func TestV1GetConfigDNSAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - DNSAgentJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + DNSAgentJSON: map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:2053", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{utils.MetaInternal}, utils.TimezoneCfg: "", - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, }, } cfgCgr := NewDefaultCGRConfig() @@ -4230,9 +4230,9 @@ func TestV1GetConfigDNSAgent(t *testing.T) { } func TestV1GetConfigAttribute(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - AttributeSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + AttributeSJSON: map[string]any{ utils.EnabledCfg: false, utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, @@ -4243,7 +4243,7 @@ func TestV1GetConfigAttribute(t *testing.T) { utils.ExistsIndexedFieldsCfg: []string{}, utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProcessRunsCfg: []*utils.DynamicIntOpt{}, utils.MetaProfileRunsCfg: []*utils.DynamicIntOpt{}, @@ -4260,9 +4260,9 @@ func TestV1GetConfigAttribute(t *testing.T) { } func TestV1GetConfigChargers(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ChargerSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ChargerSJSON: map[string]any{ utils.EnabledCfg: false, utils.AttributeSConnsCfg: []string{}, utils.IndexedSelectsCfg: true, @@ -4282,9 +4282,9 @@ func TestV1GetConfigChargers(t *testing.T) { } func TestV1GetConfigResourceS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ResourceSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ResourceSJSON: map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.ThresholdSConnsCfg: []string{}, @@ -4294,7 +4294,7 @@ func TestV1GetConfigResourceS(t *testing.T) { utils.ExistsIndexedFieldsCfg: []string{}, utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaUsageIDCfg: []*utils.DynamicStringOpt{}, utils.MetaUsageTTLCfg: []*utils.DynamicDurationOpt{}, utils.MetaUnitsCfg: []*utils.DynamicFloat64Opt{}, @@ -4310,9 +4310,9 @@ func TestV1GetConfigResourceS(t *testing.T) { } func TestV1GetConfigStats(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - StatSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + StatSJSON: map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.StoreUncompressedLimitCfg: 0, @@ -4323,7 +4323,7 @@ func TestV1GetConfigStats(t *testing.T) { utils.ExistsIndexedFieldsCfg: []string{}, utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, utils.OptsRoundingDecimals: []*utils.DynamicIntOpt{}, @@ -4340,9 +4340,9 @@ func TestV1GetConfigStats(t *testing.T) { } func TestV1GetConfigThresholds(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ThresholdSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ThresholdSJSON: map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.IndexedSelectsCfg: true, @@ -4352,7 +4352,7 @@ func TestV1GetConfigThresholds(t *testing.T) { utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, utils.ActionSConnsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, }, @@ -4367,9 +4367,9 @@ func TestV1GetConfigThresholds(t *testing.T) { } func TestV1GetConfigAcounts(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - AccountSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + AccountSJSON: map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.AttributeSConnsCfg: []string{}, @@ -4382,7 +4382,7 @@ func TestV1GetConfigAcounts(t *testing.T) { utils.NestedFieldsCfg: false, utils.MaxIterations: 1000, utils.MaxUsage: "259200000000000", // 72h in ns - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaUsage: []*utils.DynamicDecimalBigOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, @@ -4398,9 +4398,9 @@ func TestV1GetConfigAcounts(t *testing.T) { } func TestV1GetConfigRoutes(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RouteSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RouteSJSON: map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -4414,7 +4414,7 @@ func TestV1GetConfigRoutes(t *testing.T) { utils.RateSConnsCfg: []string{}, utils.AccountSConnsCfg: []string{}, utils.DefaultRatioCfg: 1, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.OptsContext: []*utils.DynamicStringOpt{}, utils.MetaProfileCountCfg: []*utils.DynamicIntPointerOpt{}, utils.MetaIgnoreErrorsCfg: []*utils.DynamicBoolOpt{}, @@ -4435,9 +4435,9 @@ func TestV1GetConfigRoutes(t *testing.T) { } func TestV1GetConfigSuretax(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - SureTaxJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + SureTaxJSON: map[string]any{ utils.URLCfg: utils.EmptyString, utils.ClientNumberCfg: utils.EmptyString, utils.ValidationKeyCfg: utils.EmptyString, @@ -4476,9 +4476,9 @@ func TestV1GetConfigSuretax(t *testing.T) { } func TestV1GetConfigDispatcherS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - DispatcherSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + DispatcherSJSON: map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -4487,7 +4487,7 @@ func TestV1GetConfigDispatcherS(t *testing.T) { utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, utils.AttributeSConnsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaDispatcherSCfg: []*utils.DynamicBoolOpt{}, }, }, @@ -4501,17 +4501,17 @@ func TestV1GetConfigDispatcherS(t *testing.T) { } func TestV1GetConfigDispatcherH(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RegistrarCJSON: map[string]interface{}{ - utils.DispatcherCfg: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RegistrarCJSON: map[string]any{ + utils.DispatcherCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{}, - utils.HostsCfg: []map[string]interface{}{}, + utils.HostsCfg: []map[string]any{}, utils.RefreshIntervalCfg: "5m0s", }, - utils.RPCCfg: map[string]interface{}{ + utils.RPCCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{}, - utils.HostsCfg: []map[string]interface{}{}, + utils.HostsCfg: []map[string]any{}, utils.RefreshIntervalCfg: "5m0s", }, }, @@ -4525,9 +4525,9 @@ func TestV1GetConfigDispatcherH(t *testing.T) { } func TestV1GetConfigSectionLoader(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - LoaderJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + LoaderJSON: map[string]any{ utils.TpIDCfg: "", utils.DataPathCfg: "./", utils.DisableReverseCfg: false, @@ -4547,9 +4547,9 @@ func TestV1GetConfigSectionLoader(t *testing.T) { } func TestV1GetConfigSectionMigrator(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - MigratorJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + MigratorJSON: map[string]any{ utils.OutDataDBTypeCfg: "*redis", utils.OutDataDBHostCfg: "127.0.0.1", utils.OutDataDBPortCfg: "6379", @@ -4558,7 +4558,7 @@ func TestV1GetConfigSectionMigrator(t *testing.T) { utils.OutDataDBPasswordCfg: "", utils.OutDataDBEncodingCfg: "msgpack", utils.UsersFiltersCfg: []string(nil), - utils.OutDataDBOptsCfg: map[string]interface{}{ + utils.OutDataDBOptsCfg: map[string]any{ utils.RedisMaxConnsCfg: 10, utils.RedisConnectAttemptsCfg: 20, utils.MongoQueryTimeoutCfg: "0s", @@ -4585,9 +4585,9 @@ func TestV1GetConfigSectionMigrator(t *testing.T) { } func TestV1GetConfigSectionApierS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - AdminSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + AdminSJSON: map[string]any{ utils.EnabledCfg: false, utils.CachesConnsCfg: []string{utils.MetaInternal}, utils.ActionSConnsCfg: []string{}, @@ -4604,13 +4604,13 @@ func TestV1GetConfigSectionApierS(t *testing.T) { } func TestV1GetConfigSectionEES(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - EEsJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + EEsJSON: map[string]any{ utils.EnabledCfg: false, utils.AttributeSConnsCfg: []string{}, - utils.CacheCfg: map[string]interface{}{ - utils.MetaFileCSV: map[string]interface{}{ + utils.CacheCfg: map[string]any{ + utils.MetaFileCSV: map[string]any{ utils.LimitCfg: -1, utils.PrecacheCfg: false, utils.RemoteCfg: false, @@ -4619,12 +4619,12 @@ func TestV1GetConfigSectionEES(t *testing.T) { utils.StaticTTLCfg: false, }, }, - utils.ExportersCfg: []map[string]interface{}{ + utils.ExportersCfg: []map[string]any{ { utils.IDCfg: utils.MetaDefault, utils.TypeCfg: utils.MetaNone, utils.ExportPathCfg: "/var/spool/cgrates/ees", - utils.OptsCfg: map[string]interface{}{}, + utils.OptsCfg: map[string]any{}, utils.TimezoneCfg: utils.EmptyString, utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{}, @@ -4633,7 +4633,7 @@ func TestV1GetConfigSectionEES(t *testing.T) { utils.SynchronousCfg: false, utils.BlockerCfg: false, utils.AttemptsCfg: 1, - utils.FieldsCfg: []map[string]interface{}{}, + utils.FieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 0, utils.FailedPostsDirCfg: "/var/spool/cgrates/failed_posts", utils.EFsConnsCfg: []string{utils.MetaInternal}, @@ -4650,12 +4650,12 @@ func TestV1GetConfigSectionEES(t *testing.T) { } func TestV1GetConfigSectionERS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ERsJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ERsJSON: map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{utils.MetaInternal}, - utils.ReadersCfg: []map[string]interface{}{ + utils.ReadersCfg: []map[string]any{ { utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{}, @@ -4665,12 +4665,12 @@ func TestV1GetConfigSectionERS(t *testing.T) { utils.SourcePathCfg: "/var/spool/cgrates/ers/in", utils.TenantCfg: utils.EmptyString, utils.TimezoneCfg: utils.EmptyString, - utils.CacheDumpFieldsCfg: []map[string]interface{}{}, - utils.PartialCommitFieldsCfg: []map[string]interface{}{}, + utils.CacheDumpFieldsCfg: []map[string]any{}, + utils.PartialCommitFieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: utils.MetaNone, utils.FieldsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.CSVFieldSepOpt: ",", utils.HeaderDefineCharOpt: ":", utils.CSVRowLengthOpt: 0, @@ -4687,10 +4687,10 @@ func TestV1GetConfigSectionERS(t *testing.T) { cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(context.Background(), &SectionWithAPIOpts{Sections: []string{ERsJSON}}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[ERsJSON].(map[string]interface{}); !can { + } else if mp, can := reply[ERsJSON].(map[string]any); !can { t.Errorf("Unexpected type: %t", reply[ERsJSON]) } else { - mp[utils.ReadersCfg].([]map[string]interface{})[0][utils.FieldsCfg] = []string{} + mp[utils.ReadersCfg].([]map[string]any)[0][utils.FieldsCfg] = []string{} if !reflect.DeepEqual(mp, expected[ERsJSON]) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected[ERsJSON]), utils.ToJSON(mp)) } @@ -4698,43 +4698,43 @@ func TestV1GetConfigSectionERS(t *testing.T) { } func TestV1GetConfigSectionRPConns(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RPCConnsJSON: map[string]interface{}{ - utils.MetaBiJSONLocalHost: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RPCConnsJSON: map[string]any{ + utils.MetaBiJSONLocalHost: map[string]any{ utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2014", utils.TransportCfg: rpcclient.BiRPCJSON, }, }, }, - utils.MetaLocalHost: map[string]interface{}{ + utils.MetaLocalHost: map[string]any{ utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2012", utils.TransportCfg: "*json", }, }, }, - utils.MetaInternal: map[string]interface{}{ + utils.MetaInternal: map[string]any{ utils.StrategyCfg: utils.MetaFirst, utils.PoolSize: 0, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: utils.MetaInternal, utils.TransportCfg: utils.EmptyString, }, }, }, - rpcclient.BiRPCInternal: map[string]interface{}{ + rpcclient.BiRPCInternal: map[string]any{ utils.StrategyCfg: utils.MetaFirst, utils.PoolSize: 0, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: rpcclient.BiRPCInternal, utils.TransportCfg: utils.EmptyString, @@ -4752,16 +4752,16 @@ func TestV1GetConfigSectionRPConns(t *testing.T) { } func TestV1GetConfigSectionSIPAgent(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - SIPAgentJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + SIPAgentJSON: map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:5060", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{utils.MetaInternal}, utils.TimezoneCfg: utils.EmptyString, utils.RetransmissionTimerCfg: "1s", - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, }, } cfgCgr := NewDefaultCGRConfig() @@ -4773,9 +4773,9 @@ func TestV1GetConfigSectionSIPAgent(t *testing.T) { } func TestV1GetConfigSectionTemplates(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - TemplatesJSON: map[string][]map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + TemplatesJSON: map[string][]map[string]any{ utils.MetaErr: { {utils.TagCfg: "SessionId", utils.PathCfg: "*rep.Session-Id", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.Session-Id", utils.MandatoryCfg: true}, @@ -4807,13 +4807,13 @@ func TestV1GetConfigSectionTemplates(t *testing.T) { cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(context.Background(), &SectionWithAPIOpts{Sections: []string{TemplatesJSON}}, &reply); err != nil { t.Error(err) - } else if mp, can := reply[TemplatesJSON].(map[string][]map[string]interface{}); !can { + } else if mp, can := reply[TemplatesJSON].(map[string][]map[string]any); !can { t.Errorf("Unexpected type: %t", reply[TemplatesJSON]) } else { - mp[utils.MetaCCA] = []map[string]interface{}{} - mp[utils.MetaRAR] = []map[string]interface{}{} - mp["*errSip"] = []map[string]interface{}{} - mp[utils.MetaCdrLog] = []map[string]interface{}{} + mp[utils.MetaCCA] = []map[string]any{} + mp[utils.MetaRAR] = []map[string]any{} + mp["*errSip"] = []map[string]any{} + mp[utils.MetaCdrLog] = []map[string]any{} if !reflect.DeepEqual(reply, expected) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expected), utils.ToJSON(reply)) } @@ -4821,9 +4821,9 @@ func TestV1GetConfigSectionTemplates(t *testing.T) { } func TestV1GetConfigSectionConfigs(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ConfigSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ConfigSJSON: map[string]any{ utils.EnabledCfg: true, utils.URLCfg: "/configs/", utils.RootDirCfg: "/var/spool/cgrates/configs", @@ -4858,9 +4858,9 @@ func TestV1GetConfigSectionConfigs(t *testing.T) { } func TestV1GetConfigSectionAPIBans(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - APIBanJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + APIBanJSON: map[string]any{ utils.EnabledCfg: false, utils.KeysCfg: []string{}, }, @@ -4874,16 +4874,16 @@ func TestV1GetConfigSectionAPIBans(t *testing.T) { } func TestV1GetConfigSectionAnalyzer(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - AnalyzerSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + AnalyzerSJSON: map[string]any{ utils.EnabledCfg: false, utils.CleanupIntervalCfg: "1h0m0s", utils.DBPathCfg: "/var/spool/cgrates/analyzers", utils.IndexTypeCfg: utils.MetaScorch, utils.EEsConnsCfg: []string{}, utils.TTLCfg: "24h0m0s", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaExporterIDs: []*utils.DynamicStringSliceOpt{}, }, }, @@ -4897,9 +4897,9 @@ func TestV1GetConfigSectionAnalyzer(t *testing.T) { } func TestV1GetConfigSectionRateS(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - RateSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + RateSJSON: map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -4914,7 +4914,7 @@ func TestV1GetConfigSectionRateS(t *testing.T) { utils.RateNotExistsIndexedFieldsCfg: []string{}, utils.RateNestedFieldsCfg: false, utils.Verbosity: 1000, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaStartTime: []*utils.DynamicStringOpt{}, utils.MetaUsage: []*utils.DynamicDecimalBigOpt{}, @@ -4932,7 +4932,7 @@ func TestV1GetConfigSectionRateS(t *testing.T) { } func TestV1GetConfigSectionInvalidSection(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any expected := "Invalid section " cfgCgr := NewDefaultCGRConfig() if err := cfgCgr.V1GetConfig(context.Background(), &SectionWithAPIOpts{Sections: []string{"invalidSection"}}, &reply); err == nil || err.Error() != expected { @@ -4955,7 +4955,7 @@ func TestV1ReloadConfigUnmarshalError(t *testing.T) { expected := "json: unsupported type: chan int" cgrCfg := NewDefaultCGRConfig() if err := cgrCfg.V1SetConfig(context.Background(), &SetConfigArgs{ - Config: map[string]interface{}{ + Config: map[string]any{ StatSJSON: make(chan int), }, }, @@ -4966,8 +4966,8 @@ func TestV1ReloadConfigUnmarshalError(t *testing.T) { func TestV1ReloadConfigJSONWithLocks(t *testing.T) { var reply string - section := map[string]interface{}{ - "inexistentSection": map[string]interface{}{}, + section := map[string]any{ + "inexistentSection": map[string]any{}, } expected := "Invalid section " cfgCgr := NewDefaultCGRConfig() @@ -5871,9 +5871,9 @@ func TestActionSConfig(t *testing.T) { } func TestV1GetConfigSectionActionSJSON(t *testing.T) { - var reply map[string]interface{} - expected := map[string]interface{}{ - ActionSJSON: map[string]interface{}{ + var reply map[string]any + expected := map[string]any{ + ActionSJSON: map[string]any{ utils.EnabledCfg: false, utils.EEsConnsCfg: []string{}, utils.CDRsConnsCfg: []string{}, @@ -5888,7 +5888,7 @@ func TestV1GetConfigSectionActionSJSON(t *testing.T) { utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, utils.DynaprepaidActionplansCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, utils.MetaPosterAttempts: []*utils.DynamicIntOpt{}, @@ -5997,7 +5997,7 @@ func TestSetCfgInDb(t *testing.T) { cfg.sections = newSections(cfg) cfg.rldCh = make(chan string, 10) args := &SetConfigArgs{ - Config: map[string]interface{}{ + Config: map[string]any{ "attributes": &AttributeSJsonCfg{ Enabled: utils.BoolPointer(false), Resources_conns: &[]string{"*localhost"}, @@ -6086,7 +6086,7 @@ func TestSetNilCfgInDb(t *testing.T) { cfg.rldCh = make(chan string, 100) attributes := &AttributeSJsonCfg{} args := &SetConfigArgs{ - Config: map[string]interface{}{ + Config: map[string]any{ "attributes": attributes, }, } diff --git a/config/configdbcfg.go b/config/configdbcfg.go index 6d5b78b59..34ed6b86d 100644 --- a/config/configdbcfg.go +++ b/config/configdbcfg.go @@ -104,9 +104,9 @@ func (dbcfg ConfigDBCfg) Clone() (cln *ConfigDBCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (dbcfg ConfigDBCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dbcfg ConfigDBCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.RedisMaxConnsCfg: dbcfg.Opts.RedisMaxConns, utils.RedisConnectAttemptsCfg: dbcfg.Opts.RedisConnectAttempts, utils.RedisSentinelNameCfg: dbcfg.Opts.RedisSentinel, @@ -122,7 +122,7 @@ func (dbcfg ConfigDBCfg) AsMapInterface(string) interface{} { utils.RedisClientKeyCfg: dbcfg.Opts.RedisClientKey, utils.RedisCACertificateCfg: dbcfg.Opts.RedisCACertificate, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.DataDbTypeCfg: dbcfg.Type, utils.DataDbHostCfg: dbcfg.Host, utils.DataDbNameCfg: dbcfg.Name, diff --git a/config/configscfg.go b/config/configscfg.go index 0f9a9ab31..60ce18c55 100644 --- a/config/configscfg.go +++ b/config/configscfg.go @@ -115,9 +115,9 @@ func handleConfigSFile(path string, w http.ResponseWriter) { } } -// AsMapInterface returns the config as a map[string]interface{} -func (cScfg ConfigSCfg) AsMapInterface(string) interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cScfg ConfigSCfg) AsMapInterface(string) any { + return map[string]any{ utils.EnabledCfg: cScfg.Enabled, utils.URLCfg: cScfg.URL, utils.RootDirCfg: cScfg.RootDir, diff --git a/config/configscfg_test.go b/config/configscfg_test.go index 27fa2f303..db98a15ea 100644 --- a/config/configscfg_test.go +++ b/config/configscfg_test.go @@ -59,7 +59,7 @@ func TestConfigsAsMapInterface(t *testing.T) { "root_dir": "/var/spool/cgrates/configs" }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.URLCfg: "", utils.RootDirCfg: "/var/spool/cgrates/configs", @@ -75,7 +75,7 @@ func TestConfigsAsMapInterface2(t *testing.T) { cfgsJSONStr := `{ "configs":{} }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.URLCfg: "/configs/", utils.RootDirCfg: "/var/spool/cgrates/configs", diff --git a/config/corescfg.go b/config/corescfg.go index 3481aff56..aca8624c1 100644 --- a/config/corescfg.go +++ b/config/corescfg.go @@ -69,9 +69,9 @@ func (cS *CoreSCfg) loadFromJSONCfg(jsnCfg *CoreSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (cS CoreSCfg) AsMapInterface(string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (cS CoreSCfg) AsMapInterface(string) any { + mp := map[string]any{ utils.CapsCfg: cS.Caps, utils.CapsStrategyCfg: cS.CapsStrategy, utils.CapsStatsIntervalCfg: cS.CapsStatsInterval.String(), diff --git a/config/corescfg_test.go b/config/corescfg_test.go index 09d0ffb0f..8a722cb6d 100644 --- a/config/corescfg_test.go +++ b/config/corescfg_test.go @@ -84,7 +84,7 @@ func TestCoreSAsMapInterface(t *testing.T) { "shutdown_timeout": "0" // the interval we sample for caps stats ( 0 to disabled ) }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.CapsCfg: 0, utils.CapsStrategyCfg: utils.MetaBusy, utils.CapsStatsIntervalCfg: "0", diff --git a/config/datadbcfg.go b/config/datadbcfg.go index 0a07a88ed..22a6e6438 100644 --- a/config/datadbcfg.go +++ b/config/datadbcfg.go @@ -288,9 +288,9 @@ func (dbcfg DataDbCfg) Clone() (cln *DataDbCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (dbcfg DataDbCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dbcfg DataDbCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.RedisMaxConnsCfg: dbcfg.Opts.RedisMaxConns, utils.RedisConnectAttemptsCfg: dbcfg.Opts.RedisConnectAttempts, utils.RedisSentinelNameCfg: dbcfg.Opts.RedisSentinel, @@ -306,7 +306,7 @@ func (dbcfg DataDbCfg) AsMapInterface(string) interface{} { utils.RedisClientKeyCfg: dbcfg.Opts.RedisClientKey, utils.RedisCACertificateCfg: dbcfg.Opts.RedisCACertificate, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.DataDbTypeCfg: dbcfg.Type, utils.DataDbHostCfg: dbcfg.Host, utils.DataDbNameCfg: dbcfg.Name, @@ -320,7 +320,7 @@ func (dbcfg DataDbCfg) AsMapInterface(string) interface{} { utils.OptsCfg: opts, } if dbcfg.Items != nil { - items := make(map[string]interface{}) + items := make(map[string]any) for key, item := range dbcfg.Items { items[key] = item.AsMapInterface() } @@ -344,9 +344,9 @@ type ItemOpts struct { APIKey string } -// AsMapInterface returns the config as a map[string]interface{} -func (itm *ItemOpts) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (itm *ItemOpts) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.RemoteCfg: itm.Remote, utils.ReplicateCfg: itm.Replicate, utils.LimitCfg: itm.Limit, diff --git a/config/datadbcfg_test.go b/config/datadbcfg_test.go index ba2aa4522..b1781fb1c 100644 --- a/config/datadbcfg_test.go +++ b/config/datadbcfg_test.go @@ -530,31 +530,31 @@ func TestDataDbCfgAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.DataDbTypeCfg: "*redis", utils.DataDbHostCfg: "127.0.0.1", utils.DataDbPortCfg: 6379, utils.DataDbNameCfg: "10", utils.DataDbUserCfg: "cgrates", utils.DataDbPassCfg: "", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.RedisSentinelNameCfg: "", utils.MongoQueryTimeoutCfg: "10s", }, utils.RemoteConnsCfg: []string{}, utils.ReplicationConnsCfg: []string{}, - utils.ItemsCfg: map[string]interface{}{ - utils.MetaAccounts: map[string]interface{}{utils.RemoteCfg: true, utils.ReplicateCfg: false, utils.APIKeyCfg: "randomVal", utils.RouteIDCfg: "randomVal", utils.LimitCfg: -1, utils.StaticTTLCfg: false}, + utils.ItemsCfg: map[string]any{ + utils.MetaAccounts: map[string]any{utils.RemoteCfg: true, utils.ReplicateCfg: false, utils.APIKeyCfg: "randomVal", utils.RouteIDCfg: "randomVal", utils.LimitCfg: -1, utils.StaticTTLCfg: false}, }, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) } else { - rcv := cgrCfg.dataDbCfg.AsMapInterface("").(map[string]interface{}) - if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]interface{})[utils.MetaAccounts], - rcv[utils.ItemsCfg].(map[string]interface{})[utils.MetaAccounts]) { - t.Errorf("Expected %+v, received %+v", eMap[utils.ItemsCfg].(map[string]interface{})[utils.MetaAccounts], - rcv[utils.ItemsCfg].(map[string]interface{})[utils.MetaAccounts]) + rcv := cgrCfg.dataDbCfg.AsMapInterface("").(map[string]any) + if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]any)[utils.MetaAccounts], + rcv[utils.ItemsCfg].(map[string]any)[utils.MetaAccounts]) { + t.Errorf("Expected %+v, received %+v", eMap[utils.ItemsCfg].(map[string]any)[utils.MetaAccounts], + rcv[utils.ItemsCfg].(map[string]any)[utils.MetaAccounts]) } } } @@ -931,7 +931,7 @@ func TestItemOptsAsMapInterface(t *testing.T) { TTL: 1, } - exp := map[string]interface{}{ + exp := map[string]any{ "limit": 0, "remote": false, "replicate": false, diff --git a/config/diametercfg.go b/config/diametercfg.go index 6d67fb7b4..0a547b7d3 100644 --- a/config/diametercfg.go +++ b/config/diametercfg.go @@ -101,9 +101,9 @@ func (da *DiameterAgentCfg) loadFromJSONCfg(jsnCfg *DiameterAgentJsonCfg, separa return } -// AsMapInterface returns the config as a map[string]interface{} -func (da DiameterAgentCfg) AsMapInterface(separator string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (da DiameterAgentCfg) AsMapInterface(separator string) any { + mp := map[string]any{ utils.EnabledCfg: da.Enabled, utils.ListenNetCfg: da.ListenNet, utils.ListenCfg: da.Listen, @@ -119,7 +119,7 @@ func (da DiameterAgentCfg) AsMapInterface(separator string) interface{} { utils.ForcedDisconnectCfg: da.ForcedDisconnect, } - requestProcessors := make([]map[string]interface{}, len(da.RequestProcessors)) + requestProcessors := make([]map[string]any, len(da.RequestProcessors)) for i, item := range da.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } diff --git a/config/diametercfg_test.go b/config/diametercfg_test.go index 7bc498402..509799628 100644 --- a/config/diametercfg_test.go +++ b/config/diametercfg_test.go @@ -150,7 +150,7 @@ func TestDiameterAgentCfgAsMapInterface(t *testing.T) { ] }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.ASRTemplateCfg: "", utils.ConcurrentRequestsCfg: -1, utils.DictionariesPathCfg: "/usr/share/cgrates/diameter/dict/", @@ -165,20 +165,20 @@ func TestDiameterAgentCfgAsMapInterface(t *testing.T) { utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, utils.MetaInternal, "*conn1"}, utils.SyncedConnReqsCfg: true, utils.VendorIDCfg: 0, - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: utils.CGRateSLwr, utils.TenantCfg: "1", utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{"1"}, utils.TimezoneCfg: utils.EmptyString, - utils.RequestFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{ { utils.PathCfg: "randomPath", utils.TagCfg: "randomPath", }, }, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.ReplyFieldsCfg: []map[string]any{ { utils.PathCfg: "randomPath", utils.TagCfg: "randomPath", @@ -211,7 +211,7 @@ func TestDiameterAgentCfgAsMapInterface1(t *testing.T) { "synced_conn_requests": false, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.ASRTemplateCfg: "", utils.ConcurrentRequestsCfg: -1, utils.DictionariesPathCfg: "/usr/share/cgrates/diameter", @@ -226,7 +226,7 @@ func TestDiameterAgentCfgAsMapInterface1(t *testing.T) { utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.SyncedConnReqsCfg: false, utils.VendorIDCfg: 0, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) diff --git a/config/dispatcherscfg.go b/config/dispatcherscfg.go index 05f97abde..1ddef72fd 100644 --- a/config/dispatcherscfg.go +++ b/config/dispatcherscfg.go @@ -100,12 +100,12 @@ func (dps *DispatcherSCfg) loadFromJSONCfg(jsnCfg *DispatcherSJsonCfg) (err erro return } -// AsMapInterface returns the config as a map[string]interface{} -func (dps DispatcherSCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dps DispatcherSCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaDispatcherSCfg: dps.Opts.Dispatchers, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: dps.Enabled, utils.IndexedSelectsCfg: dps.IndexedSelects, utils.NestedFieldsCfg: dps.NestedFields, diff --git a/config/dispatcherscfg_test.go b/config/dispatcherscfg_test.go index 22498b4c2..e260f9956 100644 --- a/config/dispatcherscfg_test.go +++ b/config/dispatcherscfg_test.go @@ -77,7 +77,7 @@ func TestDispatcherSCfgAsMapInterface(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -86,7 +86,7 @@ func TestDispatcherSCfgAsMapInterface(t *testing.T) { utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, utils.AttributeSConnsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaDispatcherSCfg: []*utils.DynamicBoolOpt{}, }, } @@ -112,7 +112,7 @@ func TestDispatcherSCfgAsMapInterface1(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.StringIndexedFieldsCfg: []string{"*req.prefix"}, @@ -122,7 +122,7 @@ func TestDispatcherSCfgAsMapInterface1(t *testing.T) { utils.NotExistsIndexedFieldsCfg: []string{"*req.prefix"}, utils.NestedFieldsCfg: false, utils.AttributeSConnsCfg: []string{"*internal", "*conn1"}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaDispatcherSCfg: []*utils.DynamicBoolOpt{}, }, } @@ -137,7 +137,7 @@ func TestDispatcherSCfgAsMapInterface2(t *testing.T) { cfgJSONStr := `{ "dispatchers":{}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -146,7 +146,7 @@ func TestDispatcherSCfgAsMapInterface2(t *testing.T) { utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, utils.AttributeSConnsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaDispatcherSCfg: []*utils.DynamicBoolOpt{}, }, } diff --git a/config/dnsagentcfg_test.go b/config/dnsagentcfg_test.go index 85b904453..ba903f63e 100644 --- a/config/dnsagentcfg_test.go +++ b/config/dnsagentcfg_test.go @@ -199,13 +199,13 @@ func TestDNSAgentCfgAsMapInterface(t *testing.T) { "request_processors": [], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:2053", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{"*internal"}, utils.TimezoneCfg: "", - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) @@ -246,21 +246,21 @@ func TestDNSAgentCfgAsMapInterface1(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:2053", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.TimezoneCfg: "UTC", - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "OutboundAUTHDryRun", utils.FiltersCfg: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*dryRun"}, utils.TimezoneCfg: "UTC", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Allow", utils.PathCfg: "*rep.response.Allow", utils.TypeCfg: "*constant", utils.ValueCfg: "1", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated1", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "~*req.MCC;/", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated2", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "Val1"}, diff --git a/config/dnsagntcfg.go b/config/dnsagntcfg.go index 138ebadfb..55498c427 100644 --- a/config/dnsagntcfg.go +++ b/config/dnsagntcfg.go @@ -65,16 +65,16 @@ func (da *DNSAgentCfg) loadFromJSONCfg(jsnCfg *DNSAgentJsonCfg, sep string) (err return } -// AsMapInterface returns the config as a map[string]interface{} -func (da DNSAgentCfg) AsMapInterface(separator string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (da DNSAgentCfg) AsMapInterface(separator string) any { + mp := map[string]any{ utils.EnabledCfg: da.Enabled, utils.ListenCfg: da.Listen, utils.ListenNetCfg: da.ListenNet, utils.TimezoneCfg: da.Timezone, } - requestProcessors := make([]map[string]interface{}, len(da.RequestProcessors)) + requestProcessors := make([]map[string]any, len(da.RequestProcessors)) for i, item := range da.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } diff --git a/config/eescfg.go b/config/eescfg.go index 5858a13ed..9ef8fc0ea 100644 --- a/config/eescfg.go +++ b/config/eescfg.go @@ -120,23 +120,23 @@ func (eeS EEsCfg) Clone() (cln *EEsCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (eeS EEsCfg) AsMapInterface(separator string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (eeS EEsCfg) AsMapInterface(separator string) any { + mp := map[string]any{ utils.EnabledCfg: eeS.Enabled, } if eeS.AttributeSConns != nil { mp[utils.AttributeSConnsCfg] = getInternalJSONConns(eeS.AttributeSConns) } if eeS.Cache != nil { - cache := make(map[string]interface{}, len(eeS.Cache)) + cache := make(map[string]any, len(eeS.Cache)) for key, value := range eeS.Cache { cache[key] = value.AsMapInterface() } mp[utils.CacheCfg] = cache } if eeS.Exporters != nil { - exporters := make([]map[string]interface{}, len(eeS.Exporters)) + exporters := make([]map[string]any, len(eeS.Exporters)) for i, item := range eeS.Exporters { exporters[i] = item.AsMapInterface(separator) } @@ -198,7 +198,7 @@ type EventExporterOpts struct { ConnIDs *[]string RPCConnTimeout *time.Duration RPCReplyTimeout *time.Duration - RPCAPIOpts map[string]interface{} + RPCAPIOpts map[string]any } // EventExporterCfg the config for a Event Exporter @@ -422,7 +422,7 @@ func (eeOpts *EventExporterOpts) loadFromJSONCfg(jsnCfg *EventExporterOptsJson) eeOpts.RPCReplyTimeout = utils.DurationPointer(rpcReplyTimeout) } if jsnCfg.RPCAPIOpts != nil { - eeOpts.RPCAPIOpts = make(map[string]interface{}) + eeOpts.RPCAPIOpts = make(map[string]any) eeOpts.RPCAPIOpts = jsnCfg.RPCAPIOpts } return @@ -735,7 +735,7 @@ func (eeOpts *EventExporterOpts) Clone() *EventExporterOpts { *cln.RPCReplyTimeout = *eeOpts.RPCReplyTimeout } if eeOpts.RPCAPIOpts != nil { - cln.RPCAPIOpts = make(map[string]interface{}) + cln.RPCAPIOpts = make(map[string]any) cln.RPCAPIOpts = eeOpts.RPCAPIOpts } return cln @@ -786,13 +786,13 @@ func (eeC EventExporterCfg) Clone() (cln *EventExporterCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (eeC *EventExporterCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { +// AsMapInterface returns the config as a map[string]any +func (eeC *EventExporterCfg) AsMapInterface(separator string) (initialMP map[string]any) { flgs := eeC.Flags.SliceFlags() if flgs == nil { flgs = []string{} } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.IDCfg: eeC.ID, utils.TypeCfg: eeC.Type, utils.ExportPathCfg: eeC.ExportPath, @@ -812,7 +812,7 @@ func (eeC *EventExporterCfg) AsMapInterface(separator string) (initialMP map[str initialMP[utils.EFsConnsCfg] = getInternalJSONConns(eeC.EFsConns) } if eeC.Fields != nil { - fields := make([]map[string]interface{}, 0, len(eeC.Fields)) + fields := make([]map[string]any, 0, len(eeC.Fields)) for _, fld := range eeC.Fields { fields = append(fields, fld.AsMapInterface(separator)) } @@ -821,8 +821,8 @@ func (eeC *EventExporterCfg) AsMapInterface(separator string) (initialMP map[str return } -func (optsEes *EventExporterOpts) AsMapInterface() map[string]interface{} { - opts := map[string]interface{}{} +func (optsEes *EventExporterOpts) AsMapInterface() map[string]any { + opts := map[string]any{} if optsEes.CSVFieldSeparator != nil { opts[utils.CSVFieldSepOpt] = *optsEes.CSVFieldSeparator } @@ -986,59 +986,59 @@ func (optsEes *EventExporterOpts) AsMapInterface() map[string]interface{} { } type EventExporterOptsJson struct { - CSVFieldSeparator *string `json:"csvFieldSeparator"` - ElsIndex *string `json:"elsIndex"` - ElsIfPrimaryTerm *int `json:"elsIfPrimaryTerm"` - ElsIfSeqNo *int `json:"elsIfSeqNo"` - ElsOpType *string `json:"elsOpType"` - ElsPipeline *string `json:"elsPipeline"` - ElsRouting *string `json:"elsRouting"` - ElsTimeout *string `json:"elsTimeout"` - ElsVersion *int `json:"elsVersion"` - ElsVersionType *string `json:"elsVersionType"` - ElsWaitForActiveShards *string `json:"elsWaitForActiveShards"` - SQLMaxIdleConns *int `json:"sqlMaxIdleConns"` - SQLMaxOpenConns *int `json:"sqlMaxOpenConns"` - SQLConnMaxLifetime *string `json:"sqlConnMaxLifetime"` - MYSQLDSNParams map[string]string `json:"mysqlDSNParams"` - SQLTableName *string `json:"sqlTableName"` - SQLDBName *string `json:"sqlDBName"` - PgSSLMode *string `json:"pgSSLMode"` - KafkaTopic *string `json:"kafkaTopic"` - KafkaTLS *bool `json:"kafkaTLS"` - KafkaCAPath *string `json:"kafkaCAPath"` - KafkaSkipTLSVerify *bool `json:"kafkaSkipTLSVerify"` - AMQPQueueID *string `json:"amqpQueueID"` - AMQPRoutingKey *string `json:"amqpRoutingKey"` - AMQPExchange *string `json:"amqpExchange"` - AMQPExchangeType *string `json:"amqpExchangeType"` - AMQPUsername *string `json:"amqpUsername"` - AMQPPassword *string `json:"amqpPassword"` - AWSRegion *string `json:"awsRegion"` - AWSKey *string `json:"awsKey"` - AWSSecret *string `json:"awsSecret"` - AWSToken *string `json:"awsToken"` - SQSQueueID *string `json:"sqsQueueID"` - S3BucketID *string `json:"s3BucketID"` - S3FolderPath *string `json:"s3FolderPath"` - NATSJetStream *bool `json:"natsJetStream"` - NATSSubject *string `json:"natsSubject"` - NATSJWTFile *string `json:"natsJWTFile"` - NATSSeedFile *string `json:"natsSeedFile"` - NATSCertificateAuthority *string `json:"natsCertificateAuthority"` - NATSClientCertificate *string `json:"natsClientCertificate"` - NATSClientKey *string `json:"natsClientKey"` - NATSJetStreamMaxWait *string `json:"natsJetStreamMaxWait"` - RPCCodec *string `json:"rpcCodec"` - ServiceMethod *string `json:"serviceMethod"` - KeyPath *string `json:"keyPath"` - CertPath *string `json:"certPath"` - CAPath *string `json:"caPath"` - ConnIDs *[]string `json:"connIDs"` - TLS *bool `json:"tls"` - RPCConnTimeout *string `json:"rpcConnTimeout"` - RPCReplyTimeout *string `json:"rpcReplyTimeout"` - RPCAPIOpts map[string]interface{} `json:"rpcAPIOpts"` + CSVFieldSeparator *string `json:"csvFieldSeparator"` + ElsIndex *string `json:"elsIndex"` + ElsIfPrimaryTerm *int `json:"elsIfPrimaryTerm"` + ElsIfSeqNo *int `json:"elsIfSeqNo"` + ElsOpType *string `json:"elsOpType"` + ElsPipeline *string `json:"elsPipeline"` + ElsRouting *string `json:"elsRouting"` + ElsTimeout *string `json:"elsTimeout"` + ElsVersion *int `json:"elsVersion"` + ElsVersionType *string `json:"elsVersionType"` + ElsWaitForActiveShards *string `json:"elsWaitForActiveShards"` + SQLMaxIdleConns *int `json:"sqlMaxIdleConns"` + SQLMaxOpenConns *int `json:"sqlMaxOpenConns"` + SQLConnMaxLifetime *string `json:"sqlConnMaxLifetime"` + MYSQLDSNParams map[string]string `json:"mysqlDSNParams"` + SQLTableName *string `json:"sqlTableName"` + SQLDBName *string `json:"sqlDBName"` + PgSSLMode *string `json:"pgSSLMode"` + KafkaTopic *string `json:"kafkaTopic"` + KafkaTLS *bool `json:"kafkaTLS"` + KafkaCAPath *string `json:"kafkaCAPath"` + KafkaSkipTLSVerify *bool `json:"kafkaSkipTLSVerify"` + AMQPQueueID *string `json:"amqpQueueID"` + AMQPRoutingKey *string `json:"amqpRoutingKey"` + AMQPExchange *string `json:"amqpExchange"` + AMQPExchangeType *string `json:"amqpExchangeType"` + AMQPUsername *string `json:"amqpUsername"` + AMQPPassword *string `json:"amqpPassword"` + AWSRegion *string `json:"awsRegion"` + AWSKey *string `json:"awsKey"` + AWSSecret *string `json:"awsSecret"` + AWSToken *string `json:"awsToken"` + SQSQueueID *string `json:"sqsQueueID"` + S3BucketID *string `json:"s3BucketID"` + S3FolderPath *string `json:"s3FolderPath"` + NATSJetStream *bool `json:"natsJetStream"` + NATSSubject *string `json:"natsSubject"` + NATSJWTFile *string `json:"natsJWTFile"` + NATSSeedFile *string `json:"natsSeedFile"` + NATSCertificateAuthority *string `json:"natsCertificateAuthority"` + NATSClientCertificate *string `json:"natsClientCertificate"` + NATSClientKey *string `json:"natsClientKey"` + NATSJetStreamMaxWait *string `json:"natsJetStreamMaxWait"` + RPCCodec *string `json:"rpcCodec"` + ServiceMethod *string `json:"serviceMethod"` + KeyPath *string `json:"keyPath"` + CertPath *string `json:"certPath"` + CAPath *string `json:"caPath"` + ConnIDs *[]string `json:"connIDs"` + TLS *bool `json:"tls"` + RPCConnTimeout *string `json:"rpcConnTimeout"` + RPCReplyTimeout *string `json:"rpcReplyTimeout"` + RPCAPIOpts map[string]any `json:"rpcAPIOpts"` } // EventExporterJsonCfg is the configuration of a single EventExporter diff --git a/config/eescfg_test.go b/config/eescfg_test.go index aeb954405..18c2ceb9a 100644 --- a/config/eescfg_test.go +++ b/config/eescfg_test.go @@ -635,11 +635,11 @@ func TestEEsCfgAsMapInterface(t *testing.T) { }] } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.AttributeSConnsCfg: []string{utils.MetaInternal, "*conn2"}, - utils.CacheCfg: map[string]interface{}{ - utils.MetaFileCSV: map[string]interface{}{ + utils.CacheCfg: map[string]any{ + utils.MetaFileCSV: map[string]any{ utils.LimitCfg: -2, utils.PrecacheCfg: false, utils.RemoteCfg: false, @@ -648,12 +648,12 @@ func TestEEsCfgAsMapInterface(t *testing.T) { utils.StaticTTLCfg: false, }, }, - utils.ExportersCfg: []map[string]interface{}{ + utils.ExportersCfg: []map[string]any{ { utils.IDCfg: "CSVExporter", utils.TypeCfg: "*fileCSV", utils.ExportPathCfg: "/tmp/testCSV", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.AWSSecret: "test", utils.MYSQLDSNParams: map[string]string{ "allowOldPasswords": "true", @@ -669,7 +669,7 @@ func TestEEsCfgAsMapInterface(t *testing.T) { utils.AttemptsCfg: 1, utils.ConcurrentRequestsCfg: 0, utils.BlockerCfg: false, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: utils.MetaOriginID, utils.PathCfg: "*exp.*originID", @@ -685,20 +685,20 @@ func TestEEsCfgAsMapInterface(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) } else { - rcv := cgrCfg.eesCfg.AsMapInterface(cgrCfg.generalCfg.RSRSep).(map[string]interface{}) - if len(rcv[utils.ExportersCfg].([]map[string]interface{})) != 2 { - t.Errorf("Expected %+v, received %+v", 2, len(rcv[utils.ExportersCfg].([]map[string]interface{}))) - } else if !reflect.DeepEqual(eMap[utils.ExportersCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[0][utils.ValueCfg], - rcv[utils.ExportersCfg].([]map[string]interface{})[1][utils.FieldsCfg].([]map[string]interface{})[0][utils.ValueCfg]) { - t.Errorf("Expected %+v, received %+v", eMap[utils.ExportersCfg].([]map[string]interface{})[0][utils.FieldsCfg].([]map[string]interface{})[0][utils.ValueCfg], - rcv[utils.ExportersCfg].([]map[string]interface{})[1][utils.FieldsCfg].([]map[string]interface{})[0][utils.ValueCfg]) + rcv := cgrCfg.eesCfg.AsMapInterface(cgrCfg.generalCfg.RSRSep).(map[string]any) + if len(rcv[utils.ExportersCfg].([]map[string]any)) != 2 { + t.Errorf("Expected %+v, received %+v", 2, len(rcv[utils.ExportersCfg].([]map[string]any))) + } else if !reflect.DeepEqual(eMap[utils.ExportersCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[0][utils.ValueCfg], + rcv[utils.ExportersCfg].([]map[string]any)[1][utils.FieldsCfg].([]map[string]any)[0][utils.ValueCfg]) { + t.Errorf("Expected %+v, received %+v", eMap[utils.ExportersCfg].([]map[string]any)[0][utils.FieldsCfg].([]map[string]any)[0][utils.ValueCfg], + rcv[utils.ExportersCfg].([]map[string]any)[1][utils.FieldsCfg].([]map[string]any)[0][utils.ValueCfg]) } - rcv[utils.ExportersCfg].([]map[string]interface{})[1][utils.FieldsCfg] = nil - eMap[utils.ExportersCfg].([]map[string]interface{})[0][utils.FieldsCfg] = nil - if !reflect.DeepEqual(rcv[utils.ExportersCfg].([]map[string]interface{})[1], - eMap[utils.ExportersCfg].([]map[string]interface{})[0]) { - t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[utils.ExportersCfg].([]map[string]interface{})[0]), - utils.ToJSON(rcv[utils.ExportersCfg].([]map[string]interface{})[1])) + rcv[utils.ExportersCfg].([]map[string]any)[1][utils.FieldsCfg] = nil + eMap[utils.ExportersCfg].([]map[string]any)[0][utils.FieldsCfg] = nil + if !reflect.DeepEqual(rcv[utils.ExportersCfg].([]map[string]any)[1], + eMap[utils.ExportersCfg].([]map[string]any)[0]) { + t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[utils.ExportersCfg].([]map[string]any)[0]), + utils.ToJSON(rcv[utils.ExportersCfg].([]map[string]any)[1])) } rcv[utils.ExportersCfg] = nil eMap[utils.ExportersCfg] = nil @@ -1369,7 +1369,7 @@ func TestEventExporterOptsClone(t *testing.T) { MYSQLDSNParams: make(map[string]string), KafkaTLS: utils.BoolPointer(false), ConnIDs: utils.SliceStringPointer([]string{"testID"}), - RPCAPIOpts: make(map[string]interface{}), + RPCAPIOpts: make(map[string]any), } exp := &EventExporterOpts{ @@ -1423,7 +1423,7 @@ func TestEventExporterOptsClone(t *testing.T) { MYSQLDSNParams: make(map[string]string), KafkaTLS: utils.BoolPointer(false), ConnIDs: utils.SliceStringPointer([]string{"testID"}), - RPCAPIOpts: make(map[string]interface{}), + RPCAPIOpts: make(map[string]any), } if rcv := eeOpts.Clone(); !reflect.DeepEqual(exp, rcv) { @@ -1484,7 +1484,7 @@ func TestLoadFromJSONCfg(t *testing.T) { RPCReplyTimeout: utils.StringPointer("2s"), KafkaTLS: utils.BoolPointer(false), ConnIDs: utils.SliceStringPointer([]string{"testID"}), - RPCAPIOpts: make(map[string]interface{}), + RPCAPIOpts: make(map[string]any), } exp := &EventExporterOpts{ @@ -1537,7 +1537,7 @@ func TestLoadFromJSONCfg(t *testing.T) { RPCReplyTimeout: utils.DurationPointer(2 * time.Second), KafkaTLS: utils.BoolPointer(false), ConnIDs: utils.SliceStringPointer([]string{"testID"}), - RPCAPIOpts: make(map[string]interface{}), + RPCAPIOpts: make(map[string]any), } if err := eeOpts.loadFromJSONCfg(eeSJson); err != nil { @@ -1697,12 +1697,12 @@ func TestEEsAsMapInterface(t *testing.T) { RPCReplyTimeout: utils.DurationPointer(2 * time.Second), KafkaTLS: utils.BoolPointer(false), ConnIDs: utils.SliceStringPointer([]string{"testID"}), - RPCAPIOpts: make(map[string]interface{}), + RPCAPIOpts: make(map[string]any), }, } - exp := map[string]interface{}{ - "opts": map[string]interface{}{ + exp := map[string]any{ + "opts": map[string]any{ "tls": false, "amqpExchange": "amqp_exchange", "amqpExchangeType": "amqp_exchange_type", @@ -1752,7 +1752,7 @@ func TestEEsAsMapInterface(t *testing.T) { "pgSSLMode": "sslm", "kafkaTLS": false, "connIDs": []string{"testID"}, - "rpcAPIOpts": make(map[string]interface{}), + "rpcAPIOpts": make(map[string]any), }, } diff --git a/config/efscfg.go b/config/efscfg.go index 459095058..3e91bc273 100644 --- a/config/efscfg.go +++ b/config/efscfg.go @@ -64,9 +64,9 @@ func (efsCfg *EFsCfg) loadFromJSONCfg(jsonEFsCfg *EfsJsonCfg) (err error) { return } -// AsMapInterface returns the config of EFsCfg as a map[string]interface{} -func (efsCfg EFsCfg) AsMapInterface(string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config of EFsCfg as a map[string]any +func (efsCfg EFsCfg) AsMapInterface(string) any { + mp := map[string]any{ utils.EnabledCfg: efsCfg.Enabled, utils.FailedPostsDirCfg: efsCfg.FailedPostsDir, utils.PosterAttemptsCfg: efsCfg.PosterAttempts, diff --git a/config/erscfg.go b/config/erscfg.go index a34c21111..eee0e0eea 100644 --- a/config/erscfg.go +++ b/config/erscfg.go @@ -105,9 +105,9 @@ func (erS ERsCfg) Clone() (cln *ERsCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (erS ERsCfg) AsMapInterface(separator string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (erS ERsCfg) AsMapInterface(separator string) any { + mp := map[string]any{ utils.EnabledCfg: erS.Enabled, utils.PartialCacheTTLCfg: "0", } @@ -118,7 +118,7 @@ func (erS ERsCfg) AsMapInterface(separator string) interface{} { mp[utils.SessionSConnsCfg] = getInternalJSONConns(erS.SessionSConns) } if erS.Readers != nil { - readers := make([]map[string]interface{}, len(erS.Readers)) + readers := make([]map[string]any, len(erS.Readers)) for i, item := range erS.Readers { readers[i] = item.AsMapInterface(separator) } @@ -836,9 +836,9 @@ func (er EventReaderCfg) Clone() (cln *EventReaderCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (er *EventReaderCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - opts := map[string]interface{}{} +// AsMapInterface returns the config as a map[string]any +func (er *EventReaderCfg) AsMapInterface(separator string) (initialMP map[string]any) { + opts := map[string]any{} if er.Opts.PartialPath != nil { opts[utils.PartialPathOpt] = *er.Opts.PartialPath @@ -1048,7 +1048,7 @@ func (er *EventReaderCfg) AsMapInterface(separator string) (initialMP map[string opts[utils.NATSJetStreamMaxWaitProcessedCfg] = er.Opts.NATSJetStreamMaxWaitProcessed.String() } - initialMP = map[string]interface{}{ + initialMP = map[string]any{ utils.IDCfg: er.ID, utils.TypeCfg: er.Type, utils.ConcurrentRequestsCfg: er.ConcurrentReqs, @@ -1067,21 +1067,21 @@ func (er *EventReaderCfg) AsMapInterface(separator string) (initialMP map[string } if er.Fields != nil { - fields := make([]map[string]interface{}, len(er.Fields)) + fields := make([]map[string]any, len(er.Fields)) for i, item := range er.Fields { fields[i] = item.AsMapInterface(separator) } initialMP[utils.FieldsCfg] = fields } if er.CacheDumpFields != nil { - cacheDumpFields := make([]map[string]interface{}, len(er.CacheDumpFields)) + cacheDumpFields := make([]map[string]any, len(er.CacheDumpFields)) for i, item := range er.CacheDumpFields { cacheDumpFields[i] = item.AsMapInterface(separator) } initialMP[utils.CacheDumpFieldsCfg] = cacheDumpFields } if er.PartialCommitFields != nil { - parCFields := make([]map[string]interface{}, len(er.PartialCommitFields)) + parCFields := make([]map[string]any, len(er.PartialCommitFields)) for i, item := range er.PartialCommitFields { parCFields[i] = item.AsMapInterface(separator) } diff --git a/config/erscfg_test.go b/config/erscfg_test.go index 24ec4d67b..67f8fee3e 100644 --- a/config/erscfg_test.go +++ b/config/erscfg_test.go @@ -951,10 +951,10 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { ], } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.SessionSConnsCfg: []string{"conn1", "conn3"}, - utils.ReadersCfg: []map[string]interface{}{ + utils.ReadersCfg: []map[string]any{ { utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{}, @@ -964,11 +964,11 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { utils.SourcePathCfg: "/var/spool/cgrates/ers/in", utils.TenantCfg: "", utils.TimezoneCfg: "", - utils.CacheDumpFieldsCfg: []map[string]interface{}{}, - utils.PartialCommitFieldsCfg: []map[string]interface{}{}, + utils.CacheDumpFieldsCfg: []map[string]any{}, + utils.PartialCommitFieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: "*none", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.OriginID", utils.TagCfg: "OriginID", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.3"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.RequestType", utils.TagCfg: "RequestType", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.4"}, @@ -981,7 +981,7 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.AnswerTime", utils.TagCfg: "AnswerTime", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.12"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.Usage", utils.TagCfg: "Usage", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.13"}, }, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.CSVFieldSepOpt: ",", utils.HeaderDefineCharOpt: ":", utils.CSVRowLengthOpt: 0, @@ -992,11 +992,11 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { }, }, { - utils.CacheDumpFieldsCfg: []map[string]interface{}{}, - utils.PartialCommitFieldsCfg: []map[string]interface{}{}, + utils.CacheDumpFieldsCfg: []map[string]any{}, + utils.PartialCommitFieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: "*fileCSV", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.OriginID", utils.TagCfg: "OriginID", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.3"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.RequestType", utils.TagCfg: "RequestType", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.4"}, @@ -1017,7 +1017,7 @@ func TestERsCfgAsMapInterfaceCase1(t *testing.T) { utils.SourcePathCfg: "/tmp/ers/in", utils.TenantCfg: "~*req.Destination1", utils.TimezoneCfg: "", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.CSVFieldSepOpt: ",", utils.HeaderDefineCharOpt: ":", utils.CSVRowLengthOpt: 0, @@ -1070,10 +1070,10 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { ], } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.SessionSConnsCfg: []string{"conn1", "conn3"}, - utils.ReadersCfg: []map[string]interface{}{ + utils.ReadersCfg: []map[string]any{ { utils.FiltersCfg: []string{}, utils.FlagsCfg: []string{}, @@ -1083,11 +1083,11 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { utils.SourcePathCfg: "/var/spool/cgrates/ers/in", utils.TenantCfg: "", utils.TimezoneCfg: "", - utils.CacheDumpFieldsCfg: []map[string]interface{}{}, - utils.PartialCommitFieldsCfg: []map[string]interface{}{}, + utils.CacheDumpFieldsCfg: []map[string]any{}, + utils.PartialCommitFieldsCfg: []map[string]any{}, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: "*none", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.OriginID", utils.TagCfg: "OriginID", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.3"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.RequestType", utils.TagCfg: "RequestType", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.4"}, @@ -1100,7 +1100,7 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.AnswerTime", utils.TagCfg: "AnswerTime", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.12"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.Usage", utils.TagCfg: "Usage", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.13"}, }, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.CSVFieldSepOpt: ",", utils.HeaderDefineCharOpt: ":", utils.CSVRowLengthOpt: 0, @@ -1111,10 +1111,10 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { }, }, { - utils.CacheDumpFieldsCfg: []map[string]interface{}{ + utils.CacheDumpFieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, }, - utils.PartialCommitFieldsCfg: []map[string]interface{}{ + utils.PartialCommitFieldsCfg: []map[string]any{ { "mandatory": true, "path": "*cgreq.ToR", @@ -1125,7 +1125,7 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { }, utils.ConcurrentRequestsCfg: 1024, utils.TypeCfg: "*fileCSV", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.ToR", utils.TagCfg: "ToR", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.2"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.OriginID", utils.TagCfg: "OriginID", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.3"}, {utils.MandatoryCfg: true, utils.PathCfg: "*cgreq.RequestType", utils.TagCfg: "RequestType", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.4"}, @@ -1146,7 +1146,7 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) { utils.SourcePathCfg: "/tmp/ers/in", utils.TenantCfg: "~*req.Destination1", utils.TimezoneCfg: "", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.KafkaGroupID: "test", utils.CSVFieldSepOpt: ",", utils.HeaderDefineCharOpt: ":", @@ -2191,8 +2191,8 @@ func TestERsAsMapInterface(t *testing.T) { }, } - exp := map[string]interface{}{ - "opts": map[string]interface{}{ + exp := map[string]any{ + "opts": map[string]any{ "amqpConsumerTag": "consumer_tag", "amqpExchange": "exchange", "amqpExchangeProcessed": "exchange_processed", diff --git a/config/fctemplate.go b/config/fctemplate.go index 9bd8474af..ffea2e328 100644 --- a/config/fctemplate.go +++ b/config/fctemplate.go @@ -208,11 +208,11 @@ func (sCft FCTemplates) Load(ctx *context.Context, jsnCfg ConfigDB, cfg *CGRConf return } -// AsMapInterface returns the config as a map[string]interface{} -func (sCft FCTemplates) AsMapInterface(separator string) interface{} { - mp := make(map[string][]map[string]interface{}) +// AsMapInterface returns the config as a map[string]any +func (sCft FCTemplates) AsMapInterface(separator string) any { + mp := make(map[string][]map[string]any) for key, value := range sCft { - mp[key] = make([]map[string]interface{}, len(value)) + mp[key] = make([]map[string]any, len(value)) for i, item := range value { mp[key][i] = item.AsMapInterface(separator) } @@ -236,9 +236,9 @@ func (sCft FCTemplates) Clone() (cln FCTemplates) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (fc *FCTemplate) AsMapInterface(separator string) (mp map[string]interface{}) { - mp = make(map[string]interface{}) +// AsMapInterface returns the config as a map[string]any +func (fc *FCTemplate) AsMapInterface(separator string) (mp map[string]any) { + mp = make(map[string]any) if fc.Tag != utils.EmptyString { mp[utils.TagCfg] = fc.Tag } diff --git a/config/fctemplate_test.go b/config/fctemplate_test.go index 08776828c..f2dc8c794 100644 --- a/config/fctemplate_test.go +++ b/config/fctemplate_test.go @@ -389,8 +389,8 @@ func TestFCTemplateAsMapInterface(t *testing.T) { ], } }` - eMap := map[string]interface{}{ - "custom_template": []map[string]interface{}{ + eMap := map[string]any{ + "custom_template": []map[string]any{ { utils.TagCfg: "Tenant", utils.TypeCfg: "*composed", @@ -415,7 +415,7 @@ func TestFCTemplateAsMapInterface(t *testing.T) { } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) - } else if rcv := cgrCfg.templates.AsMapInterface(cgrCfg.generalCfg.RSRSep).(map[string][]map[string]interface{}); !reflect.DeepEqual(eMap["custom_template"], rcv["custom_template"]) { + } else if rcv := cgrCfg.templates.AsMapInterface(cgrCfg.generalCfg.RSRSep).(map[string][]map[string]any); !reflect.DeepEqual(eMap["custom_template"], rcv["custom_template"]) { t.Errorf("Expected %+v \n, recieved %+v", utils.ToJSON(eMap["custom_template"]), utils.ToJSON(rcv["custom_template"])) } } @@ -447,8 +447,8 @@ func TestFCTemplateAsMapInterface1(t *testing.T) { ], } }` - eMap := map[string]interface{}{ - utils.MetaErr: []map[string]interface{}{ + eMap := map[string]any{ + utils.MetaErr: []map[string]any{ {utils.TagCfg: "SessionId", utils.PathCfg: "*rep.Session-Id", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.Session-Id", utils.MandatoryCfg: true}, {utils.TagCfg: "OriginHost", utils.PathCfg: "*rep.Origin-Host", utils.TypeCfg: "*variable", @@ -456,7 +456,7 @@ func TestFCTemplateAsMapInterface1(t *testing.T) { {utils.TagCfg: "OriginRealm", utils.PathCfg: "*rep.Origin-Realm", utils.TypeCfg: "*variable", utils.ValueCfg: "~*vars.OriginRealm", utils.MandatoryCfg: true}, }, - utils.MetaASR: []map[string]interface{}{ + utils.MetaASR: []map[string]any{ {utils.TagCfg: "SessionId", utils.PathCfg: "*diamreq.Session-Id", utils.TypeCfg: "*variable", utils.ValueCfg: "~*req.Session-Id", utils.MandatoryCfg: true}, {utils.TagCfg: "OriginHost", utils.PathCfg: "*diamreq.Origin-Host", utils.TypeCfg: "*variable", @@ -474,7 +474,7 @@ func TestFCTemplateAsMapInterface1(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) } else { - rcv := cgrCfg.templates.AsMapInterface(cgrCfg.generalCfg.RSRSep).(map[string][]map[string]interface{}) + rcv := cgrCfg.templates.AsMapInterface(cgrCfg.generalCfg.RSRSep).(map[string][]map[string]any) if !reflect.DeepEqual(eMap[utils.MetaErr], rcv[utils.MetaErr]) { t.Errorf("Expected %+v \n, recieved %+v", utils.ToJSON(eMap[utils.MetaErr]), utils.ToJSON(rcv[utils.MetaErr])) } else if !reflect.DeepEqual(eMap[utils.MetaASR], rcv[utils.MetaASR]) { diff --git a/config/filterscfg.go b/config/filterscfg.go index 927733406..fdbefcdb6 100644 --- a/config/filterscfg.go +++ b/config/filterscfg.go @@ -55,9 +55,9 @@ func (fSCfg *FilterSCfg) loadFromJSONCfg(jsnCfg *FilterSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (fSCfg FilterSCfg) AsMapInterface(string) interface{} { - mp := make(map[string]interface{}) +// AsMapInterface returns the config as a map[string]any +func (fSCfg FilterSCfg) AsMapInterface(string) any { + mp := make(map[string]any) if fSCfg.StatSConns != nil { mp[utils.StatSConnsCfg] = getInternalJSONConns(fSCfg.StatSConns) } diff --git a/config/filterscfg_test.go b/config/filterscfg_test.go index b967f7ca1..3b1bbcee9 100644 --- a/config/filterscfg_test.go +++ b/config/filterscfg_test.go @@ -55,7 +55,7 @@ func TestFilterSCfgAsMapInterface(t *testing.T) { "accounts_conns": ["*internal:*apier", "*conn1"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.StatSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.ResourceSConnsCfg: []string{utils.MetaInternal, "*conn1"}, utils.AccountSConnsCfg: []string{utils.MetaInternal, "*conn1"}, @@ -71,7 +71,7 @@ func TestFilterSCfgAsMapInterface2(t *testing.T) { cfgJSONStr := `{ "filters": {} }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.StatSConnsCfg: []string{}, utils.ResourceSConnsCfg: []string{}, utils.AccountSConnsCfg: []string{}, diff --git a/config/fsagentcfg.go b/config/fsagentcfg.go index 5ba4457b7..2868663dc 100644 --- a/config/fsagentcfg.go +++ b/config/fsagentcfg.go @@ -60,9 +60,9 @@ func (fs *FsConnCfg) loadFromJSONCfg(jsnCfg *FsConnJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (fs FsConnCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (fs FsConnCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.AddressCfg: fs.Address, utils.Password: fs.Password, utils.ReconnectsCfg: fs.Reconnects, @@ -152,9 +152,9 @@ func (fscfg *FsAgentCfg) loadFromJSONCfg(jsnCfg *FreeswitchAgentJsonCfg) error { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (fscfg FsAgentCfg) AsMapInterface(separator string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (fscfg FsAgentCfg) AsMapInterface(separator string) any { + mp := map[string]any{ utils.EnabledCfg: fscfg.Enabled, utils.SubscribeParkCfg: fscfg.SubscribePark, utils.CreateCdrCfg: fscfg.CreateCdr, @@ -174,7 +174,7 @@ func (fscfg FsAgentCfg) AsMapInterface(separator string) interface{} { mp[utils.MaxWaitConnectionCfg] = fscfg.MaxWaitConnection.String() } if fscfg.EventSocketConns != nil { - eventSocketConns := make([]map[string]interface{}, len(fscfg.EventSocketConns)) + eventSocketConns := make([]map[string]any, len(fscfg.EventSocketConns)) for key, item := range fscfg.EventSocketConns { eventSocketConns[key] = item.AsMapInterface() } diff --git a/config/fwvdp.go b/config/fwvdp.go index 76fde0436..4ded75137 100644 --- a/config/fwvdp.go +++ b/config/fwvdp.go @@ -48,7 +48,7 @@ func (fP *FWVProvider) String() string { } // FieldAsInterface is part of engine.utils.DataProvider interface -func (fP *FWVProvider) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (fP *FWVProvider) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) == 0 { return } @@ -83,7 +83,7 @@ func (fP *FWVProvider) FieldAsInterface(fldPath []string) (data interface{}, err // FieldAsString is part of engine.utils.DataProvider interface func (fP *FWVProvider) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = fP.FieldAsInterface(fldPath) if err != nil { return diff --git a/config/fwvdp_test.go b/config/fwvdp_test.go index 4753d9399..9d216889e 100644 --- a/config/fwvdp_test.go +++ b/config/fwvdp_test.go @@ -71,7 +71,7 @@ func TestFieldAsInterfaceFWV(t *testing.T) { func TestFieldAsInterfaceFWVEmptyPath(t *testing.T) { dp := new(FWVProvider) - var expected interface{} + var expected any if received, err := dp.FieldAsInterface([]string{}); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, received) { diff --git a/config/generalcfg.go b/config/generalcfg.go index 4837ce952..6db5f76f5 100644 --- a/config/generalcfg.go +++ b/config/generalcfg.go @@ -167,12 +167,12 @@ func (gencfg *GeneralCfg) loadFromJSONCfg(jsnGeneralCfg *GeneralJsonCfg) (err er return } -// AsMapInterface returns the config as a map[string]interface{} -func (gencfg GeneralCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (gencfg GeneralCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaExporterIDs: gencfg.Opts.ExporterIDs, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.NodeIDCfg: gencfg.NodeID, utils.RoundingDecimalsCfg: gencfg.RoundingDecimals, utils.DBDataEncodingCfg: utils.Meta + gencfg.DBDataEncoding, diff --git a/config/generalcfg_test.go b/config/generalcfg_test.go index 10c8c2bbb..b5df759b9 100644 --- a/config/generalcfg_test.go +++ b/config/generalcfg_test.go @@ -130,7 +130,7 @@ func TestGeneralCfgAsMapInterface(t *testing.T) { "max_parallel_conns": 100, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.NodeIDCfg: "cgrates", utils.RoundingDecimalsCfg: 5, utils.DBDataEncodingCfg: "*msgpack", @@ -154,7 +154,7 @@ func TestGeneralCfgAsMapInterface(t *testing.T) { utils.DecimalMinScaleCfg: 0, utils.DecimalPrecisionCfg: 0, utils.DecimalRoundingModeCfg: "*toNearestEven", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaExporterIDs: []*utils.DynamicStringSliceOpt{}, }, } @@ -176,7 +176,7 @@ func TestGeneralCfgAsMapInterface1(t *testing.T) { "max_call_duration": "0" } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.NodeIDCfg: "ENGINE1", utils.RoundingDecimalsCfg: 5, utils.DBDataEncodingCfg: "*msgpack", @@ -200,7 +200,7 @@ func TestGeneralCfgAsMapInterface1(t *testing.T) { utils.DecimalMinScaleCfg: 0, utils.DecimalPrecisionCfg: 0, utils.DecimalRoundingModeCfg: "*toNearestEven", - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaExporterIDs: []*utils.DynamicStringSliceOpt{}, }, } diff --git a/config/httpagntcfg.go b/config/httpagntcfg.go index c17e8e62d..df1e678f5 100644 --- a/config/httpagntcfg.go +++ b/config/httpagntcfg.go @@ -62,9 +62,9 @@ func (hcfgs *HTTPAgentCfgs) loadFromJSONCfg(jsnHTTPAgntCfg *[]*HttpAgentJsonCfg, return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (hcfgs HTTPAgentCfgs) AsMapInterface(separator string) interface{} { - mp := make([]map[string]interface{}, len(hcfgs)) +// AsMapInterface returns the config as a map[string]any +func (hcfgs HTTPAgentCfgs) AsMapInterface(separator string) any { + mp := make([]map[string]any, len(hcfgs)) for i, item := range hcfgs { mp[i] = item.AsMapInterface(separator) } @@ -124,9 +124,9 @@ func (ha *HTTPAgentCfg) loadFromJSONCfg(jsnCfg *HttpAgentJsonCfg, separator stri return } -// AsMapInterface returns the config as a map[string]interface{} -func (ha *HTTPAgentCfg) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ha *HTTPAgentCfg) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.IDCfg: ha.ID, utils.URLCfg: ha.URL, utils.RequestPayloadCfg: ha.RequestPayload, @@ -145,7 +145,7 @@ func (ha *HTTPAgentCfg) AsMapInterface(separator string) (initialMP map[string]i } initialMP[utils.SessionSConnsCfg] = sessionSConns } - requestProcessors := make([]map[string]interface{}, len(ha.RequestProcessors)) + requestProcessors := make([]map[string]any, len(ha.RequestProcessors)) for i, item := range ha.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } diff --git a/config/httpagntcfg_test.go b/config/httpagntcfg_test.go index fdc4c562e..929e3b393 100644 --- a/config/httpagntcfg_test.go +++ b/config/httpagntcfg_test.go @@ -435,22 +435,22 @@ func TestHttpAgentCfgAsMapInterface(t *testing.T) { }, ], }` - eMap := []map[string]interface{}{ + eMap := []map[string]any{ { utils.IDCfg: "conecto1", utils.URLCfg: "/conecto", utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*localhost", "*internal"}, utils.RequestPayloadCfg: "*url", utils.ReplyPayloadCfg: "*xml", - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "OutboundAUTHDryRun", utils.FiltersCfg: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*dryRun"}, utils.TimezoneCfg: "", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Allow", utils.PathCfg: "*rep.response.Allow", utils.TypeCfg: "*constant", utils.ValueCfg: "1", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated1", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "~*req.MCC;/", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated2", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "Val1"}, diff --git a/config/httpcfg.go b/config/httpcfg.go index 7a57cb44e..979ce8b8f 100644 --- a/config/httpcfg.go +++ b/config/httpcfg.go @@ -161,9 +161,9 @@ func (httpcfg *HTTPCfg) loadFromJSONCfg(jsnHTTPCfg *HTTPJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (httpcfg HTTPCfg) AsMapInterface(string) interface{} { - clientOpts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (httpcfg HTTPCfg) AsMapInterface(string) any { + clientOpts := map[string]any{ utils.HTTPClientSkipTLSVerificationCfg: false, utils.HTTPClientTLSHandshakeTimeoutCfg: httpcfg.ClientOpts.TLSHandshakeTimeout.String(), utils.HTTPClientDisableKeepAlivesCfg: httpcfg.ClientOpts.DisableKeepAlives, @@ -182,7 +182,7 @@ func (httpcfg HTTPCfg) AsMapInterface(string) interface{} { if httpcfg.ClientOpts.TLSClientConfig != nil { clientOpts[utils.HTTPClientSkipTLSVerificationCfg] = httpcfg.ClientOpts.TLSClientConfig.InsecureSkipVerify } - return map[string]interface{}{ + return map[string]any{ utils.HTTPJsonRPCURLCfg: httpcfg.JsonRPCURL, utils.RegistrarSURLCfg: httpcfg.RegistrarSURL, utils.PrometheusURLCfg: httpcfg.PrometheusURL, diff --git a/config/httpcfg_test.go b/config/httpcfg_test.go index 9a61a5073..b326d988c 100644 --- a/config/httpcfg_test.go +++ b/config/httpcfg_test.go @@ -92,7 +92,7 @@ func TestHTTPCfgAsMapInterface(t *testing.T) { cfgJSONStr := `{ "http": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.HTTPJsonRPCURLCfg: "/jsonrpc", utils.RegistrarSURLCfg: "/registrar", utils.PrometheusURLCfg: "/prometheus", @@ -101,7 +101,7 @@ func TestHTTPCfgAsMapInterface(t *testing.T) { utils.HTTPCDRsURLCfg: "/cdr_http", utils.HTTPUseBasicAuthCfg: false, utils.HTTPAuthUsersCfg: map[string]string{}, - utils.HTTPClientOptsCfg: map[string]interface{}{ + utils.HTTPClientOptsCfg: map[string]any{ utils.HTTPClientSkipTLSVerificationCfg: false, utils.HTTPClientTLSHandshakeTimeoutCfg: "10s", utils.HTTPClientDisableKeepAlivesCfg: false, @@ -134,7 +134,7 @@ func TestHTTPCfgAsMapInterface1(t *testing.T) { "auth_users": {"user1": "authenticated", "user2": "authenticated"}, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.HTTPJsonRPCURLCfg: "/rpc", utils.RegistrarSURLCfg: "/registrar", utils.PrometheusURLCfg: "/prometheus", @@ -146,7 +146,7 @@ func TestHTTPCfgAsMapInterface1(t *testing.T) { "user1": "authenticated", "user2": "authenticated", }, - utils.HTTPClientOptsCfg: map[string]interface{}{ + utils.HTTPClientOptsCfg: map[string]any{ utils.HTTPClientSkipTLSVerificationCfg: false, utils.HTTPClientTLSHandshakeTimeoutCfg: "10s", utils.HTTPClientDisableKeepAlivesCfg: false, diff --git a/config/kamagentcfg.go b/config/kamagentcfg.go index 5788ab62f..fbc0dfc64 100644 --- a/config/kamagentcfg.go +++ b/config/kamagentcfg.go @@ -54,9 +54,9 @@ func (kamCfg *KamConnCfg) loadFromJSONCfg(jsnCfg *KamConnJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (kamCfg KamConnCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (kamCfg KamConnCfg) AsMapInterface() map[string]any { + return map[string]any{ utils.AliasCfg: kamCfg.Alias, utils.AddressCfg: kamCfg.Address, utils.ReconnectsCfg: kamCfg.Reconnects, @@ -118,15 +118,15 @@ func (ka *KamAgentCfg) loadFromJSONCfg(jsnCfg *KamAgentJsonCfg) error { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (ka KamAgentCfg) AsMapInterface(string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ka KamAgentCfg) AsMapInterface(string) any { + mp := map[string]any{ utils.EnabledCfg: ka.Enabled, utils.CreateCdrCfg: ka.CreateCdr, utils.TimezoneCfg: ka.Timezone, } if ka.EvapiConns != nil { - evapiConns := make([]map[string]interface{}, len(ka.EvapiConns)) + evapiConns := make([]map[string]any, len(ka.EvapiConns)) for i, item := range ka.EvapiConns { evapiConns[i] = item.AsMapInterface() } diff --git a/config/kamagentcfg_test.go b/config/kamagentcfg_test.go index 2eef14b01..737d03ca9 100644 --- a/config/kamagentcfg_test.go +++ b/config/kamagentcfg_test.go @@ -98,12 +98,12 @@ func TestKamAgentCfgAsMapInterface(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*conn1", "*conn2", utils.MetaInternal}, utils.CreateCdrCfg: true, utils.TimezoneCfg: "UTC", - utils.EvapiConnsCfg: []map[string]interface{}{ + utils.EvapiConnsCfg: []map[string]any{ { utils.AddressCfg: "127.0.0.1:8448", utils.ReconnectsCfg: 5, @@ -122,12 +122,12 @@ func TestKamAgentCfgAsMapInterface1(t *testing.T) { cfgJSONStr := `{ "kamailio_agent": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.CreateCdrCfg: false, utils.TimezoneCfg: "", - utils.EvapiConnsCfg: []map[string]interface{}{ + utils.EvapiConnsCfg: []map[string]any{ { utils.AddressCfg: "127.0.0.1:8448", utils.ReconnectsCfg: 5, diff --git a/config/listencfg.go b/config/listencfg.go index c463646d7..c29c12c54 100644 --- a/config/listencfg.go +++ b/config/listencfg.go @@ -68,9 +68,9 @@ func (lstcfg *ListenCfg) loadFromJSONCfg(jsnListenCfg *ListenJsonCfg) (err error return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (lstcfg ListenCfg) AsMapInterface(string) interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (lstcfg ListenCfg) AsMapInterface(string) any { + return map[string]any{ utils.RPCJSONListenCfg: lstcfg.RPCJSONListen, utils.RPCGOBListenCfg: lstcfg.RPCGOBListen, utils.HTTPListenCfg: lstcfg.HTTPListen, diff --git a/config/listencfg_test.go b/config/listencfg_test.go index 7b66a063a..fb741dc93 100644 --- a/config/listencfg_test.go +++ b/config/listencfg_test.go @@ -57,7 +57,7 @@ func TestListenCfgAsMapInterface(t *testing.T) { cfgJSONStr := `{ "listen": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.RPCJSONListenCfg: "127.0.0.1:2012", utils.RPCGOBListenCfg: "127.0.0.1:2013", utils.HTTPListenCfg: "127.0.0.1:2080", @@ -82,7 +82,7 @@ func TestListenCfgAsMapInterface1(t *testing.T) { "http_tls": "127.0.0.1:2288", } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.RPCJSONListenCfg: "127.0.0.1:2010", utils.RPCGOBListenCfg: "127.0.0.1:2018", utils.HTTPListenCfg: "127.0.0.1:2080", diff --git a/config/loadercgrcfg.go b/config/loadercgrcfg.go index 6a2459211..79ecfbd7d 100644 --- a/config/loadercgrcfg.go +++ b/config/loadercgrcfg.go @@ -78,9 +78,9 @@ func (ld *LoaderCgrCfg) loadFromJSONCfg(jsnCfg *LoaderCfgJson) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (ld LoaderCgrCfg) AsMapInterface(string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ld LoaderCgrCfg) AsMapInterface(string) any { + mp := map[string]any{ utils.TpIDCfg: ld.TpID, utils.DataPathCfg: ld.DataPath, utils.DisableReverseCfg: ld.DisableReverse, diff --git a/config/loadercgrcfg_test.go b/config/loadercgrcfg_test.go index b6a846d31..67613052b 100644 --- a/config/loadercgrcfg_test.go +++ b/config/loadercgrcfg_test.go @@ -71,7 +71,7 @@ func TestLoaderCgrCfgAsMapInterface(t *testing.T) { "gapi_token": ".gapi/token.json" }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.TpIDCfg: "", utils.DataPathCfg: "./", utils.DisableReverseCfg: false, diff --git a/config/loaderscfg.go b/config/loaderscfg.go index ea94714f9..fee073188 100644 --- a/config/loaderscfg.go +++ b/config/loaderscfg.go @@ -61,9 +61,9 @@ func (ldrs *LoaderSCfgs) Load(ctx *context.Context, jsnCfg ConfigDB, cfg *CGRCon return } -// AsMapInterface returns the config as a map[string]interface{} -func (ldrs LoaderSCfgs) AsMapInterface(separator string) interface{} { - mp := make([]map[string]interface{}, len(ldrs)) +// AsMapInterface returns the config as a map[string]any +func (ldrs LoaderSCfgs) AsMapInterface(separator string) any { + mp := make([]map[string]any, len(ldrs)) for i, item := range ldrs { mp[i] = item.AsMapInterface(separator) } @@ -301,15 +301,15 @@ func (l LoaderSCfg) Clone() (cln *LoaderSCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (lData LoaderDataType) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (lData LoaderDataType) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.TypeCf: lData.Type, utils.FilenameCfg: lData.Filename, utils.FlagsCfg: lData.Flags.SliceFlags(), } - fields := make([]map[string]interface{}, len(lData.Fields)) + fields := make([]map[string]any, len(lData.Fields)) for i, item := range lData.Fields { fields[i] = item.AsMapInterface(separator) } @@ -317,9 +317,9 @@ func (lData LoaderDataType) AsMapInterface(separator string) (initialMP map[stri return } -// AsMapInterface returns the config as a map[string]interface{} -func (l LoaderSCfg) AsMapInterface(separator string) (mp map[string]interface{}) { - mp = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (l LoaderSCfg) AsMapInterface(separator string) (mp map[string]any) { + mp = map[string]any{ utils.IDCfg: l.ID, utils.TenantCfg: l.Tenant, utils.EnabledCfg: l.Enabled, @@ -329,7 +329,7 @@ func (l LoaderSCfg) AsMapInterface(separator string) (mp map[string]interface{}) utils.TpOutDirCfg: l.TpOutDir, utils.RunDelayCfg: "0", utils.ActionCfg: l.Action, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaCache: l.Opts.Cache, utils.MetaWithIndex: l.Opts.WithIndex, utils.MetaForceLock: l.Opts.ForceLock, @@ -337,7 +337,7 @@ func (l LoaderSCfg) AsMapInterface(separator string) (mp map[string]interface{}) }, } if l.Data != nil { - data := make([]map[string]interface{}, len(l.Data)) + data := make([]map[string]any, len(l.Data)) for i, item := range l.Data { data[i] = item.AsMapInterface(separator) } @@ -350,7 +350,7 @@ func (l LoaderSCfg) AsMapInterface(separator string) (mp map[string]interface{}) mp[utils.CachesConnsCfg] = getInternalJSONConns(l.CacheSConns) } if l.Cache != nil { - cache := make(map[string]interface{}, len(l.Cache)) + cache := make(map[string]any, len(l.Cache)) for key, value := range l.Cache { cache[key] = value.AsMapInterface() } diff --git a/config/loaderscfg_test.go b/config/loaderscfg_test.go index 5211dd4bb..652c6c1ea 100644 --- a/config/loaderscfg_test.go +++ b/config/loaderscfg_test.go @@ -1132,7 +1132,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { ], }` var flags []string - eMap := []map[string]interface{}{ + eMap := []map[string]any{ { utils.IDCfg: "*default", utils.EnabledCfg: false, @@ -1144,18 +1144,18 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TpInDirCfg: "/var/spool/cgrates/loader/in", utils.TpOutDirCfg: "/var/spool/cgrates/loader/out", utils.ActionCfg: utils.MetaStore, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaCache: "", utils.MetaStopOnError: false, utils.MetaForceLock: false, utils.MetaWithIndex: true, }, - utils.DataCfg: []map[string]interface{}{ + utils.DataCfg: []map[string]any{ { utils.TypeCfg: "*filters", utils.FilenameCfg: "Filters.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1195,7 +1195,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*attributes", utils.FilenameCfg: "Attributes.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "TenantID", utils.PathCfg: "Tenant", @@ -1215,7 +1215,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*resources", utils.FilenameCfg: "Resources.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1284,7 +1284,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*stats", utils.FilenameCfg: "Stats.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1372,7 +1372,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*thresholds", utils.FilenameCfg: "Thresholds.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1441,7 +1441,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*routes", utils.FilenameCfg: "Routes.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1547,7 +1547,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*chargers", utils.FilenameCfg: "Chargers.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1598,7 +1598,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*dispatchers", utils.FilenameCfg: "DispatcherProfiles.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1674,7 +1674,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*dispatcher_hosts", utils.FilenameCfg: "DispatcherHosts.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1761,7 +1761,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*rate_profiles", utils.FilenameCfg: "Rates.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1876,7 +1876,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*action_profiles", utils.FilenameCfg: "Actions.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -1970,7 +1970,7 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { utils.TypeCfg: "*accounts", utils.FilenameCfg: "Accounts.csv", utils.FlagsCfg: flags, - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "Tenant", utils.PathCfg: "Tenant", @@ -2088,19 +2088,19 @@ func TestLoaderCfgAsMapInterfaceCase1(t *testing.T) { }, }, }, - utils.CacheCfg: map[string]interface{}{ - utils.MetaFilters: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaAttributes: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaResources: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaStats: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaThresholds: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaRoutes: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaChargers: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaDispatchers: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaDispatcherHosts: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaRateProfiles: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaActionProfiles: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, - utils.MetaAccounts: map[string]interface{}{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.CacheCfg: map[string]any{ + utils.MetaFilters: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaAttributes: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaResources: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaStats: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaThresholds: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaRoutes: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaChargers: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaDispatchers: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaDispatcherHosts: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaRateProfiles: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaActionProfiles: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, + utils.MetaAccounts: map[string]any{utils.LimitCfg: -1, utils.TTLCfg: "5s", utils.PrecacheCfg: false, utils.RemoteCfg: false, utils.ReplicateCfg: false, utils.StaticTTLCfg: false}, }, }, } @@ -2142,7 +2142,7 @@ func TestLoaderCfgAsMapInterfaceCase2(t *testing.T) { }, ], }` - eMap := []map[string]interface{}{ + eMap := []map[string]any{ { utils.IDCfg: "*default", utils.EnabledCfg: false, @@ -2153,11 +2153,11 @@ func TestLoaderCfgAsMapInterfaceCase2(t *testing.T) { utils.FieldSepCfg: ",", utils.TpInDirCfg: "/var/spool/cgrates/loader/in", utils.TpOutDirCfg: "/var/spool/cgrates/loader/out", - utils.DataCfg: []map[string]interface{}{ + utils.DataCfg: []map[string]any{ { utils.TypeCfg: "*attributes", utils.FilenameCfg: "Attributes.csv", - utils.FieldsCfg: []map[string]interface{}{ + utils.FieldsCfg: []map[string]any{ { utils.TagCfg: "TenantID", utils.PathCfg: "Tenant", @@ -2178,7 +2178,7 @@ func TestLoaderCfgAsMapInterfaceCase2(t *testing.T) { } if jsonCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) - } else if rcv := jsonCfg.loaderCfg.AsMapInterface(jsonCfg.generalCfg.RSRSep).([]map[string]interface{}); !reflect.DeepEqual(rcv[0][utils.Tenant], eMap[0][utils.Tenant]) { + } else if rcv := jsonCfg.loaderCfg.AsMapInterface(jsonCfg.generalCfg.RSRSep).([]map[string]any); !reflect.DeepEqual(rcv[0][utils.Tenant], eMap[0][utils.Tenant]) { t.Errorf("Expected %+v, received %+v", rcv[0][utils.Tenant], eMap[0][utils.Tenant]) } } diff --git a/config/loggercfg.go b/config/loggercfg.go index c445f269c..2b202eb3c 100644 --- a/config/loggercfg.go +++ b/config/loggercfg.go @@ -59,9 +59,9 @@ func (loggCfg *LoggerCfg) loadFromJSONCfg(jsnLoggerCfg *LoggerJsonCfg) (err erro return } -// AsMapInterface returns the config of logger as a map[string]interface{} -func (loggCfg *LoggerCfg) AsMapInterface(string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config of logger as a map[string]any +func (loggCfg *LoggerCfg) AsMapInterface(string) any { + mp := map[string]any{ utils.TypeCfg: loggCfg.Type, utils.LevelCfg: loggCfg.Level, utils.OptsCfg: loggCfg.Opts.AsMapInterface(), @@ -114,9 +114,9 @@ func (loggOpts *LoggerOptsCfg) loadFromJSONCfg(jsnCfg *LoggerOptsJson) { } } -// AsMapInterface returns the config of logger OPTS as a map[string]interface{} -func (loggOpts *LoggerOptsCfg) AsMapInterface() interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config of logger OPTS as a map[string]any +func (loggOpts *LoggerOptsCfg) AsMapInterface() any { + return map[string]any{ utils.KafkaConnCfg: loggOpts.KafkaConn, utils.KafkaTopicCfg: loggOpts.KafkaTopic, utils.KafkaAttemptsCfg: loggOpts.KafkaAttempts, diff --git a/config/migratorcfg.go b/config/migratorcfg.go index 3d8f1884d..bddcf0709 100644 --- a/config/migratorcfg.go +++ b/config/migratorcfg.go @@ -87,9 +87,9 @@ func (mg *MigratorCgrCfg) loadFromJSONCfg(jsnCfg *MigratorCfgJson) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (mg MigratorCgrCfg) AsMapInterface(string) interface{} { - outDataDBOpts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (mg MigratorCgrCfg) AsMapInterface(string) any { + outDataDBOpts := map[string]any{ utils.RedisMaxConnsCfg: mg.OutDataDBOpts.RedisMaxConns, utils.RedisConnectAttemptsCfg: mg.OutDataDBOpts.RedisConnectAttempts, utils.RedisSentinelNameCfg: mg.OutDataDBOpts.RedisSentinel, @@ -105,7 +105,7 @@ func (mg MigratorCgrCfg) AsMapInterface(string) interface{} { utils.RedisClientKeyCfg: mg.OutDataDBOpts.RedisClientKey, utils.RedisCACertificateCfg: mg.OutDataDBOpts.RedisCACertificate, } - return map[string]interface{}{ + return map[string]any{ utils.OutDataDBTypeCfg: mg.OutDataDBType, utils.OutDataDBHostCfg: mg.OutDataDBHost, utils.OutDataDBPortCfg: mg.OutDataDBPort, diff --git a/config/migratorcfg_test.go b/config/migratorcfg_test.go index 268e602b4..b7f8007a0 100644 --- a/config/migratorcfg_test.go +++ b/config/migratorcfg_test.go @@ -85,7 +85,7 @@ func TestMigratorCgrCfgAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.OutDataDBTypeCfg: "*redis", utils.OutDataDBHostCfg: "127.0.0.19", utils.OutDataDBPortCfg: "8865", @@ -96,7 +96,7 @@ func TestMigratorCgrCfgAsMapInterface(t *testing.T) { utils.UsersFiltersCfg: []string{"users", "filters", "Account"}, - utils.OutDataDBOptsCfg: map[string]interface{}{ + utils.OutDataDBOptsCfg: map[string]any{ utils.RedisMaxConnsCfg: 10, utils.RedisConnectAttemptsCfg: 20, utils.RedisSentinelNameCfg: "", @@ -128,7 +128,7 @@ func TestMigratorCgrCfgAsMapInterface1(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.OutDataDBTypeCfg: "*redis", utils.OutDataDBHostCfg: "127.0.0.1", utils.OutDataDBPortCfg: "6379", @@ -139,7 +139,7 @@ func TestMigratorCgrCfgAsMapInterface1(t *testing.T) { utils.UsersFiltersCfg: []string{"users", "filters", "Account"}, - utils.OutDataDBOptsCfg: map[string]interface{}{ + utils.OutDataDBOptsCfg: map[string]any{ utils.RedisMaxConnsCfg: 10, utils.RedisConnectAttemptsCfg: 20, utils.MongoQueryTimeoutCfg: "0s", @@ -167,7 +167,7 @@ func TestMigratorCgrCfgAsMapInterface2(t *testing.T) { cfgJSONStr := `{ "migrator": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.OutDataDBTypeCfg: "*redis", utils.OutDataDBHostCfg: "127.0.0.1", utils.OutDataDBPortCfg: "6379", @@ -178,7 +178,7 @@ func TestMigratorCgrCfgAsMapInterface2(t *testing.T) { utils.UsersFiltersCfg: []string(nil), - utils.OutDataDBOptsCfg: map[string]interface{}{ + utils.OutDataDBOptsCfg: map[string]any{ utils.RedisMaxConnsCfg: 10, utils.RedisConnectAttemptsCfg: 20, utils.RedisSentinelNameCfg: "", diff --git a/config/objdp.go b/config/objdp.go index 86232cb39..aad5f2631 100644 --- a/config/objdp.go +++ b/config/objdp.go @@ -26,24 +26,24 @@ import ( ) // NewObjectDP constructs a utils.DataProvider -func NewObjectDP(obj interface{}) utils.DataProvider { +func NewObjectDP(obj any) utils.DataProvider { return &ObjectDP{ obj: obj, - cache: make(map[string]interface{}), + cache: make(map[string]any), } } -// ObjectDP implements the DataProvider for any interface{} +// ObjectDP implements the DataProvider for any any type ObjectDP struct { - obj interface{} - cache map[string]interface{} + obj any + cache map[string]any } -func (objDP *ObjectDP) setCache(path string, val interface{}) { +func (objDP *ObjectDP) setCache(path string, val any) { objDP.cache[path] = val } -func (objDP *ObjectDP) getCache(path string) (val interface{}, has bool) { +func (objDP *ObjectDP) getCache(path string) (val any, has bool) { val, has = objDP.cache[path] return } @@ -55,7 +55,7 @@ func (objDP *ObjectDP) String() string { } // FieldAsInterface is part of engine.utils.DataProvider interface -func (objDP *ObjectDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (objDP *ObjectDP) FieldAsInterface(fldPath []string) (data any, err error) { obj := objDP.obj // []string{ BalanceMap *monetary[0] Value } var has bool @@ -117,7 +117,7 @@ func (objDP *ObjectDP) FieldAsInterface(fldPath []string) (data interface{}, err // FieldAsString is part of engine.utils.DataProvider interface func (objDP *ObjectDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any if valIface, err = objDP.FieldAsInterface(fldPath); err != nil { return } diff --git a/config/objdp_test.go b/config/objdp_test.go index 2d7105218..1ec34176a 100644 --- a/config/objdp_test.go +++ b/config/objdp_test.go @@ -29,7 +29,7 @@ func TestNewObjectDP(t *testing.T) { object := "cgrates.org" objDp := &ObjectDP{ obj: "cgrates.org", - cache: make(map[string]interface{}), + cache: make(map[string]any), } if received := NewObjectDP(object); !reflect.DeepEqual(objDp, received) { t.Errorf("Expected %+v, received %+v", objDp, received) @@ -39,7 +39,7 @@ func TestNewObjectDP(t *testing.T) { func TestStringObjDP(t *testing.T) { objDp := &ObjectDP{ obj: "cgrates.org", - cache: make(map[string]interface{}), + cache: make(map[string]any), } expected := `"cgrates.org"` if received := objDp.String(); !reflect.DeepEqual(expected, received) { @@ -51,7 +51,7 @@ func TestFieldAsInterfaceObjDPSliceOfInt(t *testing.T) { object := []string{"1"} objDp := &ObjectDP{ obj: []int{12, 13}, - cache: make(map[string]interface{}), + cache: make(map[string]any), } expected := 13 if received, err := objDp.FieldAsInterface(object); err != nil { @@ -65,7 +65,7 @@ func TestFieldAsInterfaceObjDPInvalidSyntax(t *testing.T) { object := []string{"1]"} objDp := &ObjectDP{ obj: []int{12, 13}, - cache: make(map[string]interface{}), + cache: make(map[string]any), } expected := "strconv.Atoi: parsing \"1]\": invalid syntax" if _, err := objDp.FieldAsInterface(object); err == nil || err.Error() != expected { @@ -77,7 +77,7 @@ func TestFieldAsInterfaceObjDPInvalidFormat(t *testing.T) { object := []string{"invalid[path"} objDp := &ObjectDP{ obj: []int{12, 13}, - cache: make(map[string]interface{}), + cache: make(map[string]any), } expected := "filter rule needs to end in ]" if _, err := objDp.FieldAsInterface(object); err == nil || err.Error() != expected { @@ -88,7 +88,7 @@ func TestFieldAsInterfaceObjDPInvalidFormat(t *testing.T) { func TestFieldAsInterfaceObjDPCache(t *testing.T) { object := []string{"validPath"} objDp := &ObjectDP{ - cache: map[string]interface{}{ + cache: map[string]any{ "validPath": "cgrates.org", }, } @@ -104,7 +104,7 @@ func TestFieldAsInterfaceObjDPChangedObject(t *testing.T) { object := []string{"0[1]"} objDp := &ObjectDP{ obj: []int{1}, - cache: map[string]interface{}{}, + cache: map[string]any{}, } expected := "unsupported field kind: int" if _, err := objDp.FieldAsInterface(object); err == nil || err.Error() != expected { @@ -115,13 +115,13 @@ func TestFieldAsInterfaceObjDPChangedObject(t *testing.T) { func TestFieldAsInterfaceObjDPValid1(t *testing.T) { object := []string{"0[1]"} objDp := &ObjectDP{ - obj: []map[string]interface{}{ + obj: []map[string]any{ { "1": 1, "2": 2, }, }, - cache: map[string]interface{}{}, + cache: map[string]any{}, } if rcv, err := objDp.FieldAsInterface(object); err != nil { t.Error(err) @@ -133,13 +133,13 @@ func TestFieldAsInterfaceObjDPValid1(t *testing.T) { func TestFieldAsStringObjDP(t *testing.T) { object := []string{"0[1]"} objDp := &ObjectDP{ - obj: []map[string]interface{}{ + obj: []map[string]any{ { "1": 1, "2": 2, }, }, - cache: map[string]interface{}{}, + cache: map[string]any{}, } if rcv, err := objDp.FieldAsString(object); err != nil { t.Error(err) @@ -152,7 +152,7 @@ func TestFieldAsStringError(t *testing.T) { object := []string{"0[1]"} objDp := &ObjectDP{ obj: []int{1}, - cache: map[string]interface{}{}, + cache: map[string]any{}, } expected := "unsupported field kind: int" if _, err := objDp.FieldAsString(object); err == nil || err.Error() != expected { @@ -179,7 +179,7 @@ func TestFieldAsInterfaceObjDPMultiplePaths(t *testing.T) { Field4: 2, Field5: []string{"1", "2"}, }, - cache: map[string]interface{}{}, + cache: map[string]any{}, } if rcv, err := objDp.FieldAsInterface([]string{"Field3", "Field2"}); err != nil { t.Error(err) @@ -213,7 +213,7 @@ func TestFieldAsInterface(t *testing.T) { Field4: 2, Field5: []string{""}, }, - cache: map[string]interface{}{ + cache: map[string]any{ "field1": nil, }, } diff --git a/config/radiuscfg.go b/config/radiuscfg.go index 5113dffd6..334b45fed 100644 --- a/config/radiuscfg.go +++ b/config/radiuscfg.go @@ -77,16 +77,16 @@ func (ra *RadiusAgentCfg) loadFromJSONCfg(jsnCfg *RadiusAgentJsonCfg, separator return } -// AsMapInterface returns the config as a map[string]interface{} -func (ra RadiusAgentCfg) AsMapInterface(separator string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (ra RadiusAgentCfg) AsMapInterface(separator string) any { + mp := map[string]any{ utils.EnabledCfg: ra.Enabled, utils.ListenNetCfg: ra.ListenNet, utils.ListenAuthCfg: ra.ListenAuth, utils.ListenAcctCfg: ra.ListenAcct, } - requestProcessors := make([]map[string]interface{}, len(ra.RequestProcessors)) + requestProcessors := make([]map[string]any, len(ra.RequestProcessors)) for i, item := range ra.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } diff --git a/config/radiuscfg_test.go b/config/radiuscfg_test.go index 8932712b9..944ea1d0c 100644 --- a/config/radiuscfg_test.go +++ b/config/radiuscfg_test.go @@ -174,7 +174,7 @@ func TestRadiusAgentCfgAsMapInterface(t *testing.T) { },], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ListenNetCfg: "udp", utils.ListenAuthCfg: "127.0.0.1:1816", @@ -186,15 +186,15 @@ func TestRadiusAgentCfgAsMapInterface(t *testing.T) { utils.MetaDefault: "/usr/share/cgrates/", }, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*conn1", "*conn2"}, - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "OutboundAUTHDryRun", utils.FiltersCfg: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*dryRun"}, utils.TimezoneCfg: "", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Allow", utils.PathCfg: "*rep.response.Allow", utils.TypeCfg: "*constant", utils.ValueCfg: "1", utils.MandatoryCfg: true}, }, }, @@ -211,7 +211,7 @@ func TestRadiusAgentCfgAsMapInterface1(t *testing.T) { cfgJSONStr := `{ "radius_agent": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenNetCfg: "udp", utils.ListenAuthCfg: "127.0.0.1:1812", @@ -223,7 +223,7 @@ func TestRadiusAgentCfgAsMapInterface1(t *testing.T) { utils.MetaDefault: "/usr/share/cgrates/radius/dict/", }, utils.SessionSConnsCfg: []string{"*internal"}, - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) diff --git a/config/ratescfg.go b/config/ratescfg.go index e198c7548..dbd8ee3e7 100644 --- a/config/ratescfg.go +++ b/config/ratescfg.go @@ -164,16 +164,16 @@ func (rCfg *RateSCfg) loadFromJSONCfg(jsnCfg *RateSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (rCfg RateSCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rCfg RateSCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaProfileIDs: rCfg.Opts.ProfileIDs, utils.MetaStartTime: rCfg.Opts.StartTime, utils.MetaUsage: rCfg.Opts.Usage, utils.MetaIntervalStartCfg: rCfg.Opts.IntervalStart, utils.MetaProfileIgnoreFilters: rCfg.Opts.ProfileIgnoreFilters, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: rCfg.Enabled, utils.IndexedSelectsCfg: rCfg.IndexedSelects, utils.NestedFieldsCfg: rCfg.NestedFields, diff --git a/config/ratescfg_test.go b/config/ratescfg_test.go index 9988a7676..e9c94c211 100644 --- a/config/ratescfg_test.go +++ b/config/ratescfg_test.go @@ -86,7 +86,7 @@ func TestRatesCfgAsMapInterface(t *testing.T) { cfgJSONStr := `{ "rates": {} }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -101,7 +101,7 @@ func TestRatesCfgAsMapInterface(t *testing.T) { utils.RateNotExistsIndexedFieldsCfg: []string{}, utils.RateNestedFieldsCfg: false, utils.Verbosity: 1000, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaStartTime: []*utils.DynamicStringOpt{}, utils.MetaUsage: []*utils.DynamicDecimalBigOpt{}, @@ -136,7 +136,7 @@ func TestRatesCfgAsMapInterface1(t *testing.T) { "rate_nested_fields": true, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.IndexedSelectsCfg: false, utils.StringIndexedFieldsCfg: []string{"*req.index1"}, @@ -153,7 +153,7 @@ func TestRatesCfgAsMapInterface1(t *testing.T) { utils.RateNotExistsIndexedFieldsCfg: []string{"*req.index1"}, utils.RateNestedFieldsCfg: true, utils.Verbosity: 1000, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaStartTime: []*utils.DynamicStringOpt{}, utils.MetaUsage: []*utils.DynamicDecimalBigOpt{}, diff --git a/config/registrarccfg.go b/config/registrarccfg.go index 6a521aa58..021aa3c36 100644 --- a/config/registrarccfg.go +++ b/config/registrarccfg.go @@ -50,9 +50,9 @@ func (dps *RegistrarCCfgs) loadFromJSONCfg(jsnCfg *RegistrarCJsonCfgs) (err erro return dps.Dispatchers.loadFromJSONCfg(jsnCfg.Dispatchers) } -// AsMapInterface returns the config as a map[string]interface{} -func (dps RegistrarCCfgs) AsMapInterface(string) interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dps RegistrarCCfgs) AsMapInterface(string) any { + return map[string]any{ utils.RPCCfg: dps.RPC.AsMapInterface(), utils.DispatcherCfg: dps.Dispatchers.AsMapInterface(), } @@ -107,9 +107,9 @@ func (dps *RegistrarCCfg) loadFromJSONCfg(jsnCfg *RegistrarCJsonCfg) (err error) return } -// AsMapInterface returns the config as a map[string]interface{} -func (dps *RegistrarCCfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dps *RegistrarCCfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.RegistrarsConnsCfg: utils.CloneStringSlice(dps.RegistrarSConns), utils.RefreshIntervalCfg: dps.RefreshInterval.String(), } @@ -117,7 +117,7 @@ func (dps *RegistrarCCfg) AsMapInterface() (initialMP map[string]interface{}) { initialMP[utils.RefreshIntervalCfg] = "0" } if dps.Hosts != nil { - hosts := []map[string]interface{}{} + hosts := []map[string]any{} for tnt, hs := range dps.Hosts { for _, h := range hs { mp := h.AsMapInterface() diff --git a/config/registrarccfg_test.go b/config/registrarccfg_test.go index 34f069f64..6ae28b801 100644 --- a/config/registrarccfg_test.go +++ b/config/registrarccfg_test.go @@ -225,10 +225,10 @@ func TestDispatcherHCfgAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.RPCCfg: map[string]interface{}{ + eMap := map[string]any{ + utils.RPCCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{"*conn1", "*conn2"}, - utils.HostsCfg: []map[string]interface{}{ + utils.HostsCfg: []map[string]any{ { utils.Tenant: utils.MetaDefault, utils.IDCfg: "Host1", @@ -242,9 +242,9 @@ func TestDispatcherHCfgAsMapInterface(t *testing.T) { }, utils.RefreshIntervalCfg: "0", }, - utils.DispatcherCfg: map[string]interface{}{ + utils.DispatcherCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{"*conn1", "*conn2"}, - utils.HostsCfg: []map[string]interface{}{ + utils.HostsCfg: []map[string]any{ { utils.Tenant: utils.MetaDefault, utils.IDCfg: "Host1", @@ -296,15 +296,15 @@ func TestDispatcherHCfgAsMapInterface2(t *testing.T) { cfgJSONStr := `{ "registrarc": {}, }` - eMap := map[string]interface{}{ - utils.DispatcherCfg: map[string]interface{}{ + eMap := map[string]any{ + utils.DispatcherCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{}, - utils.HostsCfg: []map[string]interface{}{}, + utils.HostsCfg: []map[string]any{}, utils.RefreshIntervalCfg: "5m0s", }, - utils.RPCCfg: map[string]interface{}{ + utils.RPCCfg: map[string]any{ utils.RegistrarsConnsCfg: []string{}, - utils.HostsCfg: []map[string]interface{}{}, + utils.HostsCfg: []map[string]any{}, utils.RefreshIntervalCfg: "5m0s", }, } diff --git a/config/reqprocessorcfg.go b/config/reqprocessorcfg.go index 80e20e23c..0114a5243 100644 --- a/config/reqprocessorcfg.go +++ b/config/reqprocessorcfg.go @@ -65,9 +65,9 @@ func (rp *RequestProcessor) loadFromJSONCfg(jsnCfg *ReqProcessorJsnCfg, sep stri return } -// AsMapInterface returns the config as a map[string]interface{} -func (rp *RequestProcessor) AsMapInterface(separator string) (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rp *RequestProcessor) AsMapInterface(separator string) (initialMP map[string]any) { + initialMP = map[string]any{ utils.IDCfg: rp.ID, utils.FiltersCfg: utils.CloneStringSlice(rp.Filters), utils.FlagsCfg: rp.Flags.SliceFlags(), @@ -77,14 +77,14 @@ func (rp *RequestProcessor) AsMapInterface(separator string) (initialMP map[stri initialMP[utils.TenantCfg] = rp.Tenant.GetRule(separator) } if rp.RequestFields != nil { - requestFields := make([]map[string]interface{}, len(rp.RequestFields)) + requestFields := make([]map[string]any, len(rp.RequestFields)) for i, item := range rp.RequestFields { requestFields[i] = item.AsMapInterface(separator) } initialMP[utils.RequestFieldsCfg] = requestFields } if rp.ReplyFields != nil { - replyFields := make([]map[string]interface{}, len(rp.ReplyFields)) + replyFields := make([]map[string]any, len(rp.ReplyFields)) for i, item := range rp.ReplyFields { replyFields[i] = item.AsMapInterface(separator) } diff --git a/config/resourcescfg.go b/config/resourcescfg.go index 45cf3fd90..27d8c247e 100644 --- a/config/resourcescfg.go +++ b/config/resourcescfg.go @@ -123,14 +123,14 @@ func (rlcfg *ResourceSConfig) loadFromJSONCfg(jsnCfg *ResourceSJsonCfg) (err err return } -// AsMapInterface returns the config as a map[string]interface{} -func (rlcfg ResourceSConfig) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rlcfg ResourceSConfig) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaUsageIDCfg: rlcfg.Opts.UsageID, utils.MetaUsageTTLCfg: rlcfg.Opts.UsageTTL, utils.MetaUnitsCfg: rlcfg.Opts.Units, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: rlcfg.Enabled, utils.IndexedSelectsCfg: rlcfg.IndexedSelects, utils.NestedFieldsCfg: rlcfg.NestedFields, diff --git a/config/resourcescfg_test.go b/config/resourcescfg_test.go index 6e8a57024..759af7d77 100644 --- a/config/resourcescfg_test.go +++ b/config/resourcescfg_test.go @@ -131,7 +131,7 @@ func TestResourceSConfigAsMapInterface(t *testing.T) { cfgJSONStr := `{ "resources": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.ThresholdSConnsCfg: []string{}, @@ -141,7 +141,7 @@ func TestResourceSConfigAsMapInterface(t *testing.T) { utils.ExistsIndexedFieldsCfg: []string{}, utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaUsageIDCfg: []*utils.DynamicStringOpt{}, utils.MetaUsageTTLCfg: []*utils.DynamicDurationOpt{}, utils.MetaUnitsCfg: []*utils.DynamicFloat64Opt{}, @@ -169,7 +169,7 @@ func TestResourceSConfigAsMapInterface1(t *testing.T) { "nested_fields": true, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.StoreIntervalCfg: "7m0s", utils.ThresholdSConnsCfg: []string{utils.MetaInternal, "*conn1"}, @@ -180,7 +180,7 @@ func TestResourceSConfigAsMapInterface1(t *testing.T) { utils.ExistsIndexedFieldsCfg: []string{"*req.prefix_indexed_fields1", "*req.prefix_indexed_fields2"}, utils.NotExistsIndexedFieldsCfg: []string{"*req.prefix_indexed_fields1"}, utils.NestedFieldsCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaUsageIDCfg: []*utils.DynamicStringOpt{}, utils.MetaUsageTTLCfg: []*utils.DynamicDurationOpt{}, utils.MetaUnitsCfg: []*utils.DynamicFloat64Opt{}, diff --git a/config/rjreader.go b/config/rjreader.go index 34752a1d9..29971c4bd 100644 --- a/config/rjreader.go +++ b/config/rjreader.go @@ -412,7 +412,7 @@ func (rjr *RjReader) getJSONOffsetLine(offset int64) (line, character int64) { } // Decode loads the json config out of rjReader -func (rjr *RjReader) Decode(cfg interface{}) (err error) { +func (rjr *RjReader) Decode(cfg any) (err error) { if err = json.NewDecoder(rjr).Decode(cfg); err != nil { return rjr.HandleJSONError(err) } diff --git a/config/routescfg.go b/config/routescfg.go index 0cc42d845..55a25feae 100644 --- a/config/routescfg.go +++ b/config/routescfg.go @@ -208,9 +208,9 @@ func (rts *RoutesOpts) Clone() (cln *RoutesOpts) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (rts RouteSCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rts RouteSCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.OptsContext: rts.Opts.Context, utils.MetaProfileCountCfg: rts.Opts.ProfileCount, utils.MetaIgnoreErrorsCfg: rts.Opts.IgnoreErrors, @@ -221,7 +221,7 @@ func (rts RouteSCfg) AsMapInterface(string) interface{} { utils.MetaUsage: rts.Opts.Usage, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: rts.Enabled, utils.IndexedSelectsCfg: rts.IndexedSelects, utils.DefaultRatioCfg: rts.DefaultRatio, diff --git a/config/routescfg_test.go b/config/routescfg_test.go index 98d46317b..5c092efe2 100644 --- a/config/routescfg_test.go +++ b/config/routescfg_test.go @@ -104,7 +104,7 @@ func TestRouteSCfgAsMapInterface(t *testing.T) { cfgJSONStr := `{ "routes": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.IndexedSelectsCfg: true, utils.PrefixIndexedFieldsCfg: []string{}, @@ -118,7 +118,7 @@ func TestRouteSCfgAsMapInterface(t *testing.T) { utils.RateSConnsCfg: []string{}, utils.AccountSConnsCfg: []string{}, utils.DefaultRatioCfg: 1, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.OptsContext: []*utils.DynamicStringOpt{}, utils.MetaLimitCfg: []*utils.DynamicIntPointerOpt{}, utils.MetaOffsetCfg: []*utils.DynamicIntPointerOpt{}, @@ -155,7 +155,7 @@ func TestRouteSCfgAsMapInterface1(t *testing.T) { "default_ratio":2, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.IndexedSelectsCfg: false, utils.StringIndexedFieldsCfg: []string{"*req.string"}, @@ -170,7 +170,7 @@ func TestRouteSCfgAsMapInterface1(t *testing.T) { utils.RateSConnsCfg: []string{utils.MetaInternal, "conn1"}, utils.AccountSConnsCfg: []string{utils.MetaInternal, "conn1"}, utils.DefaultRatioCfg: 2, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.OptsContext: []*utils.DynamicStringOpt{}, utils.MetaLimitCfg: []*utils.DynamicIntPointerOpt{}, utils.MetaOffsetCfg: []*utils.DynamicIntPointerOpt{}, diff --git a/config/rpcconn.go b/config/rpcconn.go index 3a3506bb6..b803d1891 100644 --- a/config/rpcconn.go +++ b/config/rpcconn.go @@ -82,9 +82,9 @@ func (rC RPCConns) loadFromJSONCfg(jsn RPCConnsJson) { } } -// AsMapInterface returns the config as a map[string]interface{} -func (rC RPCConns) AsMapInterface(string) interface{} { - rpcConns := make(map[string]interface{}) +// AsMapInterface returns the config as a map[string]any +func (rC RPCConns) AsMapInterface(string) any { + rpcConns := make(map[string]any) for key, value := range rC { rpcConns[key] = value.AsMapInterface() } @@ -136,9 +136,9 @@ func (rC *RPCConn) loadFromJSONCfg(jsnCfg *RPCConnJson) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (rC *RPCConn) AsMapInterface() (mp map[string]interface{}) { - mp = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rC *RPCConn) AsMapInterface() (mp map[string]any) { + mp = map[string]any{ utils.StrategyCfg: rC.Strategy, utils.PoolSize: rC.PoolSize, } @@ -146,7 +146,7 @@ func (rC *RPCConn) AsMapInterface() (mp map[string]interface{}) { mp[utils.ReplyTimeoutCfg] = rC.ReplyTimeout } if rC.Conns != nil { - conns := make([]map[string]interface{}, len(rC.Conns)) + conns := make([]map[string]any, len(rC.Conns)) for i, item := range rC.Conns { conns[i] = item.AsMapInterface() } @@ -239,9 +239,9 @@ func (rh *RemoteHost) loadFromJSONCfg(jsnCfg *RemoteHostJson) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (rh *RemoteHost) AsMapInterface() (mp map[string]interface{}) { - mp = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (rh *RemoteHost) AsMapInterface() (mp map[string]any) { + mp = map[string]any{ utils.AddressCfg: rh.Address, utils.TransportCfg: rh.Transport, } diff --git a/config/rpcconn_test.go b/config/rpcconn_test.go index 973370a40..701f0032e 100644 --- a/config/rpcconn_test.go +++ b/config/rpcconn_test.go @@ -210,7 +210,7 @@ func TestRemoteHostAsMapInterface(t *testing.T) { MaxReconnectInterval: 2 * time.Nanosecond, } - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.IDCfg: "rh_id1", utils.AddressCfg: "localhost", utils.TransportCfg: "*json", @@ -252,21 +252,21 @@ func TestRPCConnsAsMapInterface(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.MetaBiJSONLocalHost: map[string]interface{}{ + eMap := map[string]any{ + utils.MetaBiJSONLocalHost: map[string]any{ utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2014", utils.TransportCfg: rpcclient.BiRPCJSON, }, }, }, - utils.MetaLocalHost: map[string]interface{}{ + utils.MetaLocalHost: map[string]any{ utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2012", utils.TransportCfg: "*json", @@ -282,20 +282,20 @@ func TestRPCConnsAsMapInterface(t *testing.T) { }, }, }, - utils.MetaInternal: map[string]interface{}{ + utils.MetaInternal: map[string]any{ utils.StrategyCfg: utils.MetaFirst, utils.PoolSize: 0, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: utils.MetaInternal, utils.TransportCfg: utils.EmptyString, }, }, }, - rpcclient.BiRPCInternal: map[string]interface{}{ + rpcclient.BiRPCInternal: map[string]any{ utils.StrategyCfg: utils.MetaFirst, utils.PoolSize: 0, - utils.Conns: []map[string]interface{}{ + utils.Conns: []map[string]any{ { utils.AddressCfg: rpcclient.BiRPCInternal, utils.TransportCfg: utils.EmptyString, @@ -321,9 +321,9 @@ func TestRpcConnAsMapInterface1(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.MetaBiJSONLocalHost: map[string]interface{}{ - utils.Conns: []map[string]interface{}{ + eMap := map[string]any{ + utils.MetaBiJSONLocalHost: map[string]any{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2014", utils.TransportCfg: rpcclient.BiRPCJSON, @@ -332,8 +332,8 @@ func TestRpcConnAsMapInterface1(t *testing.T) { utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, }, - utils.MetaInternal: map[string]interface{}{ - utils.Conns: []map[string]interface{}{ + utils.MetaInternal: map[string]any{ + utils.Conns: []map[string]any{ { utils.AddressCfg: utils.MetaInternal, utils.TransportCfg: utils.EmptyString, @@ -342,8 +342,8 @@ func TestRpcConnAsMapInterface1(t *testing.T) { utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, }, - rpcclient.BiRPCInternal: map[string]interface{}{ - utils.Conns: []map[string]interface{}{ + rpcclient.BiRPCInternal: map[string]any{ + utils.Conns: []map[string]any{ { utils.AddressCfg: rpcclient.BiRPCInternal, utils.TransportCfg: utils.EmptyString, @@ -352,8 +352,8 @@ func TestRpcConnAsMapInterface1(t *testing.T) { utils.PoolSize: 0, utils.StrategyCfg: utils.MetaFirst, }, - utils.MetaLocalHost: map[string]interface{}{ - utils.Conns: []map[string]interface{}{ + utils.MetaLocalHost: map[string]any{ + utils.Conns: []map[string]any{ { utils.AddressCfg: "127.0.0.1:2018", utils.TransportCfg: "*json", @@ -908,7 +908,7 @@ func TestRPCConnAsMapInterface(t *testing.T) { ReplyTimeout: time.Duration(2), } - exp := map[string]interface{}{ + exp := map[string]any{ "poolSize": 0, "reply_timeout": time.Duration(2), "strategy": "", diff --git a/config/rsrparser.go b/config/rsrparser.go index b7bb56c2a..489242b3c 100644 --- a/config/rsrparser.go +++ b/config/rsrparser.go @@ -132,7 +132,7 @@ func (prsrs RSRParsers) Compile() (err error) { } // ParseValue will parse the value out considering converters -func (prsrs RSRParsers) ParseValue(value interface{}) (out string, err error) { +func (prsrs RSRParsers) ParseValue(value any) (out string, err error) { for _, prsr := range prsrs { var outPrsr string if outPrsr, err = prsr.ParseValue(value); err != nil { @@ -168,7 +168,7 @@ func (prsrs RSRParsers) ParseDataProviderWithInterfaces(dP utils.DataProvider) ( } // ParseDataProviderWithInterfaces will parse the dataprovider using DPDynamicInterface -func (prsrs RSRParsers) ParseDataProviderWithInterfaces2(dP utils.DataProvider) (out interface{}, err error) { +func (prsrs RSRParsers) ParseDataProviderWithInterfaces2(dP utils.DataProvider) (out any, err error) { for i, prsr := range prsrs { outPrsr, err := prsr.ParseDataProviderWithInterfaces2(dP) if err != nil { @@ -184,8 +184,8 @@ func (prsrs RSRParsers) ParseDataProviderWithInterfaces2(dP utils.DataProvider) } // GetIfaceFromValues returns an interface for each RSRParser -func (prsrs RSRParsers) GetIfaceFromValues(evNm utils.DataProvider) (iFaceVals []interface{}, err error) { - iFaceVals = make([]interface{}, len(prsrs)) +func (prsrs RSRParsers) GetIfaceFromValues(evNm utils.DataProvider) (iFaceVals []any, err error) { + iFaceVals = make([]any, len(prsrs)) for i, val := range prsrs { var strVal string if strVal, err = val.ParseDataProvider(evNm); err != nil { @@ -328,7 +328,7 @@ func (prsr *RSRParser) parseValue(value string) (out string, err error) { } // parseValue the field value from a string -func (prsr *RSRParser) parseValueInterface(value interface{}) (out interface{}, err error) { +func (prsr *RSRParser) parseValueInterface(value any) (out any, err error) { for _, rsRule := range prsr.rsrRules { value = rsRule.Process(utils.IfaceAsString(value)) } @@ -336,7 +336,7 @@ func (prsr *RSRParser) parseValueInterface(value interface{}) (out interface{}, } // ParseValue will parse the value out considering converters -func (prsr *RSRParser) ParseValue(value interface{}) (out string, err error) { +func (prsr *RSRParser) ParseValue(value any) (out string, err error) { out = prsr.path if out != utils.DynamicDataPrefix && strings.HasPrefix(out, utils.DynamicDataPrefix) { // Enforce parsing of static values @@ -378,7 +378,7 @@ func (prsr *RSRParser) ParseDataProviderWithInterfaces(dP utils.DataProvider) (o } return dynRSR.ParseDataProviderWithInterfaces(dP) } - var outIface interface{} + var outIface any if outIface, err = utils.DPDynamicInterface(prsr.path, dP); err != nil { return } @@ -386,7 +386,7 @@ func (prsr *RSRParser) ParseDataProviderWithInterfaces(dP utils.DataProvider) (o } // ParseDataProviderWithInterfaces will parse the dataprovider using DPDynamicInterface -func (prsr *RSRParser) ParseDataProviderWithInterfaces2(dP utils.DataProvider) (out interface{}, err error) { +func (prsr *RSRParser) ParseDataProviderWithInterfaces2(dP utils.DataProvider) (out any, err error) { if prsr.dynRules != nil { var dynPath string if dynPath, err = prsr.dynRules.ParseDataProvider(dP); err != nil { @@ -398,7 +398,7 @@ func (prsr *RSRParser) ParseDataProviderWithInterfaces2(dP utils.DataProvider) ( } return dynRSR.ParseDataProviderWithInterfaces2(dP) } - var outIface interface{} + var outIface any if outIface, err = utils.DPDynamicInterface(prsr.path, dP); err != nil { return } diff --git a/config/rsrparser_test.go b/config/rsrparser_test.go index 778b5e8bf..02fae3348 100644 --- a/config/rsrparser_test.go +++ b/config/rsrparser_test.go @@ -571,7 +571,7 @@ func TestRSRParsersGetIfaceFromValues(t *testing.T) { utils.Category: "call", }, } - exp := []interface{}{"*rated", "call"} + exp := []any{"*rated", "call"} if rply, err := NewRSRParsersMustCompile("*rated;~*req.Category", utils.InfieldSep).GetIfaceFromValues(dp); err != nil { t.Error(err) } else if !reflect.DeepEqual(exp, rply) { diff --git a/config/sessionscfg.go b/config/sessionscfg.go index a7dfb7b1b..b98cb7675 100644 --- a/config/sessionscfg.go +++ b/config/sessionscfg.go @@ -357,8 +357,8 @@ func (scfg SessionSCfg) GetDefaultUsage(tor string) time.Duration { return scfg.DefaultUsage[tor] } -// AsMapInterface returns the config as a map[string]interface{} -func (scfg SessionSCfg) AsMapInterface(string) interface{} { +// AsMapInterface returns the config as a map[string]any +func (scfg SessionSCfg) AsMapInterface(string) any { maxComputed := make(map[string]string) for key, item := range scfg.DefaultUsage { if key == utils.MetaAny || key == utils.MetaVoice { @@ -367,7 +367,7 @@ func (scfg SessionSCfg) AsMapInterface(string) interface{} { maxComputed[key] = strconv.Itoa(int(item)) } } - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaAccounts: scfg.Opts.Accounts, utils.MetaAttributes: scfg.Opts.Attributes, utils.MetaCDRs: scfg.Opts.CDRs, @@ -400,7 +400,7 @@ func (scfg SessionSCfg) AsMapInterface(string) interface{} { utils.MetaTTLMaxDelayCfg: scfg.Opts.TTLMaxDelay, utils.MetaTTLUsageCfg: scfg.Opts.TTLUsage, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: scfg.Enabled, utils.ListenBijsonCfg: scfg.ListenBijson, utils.ListenBigobCfg: scfg.ListenBigob, @@ -708,9 +708,9 @@ func (stirCfg *STIRcfg) loadFromJSONCfg(jsnCfg *STIRJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (stirCfg *STIRcfg) AsMapInterface() (initialMP map[string]interface{}) { - initialMP = map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (stirCfg *STIRcfg) AsMapInterface() (initialMP map[string]any) { + initialMP = map[string]any{ utils.DefaultAttestCfg: stirCfg.DefaultAttest, utils.PublicKeyPathCfg: stirCfg.PublicKeyPath, utils.PrivateKeyPathCfg: stirCfg.PrivateKeyPath, diff --git a/config/sessionscfg_test.go b/config/sessionscfg_test.go index 801b27c24..ee0918259 100644 --- a/config/sessionscfg_test.go +++ b/config/sessionscfg_test.go @@ -481,7 +481,7 @@ func TestSessionSCfgAsMapInterfaceCase1(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenBijsonCfg: "127.0.0.1:2014", utils.ListenBigobCfg: "", @@ -503,7 +503,7 @@ func TestSessionSCfgAsMapInterfaceCase1(t *testing.T) { utils.TerminateAttemptsCfg: 5, utils.MinDurLowBalanceCfg: "0", utils.AlterableFieldsCfg: []string{}, - utils.STIRCfg: map[string]interface{}{ + utils.STIRCfg: map[string]any{ utils.AllowedAtestCfg: []string{"*any"}, utils.PayloadMaxdurationCfg: "-1", utils.DefaultAttestCfg: "A", @@ -516,7 +516,7 @@ func TestSessionSCfgAsMapInterfaceCase1(t *testing.T) { utils.MetaData: "1048576", utils.MetaSMS: "1", }, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaAccounts: []*utils.DynamicBoolOpt{}, utils.MetaAttributes: []*utils.DynamicBoolOpt{}, utils.MetaCDRs: []*utils.DynamicBoolOpt{}, @@ -598,7 +598,7 @@ func TestSessionSCfgAsMapInterfaceCase2(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ListenBijsonCfg: "127.0.0.1:2018", utils.ListenBigobCfg: "", @@ -620,7 +620,7 @@ func TestSessionSCfgAsMapInterfaceCase2(t *testing.T) { utils.ChannelSyncIntervalCfg: "0", utils.TerminateAttemptsCfg: 10, utils.AlterableFieldsCfg: []string{}, - utils.STIRCfg: map[string]interface{}{ + utils.STIRCfg: map[string]any{ utils.AllowedAtestCfg: []string{"any1", "any2"}, utils.PayloadMaxdurationCfg: "1s", utils.DefaultAttestCfg: "B", @@ -633,7 +633,7 @@ func TestSessionSCfgAsMapInterfaceCase2(t *testing.T) { utils.MetaData: "1048576", utils.MetaSMS: "1", }, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaAccounts: []*utils.DynamicBoolOpt{}, utils.MetaAttributes: []*utils.DynamicBoolOpt{}, utils.MetaCDRs: []*utils.DynamicBoolOpt{}, @@ -679,8 +679,8 @@ func TestSessionSCfgAsMapInterfaceCase2(t *testing.T) { if err != nil { t.Error(err) } - rcv := cgrCfg.sessionSCfg.AsMapInterface("").(map[string]interface{}) - sort.Strings(rcv[utils.STIRCfg].(map[string]interface{})[utils.AllowedAtestCfg].([]string)) + rcv := cgrCfg.sessionSCfg.AsMapInterface("").(map[string]any) + sort.Strings(rcv[utils.STIRCfg].(map[string]any)[utils.AllowedAtestCfg].([]string)) if !reflect.DeepEqual(eMap, rcv) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap), utils.ToJSON(rcv)) } @@ -695,8 +695,8 @@ func TestSessionSCfgAsMapInterfaceCase3(t *testing.T) { }, }, }` - eMap := map[string]interface{}{ - utils.STIRCfg: map[string]interface{}{ + eMap := map[string]any{ + utils.STIRCfg: map[string]any{ utils.AllowedAtestCfg: []string{"*any"}, utils.PayloadMaxdurationCfg: "0", utils.DefaultAttestCfg: "A", @@ -706,7 +706,7 @@ func TestSessionSCfgAsMapInterfaceCase3(t *testing.T) { } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) - } else if rcv := cgrCfg.sessionSCfg.AsMapInterface("").(map[string]interface{}); !reflect.DeepEqual(eMap[utils.STIRCfg], rcv[utils.STIRCfg]) { + } else if rcv := cgrCfg.sessionSCfg.AsMapInterface("").(map[string]any); !reflect.DeepEqual(eMap[utils.STIRCfg], rcv[utils.STIRCfg]) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[utils.STIRCfg]), utils.ToJSON(rcv[utils.STIRCfg])) } } @@ -784,7 +784,7 @@ func TestFsAgentCfgAsMapInterfaceCase1(t *testing.T) { cfgJSONStr := `{ "freeswitch_agent": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal}, utils.SubscribeParkCfg: true, @@ -794,7 +794,7 @@ func TestFsAgentCfgAsMapInterfaceCase1(t *testing.T) { utils.EmptyBalanceContextCfg: "", utils.EmptyBalanceAnnFileCfg: "", utils.MaxWaitConnectionCfg: "2s", - utils.EventSocketConnsCfg: []map[string]interface{}{ + utils.EventSocketConnsCfg: []map[string]any{ { utils.AddressCfg: "127.0.0.1:8021", utils.Password: "ClueCon", @@ -823,7 +823,7 @@ func TestFsAgentCfgAsMapInterfaceCase2(t *testing.T) { {"address": "127.0.0.1:8000", "password": "ClueCon123", "reconnects": 8, "max_reconnect_interval": "5m", "alias": "127.0.0.1:8000"} ],}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*conn1", "*conn2"}, utils.SubscribeParkCfg: false, @@ -833,7 +833,7 @@ func TestFsAgentCfgAsMapInterfaceCase2(t *testing.T) { utils.EmptyBalanceContextCfg: "", utils.EmptyBalanceAnnFileCfg: "", utils.MaxWaitConnectionCfg: "7s", - utils.EventSocketConnsCfg: []map[string]interface{}{ + utils.EventSocketConnsCfg: []map[string]any{ { utils.AddressCfg: "127.0.0.1:8000", utils.Password: "ClueCon123", @@ -858,7 +858,7 @@ func TestFsAgentCfgAsMapInterfaceCase3(t *testing.T) { "sessions_conns": ["*internal"] } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{utils.MetaInternal}, utils.SubscribeParkCfg: true, @@ -868,7 +868,7 @@ func TestFsAgentCfgAsMapInterfaceCase3(t *testing.T) { utils.EmptyBalanceContextCfg: "", utils.EmptyBalanceAnnFileCfg: "", utils.MaxWaitConnectionCfg: "", - utils.EventSocketConnsCfg: []map[string]interface{}{ + utils.EventSocketConnsCfg: []map[string]any{ { utils.AddressCfg: "127.0.0.1:8021", utils.Password: "ClueCon", @@ -984,11 +984,11 @@ func TestAsteriskAgentCfgAsMapInterface(t *testing.T) { "sessions_conns": ["*internal"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.SessionSConnsCfg: []string{utils.MetaInternal}, utils.CreateCdrCfg: false, - utils.AsteriskConnsCfg: []map[string]interface{}{ + utils.AsteriskConnsCfg: []map[string]any{ { utils.AliasCfg: "", utils.AddressCfg: "127.0.0.1:8088", @@ -1018,11 +1018,11 @@ func TestAsteriskAgentCfgAsMapInterface1(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.SessionSConnsCfg: []string{rpcclient.BiRPCInternal, "*conn1", "*conn2"}, utils.CreateCdrCfg: true, - utils.AsteriskConnsCfg: []map[string]interface{}{ + utils.AsteriskConnsCfg: []map[string]any{ { utils.AliasCfg: "", utils.AddressCfg: "127.0.0.1:8089", diff --git a/config/sipagentcfg.go b/config/sipagentcfg.go index 16018a6b1..c6d660d5f 100644 --- a/config/sipagentcfg.go +++ b/config/sipagentcfg.go @@ -73,9 +73,9 @@ func (sa *SIPAgentCfg) loadFromJSONCfg(jsnCfg *SIPAgentJsonCfg, sep string) (err return } -// AsMapInterface returns the config as a map[string]interface{} -func (sa SIPAgentCfg) AsMapInterface(separator string) interface{} { - mp := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (sa SIPAgentCfg) AsMapInterface(separator string) any { + mp := map[string]any{ utils.EnabledCfg: sa.Enabled, utils.ListenCfg: sa.Listen, utils.ListenNetCfg: sa.ListenNet, @@ -83,7 +83,7 @@ func (sa SIPAgentCfg) AsMapInterface(separator string) interface{} { utils.RetransmissionTimerCfg: sa.RetransmissionTimer.String(), } - requestProcessors := make([]map[string]interface{}, len(sa.RequestProcessors)) + requestProcessors := make([]map[string]any, len(sa.RequestProcessors)) for i, item := range sa.RequestProcessors { requestProcessors[i] = item.AsMapInterface(separator) } diff --git a/config/sipagentcfg_test.go b/config/sipagentcfg_test.go index 6d23c7bac..5e34c7746 100644 --- a/config/sipagentcfg_test.go +++ b/config/sipagentcfg_test.go @@ -160,14 +160,14 @@ func TestSIPAgentCfgAsMapInterface(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:5060", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{"*internal"}, utils.TimezoneCfg: "", utils.RetransmissionTimerCfg: "2s", - utils.RequestProcessorsCfg: []map[string]interface{}{}, + utils.RequestProcessorsCfg: []map[string]any{}, } if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) @@ -210,22 +210,22 @@ func TestSIPAgentCfgAsMapInterface1(t *testing.T) { ], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.ListenCfg: "127.0.0.1:5060", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{"*internal"}, utils.TimezoneCfg: "UTC", utils.RetransmissionTimerCfg: "5s", - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "OutboundAUTHDryRun", utils.FiltersCfg: []string{"*string:~*req.request_type:OutboundAUTH", "*string:~*req.Msisdn:497700056231"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*dryRun"}, utils.TimezoneCfg: "", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Allow", utils.PathCfg: "*rep.response.Allow", utils.TypeCfg: "*constant", utils.ValueCfg: "1", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated1", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "~*req.MCC;/", utils.MandatoryCfg: true}, {utils.TagCfg: "Concatenated2", utils.PathCfg: "*rep.response.Concatenated", utils.TypeCfg: "*composed", utils.ValueCfg: "Val1"}, @@ -264,22 +264,22 @@ func TestSIPAgentCfgAsMapInterface2(t *testing.T) { } }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.ListenCfg: "", utils.ListenNetCfg: "udp", utils.SessionSConnsCfg: []string{"*conn1", "*conn2"}, utils.TimezoneCfg: "", utils.RetransmissionTimerCfg: "1s", - utils.RequestProcessorsCfg: []map[string]interface{}{ + utils.RequestProcessorsCfg: []map[string]any{ { utils.IDCfg: "Register", utils.FiltersCfg: []string{"*notstring:~*vars.Method:INVITE"}, utils.TenantCfg: "cgrates.org", utils.FlagsCfg: []string{"*none"}, utils.TimezoneCfg: "", - utils.RequestFieldsCfg: []map[string]interface{}{}, - utils.ReplyFieldsCfg: []map[string]interface{}{ + utils.RequestFieldsCfg: []map[string]any{}, + utils.ReplyFieldsCfg: []map[string]any{ {utils.TagCfg: "Request", utils.PathCfg: "*rep.Request", utils.TypeCfg: "*constant", utils.ValueCfg: "SIP/2.0 405 Method Not Allowed"}, }, }, diff --git a/config/slicedp.go b/config/slicedp.go index 0fa993ad8..845b06c55 100644 --- a/config/slicedp.go +++ b/config/slicedp.go @@ -48,7 +48,7 @@ func (cP *SliceDP) String() string { } // FieldAsInterface is part of engine.utils.DataProvider interface -func (cP *SliceDP) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (cP *SliceDP) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) == 0 { return } @@ -74,7 +74,7 @@ func (cP *SliceDP) FieldAsInterface(fldPath []string) (data interface{}, err err // FieldAsString is part of engine.utils.DataProvider interface func (cP *SliceDP) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = cP.FieldAsInterface(fldPath) if err != nil { return diff --git a/config/slicedp_test.go b/config/slicedp_test.go index f272dff63..cb38c1bba 100644 --- a/config/slicedp_test.go +++ b/config/slicedp_test.go @@ -142,7 +142,7 @@ func TestFieldAsInterfaceMultiplePaths(t *testing.T) { func TestFieldAsInterfaceEmptyPath(t *testing.T) { sliceDp := new(SliceDP) - var expected interface{} + var expected any if value, err := sliceDp.FieldAsInterface([]string{}); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, value) { diff --git a/config/statscfg.go b/config/statscfg.go index 950c9e961..95f3fc50a 100644 --- a/config/statscfg.go +++ b/config/statscfg.go @@ -124,15 +124,15 @@ func (st *StatSCfg) loadFromJSONCfg(jsnCfg *StatServJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (st StatSCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (st StatSCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaProfileIDs: st.Opts.ProfileIDs, utils.MetaProfileIgnoreFilters: st.Opts.ProfileIgnoreFilters, utils.OptsRoundingDecimals: st.Opts.RoundingDecimals, utils.OptsPrometheusStatIDs: st.Opts.PrometheusStatIDs, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: st.Enabled, utils.IndexedSelectsCfg: st.IndexedSelects, utils.StoreUncompressedLimitCfg: st.StoreUncompressedLimit, diff --git a/config/statscfg_test.go b/config/statscfg_test.go index 1ff2f5183..505abad51 100644 --- a/config/statscfg_test.go +++ b/config/statscfg_test.go @@ -118,7 +118,7 @@ func TestStatSCfgAsMapInterface(t *testing.T) { cfgJSONStr := `{ "stats": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: utils.EmptyString, utils.StoreUncompressedLimitCfg: 0, @@ -129,7 +129,7 @@ func TestStatSCfgAsMapInterface(t *testing.T) { utils.ExistsIndexedFieldsCfg: []string{}, utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, utils.OptsRoundingDecimals: []*utils.DynamicIntOpt{}, @@ -159,7 +159,7 @@ func TestStatSCfgAsMapInterface1(t *testing.T) { "nested_fields": true, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.StoreIntervalCfg: "72h0m0s", utils.StoreUncompressedLimitCfg: 1, @@ -171,7 +171,7 @@ func TestStatSCfgAsMapInterface1(t *testing.T) { utils.ExistsIndexedFieldsCfg: []string{"*req.exists_indexed_fields"}, utils.NotExistsIndexedFieldsCfg: []string{"*req.notexists_indexed_fields"}, utils.NestedFieldsCfg: true, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, utils.OptsRoundingDecimals: []*utils.DynamicIntOpt{}, diff --git a/config/stordbcfg.go b/config/stordbcfg.go index bb6cb5df3..1ef0b66e8 100644 --- a/config/stordbcfg.go +++ b/config/stordbcfg.go @@ -213,9 +213,9 @@ func (dbcfg StorDbCfg) Clone() (cln *StorDbCfg) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (dbcfg StorDbCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (dbcfg StorDbCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.SQLMaxOpenConnsCfg: dbcfg.Opts.SQLMaxOpenConns, utils.SQLMaxIdleConnsCfg: dbcfg.Opts.SQLMaxIdleConns, utils.SQLConnMaxLifetime: dbcfg.Opts.SQLConnMaxLifetime.String(), @@ -224,7 +224,7 @@ func (dbcfg StorDbCfg) AsMapInterface(string) interface{} { utils.PgSSLModeCfg: dbcfg.Opts.PgSSLMode, utils.MysqlLocation: dbcfg.Opts.MySQLLocation, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.DataDbTypeCfg: utils.Meta + dbcfg.Type, utils.DataDbHostCfg: dbcfg.Host, utils.DataDbNameCfg: dbcfg.Name, @@ -237,7 +237,7 @@ func (dbcfg StorDbCfg) AsMapInterface(string) interface{} { utils.OptsCfg: opts, } if dbcfg.Items != nil { - items := make(map[string]interface{}) + items := make(map[string]any) for key, item := range dbcfg.Items { items[key] = item.AsMapInterface() } diff --git a/config/stordbcfg_test.go b/config/stordbcfg_test.go index 2dd036237..faa982520 100644 --- a/config/stordbcfg_test.go +++ b/config/stordbcfg_test.go @@ -243,7 +243,7 @@ func TestStorDbCfgAsMapInterface(t *testing.T) { }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.DataDbTypeCfg: "*mysql", utils.DataDbHostCfg: "127.0.0.1", utils.DataDbPortCfg: 3306, @@ -254,7 +254,7 @@ func TestStorDbCfgAsMapInterface(t *testing.T) { utils.PrefixIndexedFieldsCfg: []string{}, utils.RemoteConnsCfg: []string{"*conn1"}, utils.ReplicationConnsCfg: []string{"*conn1"}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.SQLMaxOpenConnsCfg: 100, utils.SQLMaxIdleConnsCfg: 10, utils.SQLConnMaxLifetimeCfg: "0s", @@ -263,19 +263,19 @@ func TestStorDbCfgAsMapInterface(t *testing.T) { utils.PgSSLModeCfg: "disable", utils.MysqlLocation: "UTC", }, - utils.ItemsCfg: map[string]interface{}{ - utils.SessionCostsTBL: map[string]interface{}{utils.RemoteCfg: false, utils.ReplicateCfg: false}, - utils.CDRsTBL: map[string]interface{}{utils.RemoteCfg: false, utils.ReplicateCfg: false}, + utils.ItemsCfg: map[string]any{ + utils.SessionCostsTBL: map[string]any{utils.RemoteCfg: false, utils.ReplicateCfg: false}, + utils.CDRsTBL: map[string]any{utils.RemoteCfg: false, utils.ReplicateCfg: false}, }, } if cfgCgr, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) } else { - rcv := cfgCgr.storDbCfg.AsMapInterface("").(map[string]interface{}) - if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]interface{})[utils.SessionSConnsCfg], - rcv[utils.ItemsCfg].(map[string]interface{})[utils.SessionSConnsCfg]) { - t.Errorf("Expected %+v, received %+v", utils.ToJSON(eMap[utils.ItemsCfg].(map[string]interface{})[utils.SessionSConnsCfg]), - utils.ToJSON(rcv[utils.ItemsCfg].(map[string]interface{})[utils.SessionSConnsCfg])) + rcv := cfgCgr.storDbCfg.AsMapInterface("").(map[string]any) + if !reflect.DeepEqual(eMap[utils.ItemsCfg].(map[string]any)[utils.SessionSConnsCfg], + rcv[utils.ItemsCfg].(map[string]any)[utils.SessionSConnsCfg]) { + t.Errorf("Expected %+v, received %+v", utils.ToJSON(eMap[utils.ItemsCfg].(map[string]any)[utils.SessionSConnsCfg]), + utils.ToJSON(rcv[utils.ItemsCfg].(map[string]any)[utils.SessionSConnsCfg])) } else if !reflect.DeepEqual(eMap[utils.OptsCfg], rcv[utils.OptsCfg]) { t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(eMap[utils.OptsCfg]), utils.ToJSON(rcv[utils.OptsCfg])) } else if !reflect.DeepEqual(eMap[utils.PrefixIndexedFieldsCfg], rcv[utils.PrefixIndexedFieldsCfg]) { diff --git a/config/suretaxcfg.go b/config/suretaxcfg.go index dd9837b86..5113c52bf 100644 --- a/config/suretaxcfg.go +++ b/config/suretaxcfg.go @@ -184,9 +184,9 @@ func (st *SureTaxCfg) loadFromJSONCfg(jsnCfg *SureTaxJsonCfg) (err error) { return nil } -// AsMapInterface returns the config as a map[string]interface{} -func (st SureTaxCfg) AsMapInterface(separator string) interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (st SureTaxCfg) AsMapInterface(separator string) any { + return map[string]any{ utils.URLCfg: st.URL, utils.ClientNumberCfg: st.ClientNumber, utils.ValidationKeyCfg: st.ValidationKey, diff --git a/config/suretaxcfg_test.go b/config/suretaxcfg_test.go index f45c564df..3656824f5 100644 --- a/config/suretaxcfg_test.go +++ b/config/suretaxcfg_test.go @@ -314,7 +314,7 @@ func TestSureTaxCfgAsMapInterface(t *testing.T) { "tax_exemption_code_list": "randomCode" }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.URLCfg: utils.EmptyString, utils.ClientNumberCfg: utils.EmptyString, utils.ValidationKeyCfg: utils.EmptyString, diff --git a/config/thresholdscfg.go b/config/thresholdscfg.go index abc61f2ce..6bb541177 100644 --- a/config/thresholdscfg.go +++ b/config/thresholdscfg.go @@ -112,13 +112,13 @@ func (t *ThresholdSCfg) loadFromJSONCfg(jsnCfg *ThresholdSJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (t ThresholdSCfg) AsMapInterface(string) interface{} { - opts := map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (t ThresholdSCfg) AsMapInterface(string) any { + opts := map[string]any{ utils.MetaProfileIDs: t.Opts.ProfileIDs, utils.MetaProfileIgnoreFilters: t.Opts.ProfileIgnoreFilters, } - mp := map[string]interface{}{ + mp := map[string]any{ utils.EnabledCfg: t.Enabled, utils.IndexedSelectsCfg: t.IndexedSelects, utils.NestedFieldsCfg: t.NestedFields, diff --git a/config/thresholdscfg_test.go b/config/thresholdscfg_test.go index d1d6d48c7..596e3bf7e 100644 --- a/config/thresholdscfg_test.go +++ b/config/thresholdscfg_test.go @@ -118,7 +118,7 @@ func TestThresholdSCfgAsMapInterfaceCase1(t *testing.T) { cfgJSONStr := `{ "thresholds": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: false, utils.StoreIntervalCfg: "", utils.IndexedSelectsCfg: true, @@ -128,7 +128,7 @@ func TestThresholdSCfgAsMapInterfaceCase1(t *testing.T) { utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: false, utils.ActionSConnsCfg: []string{}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, }, @@ -155,7 +155,7 @@ func TestThresholdSCfgAsMapInterfaceCase2(t *testing.T) { "actions_conns": ["*internal"], }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.EnabledCfg: true, utils.StoreIntervalCfg: "96h0m0s", utils.IndexedSelectsCfg: false, @@ -166,7 +166,7 @@ func TestThresholdSCfgAsMapInterfaceCase2(t *testing.T) { utils.NotExistsIndexedFieldsCfg: []string{}, utils.NestedFieldsCfg: true, utils.ActionSConnsCfg: []string{utils.MetaInternal}, - utils.OptsCfg: map[string]interface{}{ + utils.OptsCfg: map[string]any{ utils.MetaProfileIDs: []*utils.DynamicStringSliceOpt{}, utils.MetaProfileIgnoreFilters: []*utils.DynamicBoolOpt{}, }, diff --git a/config/tlscfg.go b/config/tlscfg.go index 914adaa8a..174147277 100644 --- a/config/tlscfg.go +++ b/config/tlscfg.go @@ -71,9 +71,9 @@ func (tls *TLSCfg) loadFromJSONCfg(jsnCfg *TlsJsonCfg) (err error) { return } -// AsMapInterface returns the config as a map[string]interface{} -func (tls TLSCfg) AsMapInterface(string) interface{} { - return map[string]interface{}{ +// AsMapInterface returns the config as a map[string]any +func (tls TLSCfg) AsMapInterface(string) any { + return map[string]any{ utils.ServerCerificateCfg: tls.ServerCerificate, utils.ServerKeyCfg: tls.ServerKey, utils.ServerPolicyCfg: tls.ServerPolicy, diff --git a/config/tlscfg_test.go b/config/tlscfg_test.go index b8e81f3cd..e770dd924 100644 --- a/config/tlscfg_test.go +++ b/config/tlscfg_test.go @@ -60,7 +60,7 @@ func TestTlsCfgAsMapInterface(t *testing.T) { cfgJSONStr := ` { "tls": {}, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.ServerCerificateCfg: utils.EmptyString, utils.ServerKeyCfg: utils.EmptyString, utils.ServerPolicyCfg: 4, @@ -88,7 +88,7 @@ func TestTlsCfgAsMapInterface1(t *testing.T) { "server_policy":3, }, }` - eMap := map[string]interface{}{ + eMap := map[string]any{ utils.ServerCerificateCfg: "path/To/Server/Cert", utils.ServerKeyCfg: "path/To/Server/Key", utils.ServerPolicyCfg: 3, diff --git a/config/tpes.go b/config/tpes.go index bfb9b82b6..3fa7df5e3 100644 --- a/config/tpes.go +++ b/config/tpes.go @@ -45,8 +45,8 @@ func (tp *TpeSCfg) Load(ctx *context.Context, db ConfigDB, _ *CGRConfig) (err er return } -func (tp TpeSCfg) AsMapInterface(string) interface{} { - return map[string]interface{}{ +func (tp TpeSCfg) AsMapInterface(string) any { + return map[string]any{ utils.EnabledCfg: tp.Enabled, } } diff --git a/config/xmldp.go b/config/xmldp.go index 2f7e31f3a..e7c12841f 100644 --- a/config/xmldp.go +++ b/config/xmldp.go @@ -51,7 +51,7 @@ func (xP *XMLProvider) String() string { } // FieldAsInterface is part of engine.utils.DataProvider interface -func (xP *XMLProvider) FieldAsInterface(fldPath []string) (data interface{}, err error) { +func (xP *XMLProvider) FieldAsInterface(fldPath []string) (data any, err error) { if len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -86,7 +86,7 @@ func (xP *XMLProvider) FieldAsInterface(fldPath []string) (data interface{}, err // FieldAsString is part of engine.utils.DataProvider interface func (xP *XMLProvider) FieldAsString(fldPath []string) (data string, err error) { - var valIface interface{} + var valIface any valIface, err = xP.FieldAsInterface(fldPath) if err != nil { return diff --git a/console/account.go b/console/account.go index 91b46c3f4..336d46642 100644 --- a/console/account.go +++ b/console/account.go @@ -48,7 +48,7 @@ func (self *CmdGetAccount) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAccount) RpcParams(reset bool) interface{} { +func (self *CmdGetAccount) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdGetAccount) PostprocessRpcParams() error { return nil } -func (self *CmdGetAccount) RpcResult() interface{} { +func (self *CmdGetAccount) RpcResult() any { var atr utils.Account return &atr } diff --git a/console/account_ids.go b/console/account_ids.go index 7005d4444..a268822ae 100644 --- a/console/account_ids.go +++ b/console/account_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetAccountIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAccountIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetAccountIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetAccountIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetAccountIDs) RpcResult() interface{} { +func (self *CmdGetAccountIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/account_remove.go b/console/account_remove.go index 4c465cd39..2b5c31404 100644 --- a/console/account_remove.go +++ b/console/account_remove.go @@ -45,9 +45,9 @@ func (self *CmdRemoveAccount) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveAccount) RpcParams(reset bool) interface{} { +func (self *CmdRemoveAccount) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -56,7 +56,7 @@ func (self *CmdRemoveAccount) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveAccount) RpcResult() interface{} { +func (self *CmdRemoveAccount) RpcResult() any { var s string return &s } diff --git a/console/account_set.go b/console/account_set.go index 58d5b6076..f5f7b63d1 100644 --- a/console/account_set.go +++ b/console/account_set.go @@ -47,7 +47,7 @@ func (self *CmdSetAccount) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetAccount) RpcParams(reset bool) interface{} { +func (self *CmdSetAccount) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AccountWithAPIOpts{Account: new(utils.Account)} } @@ -58,7 +58,7 @@ func (self *CmdSetAccount) PostprocessRpcParams() error { return nil } -func (self *CmdSetAccount) RpcResult() interface{} { +func (self *CmdSetAccount) RpcResult() any { var s string return &s } diff --git a/console/accounts.go b/console/accounts.go index b1a2c6602..54957fc80 100644 --- a/console/accounts.go +++ b/console/accounts.go @@ -48,7 +48,7 @@ func (self *CmdGetAccounts) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAccounts) RpcParams(reset bool) interface{} { +func (self *CmdGetAccounts) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetAccounts) PostprocessRpcParams() error { return nil } -func (self *CmdGetAccounts) RpcResult() interface{} { +func (self *CmdGetAccounts) RpcResult() any { var accs []*utils.Account return &accs } diff --git a/console/active_sessions.go b/console/active_sessions.go index dbd346be3..bf31ca091 100644 --- a/console/active_sessions.go +++ b/console/active_sessions.go @@ -36,7 +36,7 @@ func init() { type CmdActiveSessions struct { name string rpcMethod string - rpcParams interface{} + rpcParams any *CommandExecuter } @@ -48,9 +48,9 @@ func (self *CmdActiveSessions) RpcMethod() string { return self.rpcMethod } -func (self *CmdActiveSessions) RpcParams(reset bool) interface{} { +func (self *CmdActiveSessions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]any)} } return self.rpcParams @@ -62,12 +62,12 @@ func (self *CmdActiveSessions) PostprocessRpcParams() error { return nil } -func (self *CmdActiveSessions) RpcResult() interface{} { +func (self *CmdActiveSessions) RpcResult() any { var sessions []*sessions.ExternalSession return &sessions } -func (self *CmdActiveSessions) GetFormatedResult(result interface{}) string { +func (self *CmdActiveSessions) GetFormatedResult(result any) string { return GetFormatedSliceResult(result, utils.StringSet{ utils.Usage: {}, utils.DurationIndex: {}, diff --git a/console/attribute_profile.go b/console/attribute_profile.go index 7ae0a7ca1..8780a547c 100644 --- a/console/attribute_profile.go +++ b/console/attribute_profile.go @@ -49,7 +49,7 @@ func (self *CmdGetAttributeProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAttributeProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetAttributeProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -60,7 +60,7 @@ func (self *CmdGetAttributeProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetAttributeProfile) RpcResult() interface{} { +func (self *CmdGetAttributeProfile) RpcResult() any { var atr engine.APIAttributeProfile return &atr } diff --git a/console/attribute_profile_ids.go b/console/attribute_profile_ids.go index 52a97e6e4..be8ebcc96 100644 --- a/console/attribute_profile_ids.go +++ b/console/attribute_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetAttributeProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAttributeProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetAttributeProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetAttributeProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetAttributeProfileIDs) RpcResult() interface{} { +func (self *CmdGetAttributeProfileIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/attribute_profile_remove.go b/console/attribute_profile_remove.go index 5f62e57e3..84b2d9b48 100644 --- a/console/attribute_profile_remove.go +++ b/console/attribute_profile_remove.go @@ -45,9 +45,9 @@ func (self *CmdRemoveAttributeProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveAttributeProfile) RpcParams(reset bool) interface{} { +func (self *CmdRemoveAttributeProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -56,7 +56,7 @@ func (self *CmdRemoveAttributeProfile) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveAttributeProfile) RpcResult() interface{} { +func (self *CmdRemoveAttributeProfile) RpcResult() any { var s string return &s } diff --git a/console/attribute_profile_set.go b/console/attribute_profile_set.go index 1353f1186..666e99bfe 100644 --- a/console/attribute_profile_set.go +++ b/console/attribute_profile_set.go @@ -48,7 +48,7 @@ func (self *CmdSetAttributeProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetAttributeProfile) RpcParams(reset bool) interface{} { +func (self *CmdSetAttributeProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.APIAttributeProfileWithAPIOpts{APIAttributeProfile: new(engine.APIAttributeProfile)} } @@ -59,7 +59,7 @@ func (self *CmdSetAttributeProfile) PostprocessRpcParams() error { return nil } -func (self *CmdSetAttributeProfile) RpcResult() interface{} { +func (self *CmdSetAttributeProfile) RpcResult() any { var s string return &s } diff --git a/console/attribute_profiles.go b/console/attribute_profiles.go index ac9b75ccb..62422ea6c 100644 --- a/console/attribute_profiles.go +++ b/console/attribute_profiles.go @@ -49,7 +49,7 @@ func (self *CmdGetAttributes) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAttributes) RpcParams(reset bool) interface{} { +func (self *CmdGetAttributes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -60,7 +60,7 @@ func (self *CmdGetAttributes) PostprocessRpcParams() error { return nil } -func (self *CmdGetAttributes) RpcResult() interface{} { +func (self *CmdGetAttributes) RpcResult() any { var atr []*engine.APIAttributeProfile return &atr } diff --git a/console/attributes_for_event.go b/console/attributes_for_event.go index 59608dafb..b25f8abdb 100644 --- a/console/attributes_for_event.go +++ b/console/attributes_for_event.go @@ -48,7 +48,7 @@ func (self *CmdGetAttributeForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetAttributeForEvent) RpcParams(reset bool) interface{} { +func (self *CmdGetAttributeForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,7 +59,7 @@ func (self *CmdGetAttributeForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdGetAttributeForEvent) RpcResult() interface{} { +func (self *CmdGetAttributeForEvent) RpcResult() any { var atr engine.AttributeProfile return &atr } diff --git a/console/attributes_process_event.go b/console/attributes_process_event.go index 1ac23e725..d67943b36 100644 --- a/console/attributes_process_event.go +++ b/console/attributes_process_event.go @@ -48,7 +48,7 @@ func (self *CmdAttributesProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdAttributesProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdAttributesProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,12 +59,12 @@ func (self *CmdAttributesProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdAttributesProcessEvent) RpcResult() interface{} { +func (self *CmdAttributesProcessEvent) RpcResult() any { var atr engine.AttrSProcessEventReply return &atr } -func (self *CmdAttributesProcessEvent) GetFormatedResult(result interface{}) string { +func (self *CmdAttributesProcessEvent) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, }) diff --git a/console/cache_clear.go b/console/cache_clear.go index 9457ea585..59a957cbf 100644 --- a/console/cache_clear.go +++ b/console/cache_clear.go @@ -48,7 +48,7 @@ func (self *CmdClear) RpcMethod() string { return self.rpcMethod } -func (self *CmdClear) RpcParams(reset bool) interface{} { +func (self *CmdClear) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.AttrCacheIDsWithAPIOpts) } @@ -59,7 +59,7 @@ func (self *CmdClear) PostprocessRpcParams() error { return nil } -func (self *CmdClear) RpcResult() interface{} { +func (self *CmdClear) RpcResult() any { var reply string return &reply } diff --git a/console/cache_group_item_id.go b/console/cache_group_item_id.go index 28e5994fa..c9761ccbb 100644 --- a/console/cache_group_item_id.go +++ b/console/cache_group_item_id.go @@ -48,7 +48,7 @@ func (self *CmdCacheGetGroupItemIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheGetGroupItemIDs) RpcParams(reset bool) interface{} { +func (self *CmdCacheGetGroupItemIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetGroupWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheGetGroupItemIDs) PostprocessRpcParams() error { return nil } -func (self *CmdCacheGetGroupItemIDs) RpcResult() interface{} { +func (self *CmdCacheGetGroupItemIDs) RpcResult() any { var reply []string return &reply } diff --git a/console/cache_has_group.go b/console/cache_has_group.go index 01c38fb2f..1cea6a912 100644 --- a/console/cache_has_group.go +++ b/console/cache_has_group.go @@ -48,7 +48,7 @@ func (self *CmdCacheHasGroup) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheHasGroup) RpcParams(reset bool) interface{} { +func (self *CmdCacheHasGroup) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetGroupWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheHasGroup) PostprocessRpcParams() error { return nil } -func (self *CmdCacheHasGroup) RpcResult() interface{} { +func (self *CmdCacheHasGroup) RpcResult() any { var reply bool return &reply } diff --git a/console/cache_has_item.go b/console/cache_has_item.go index 0cc2bd700..8a47e4261 100644 --- a/console/cache_has_item.go +++ b/console/cache_has_item.go @@ -48,7 +48,7 @@ func (self *CmdCacheHasItem) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheHasItem) RpcParams(reset bool) interface{} { +func (self *CmdCacheHasItem) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetCacheItemWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheHasItem) PostprocessRpcParams() error { return nil } -func (self *CmdCacheHasItem) RpcResult() interface{} { +func (self *CmdCacheHasItem) RpcResult() any { var reply bool return &reply } diff --git a/console/cache_item_expiry_time.go b/console/cache_item_expiry_time.go index 4d013421b..d728dab6b 100644 --- a/console/cache_item_expiry_time.go +++ b/console/cache_item_expiry_time.go @@ -50,7 +50,7 @@ func (self *CmdCacheGetItemExpiryTime) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheGetItemExpiryTime) RpcParams(reset bool) interface{} { +func (self *CmdCacheGetItemExpiryTime) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetCacheItemWithAPIOpts{} } @@ -61,7 +61,7 @@ func (self *CmdCacheGetItemExpiryTime) PostprocessRpcParams() error { return nil } -func (self *CmdCacheGetItemExpiryTime) RpcResult() interface{} { +func (self *CmdCacheGetItemExpiryTime) RpcResult() any { var reply time.Time return &reply } diff --git a/console/cache_item_ids.go b/console/cache_item_ids.go index 4922a7a65..f8143c455 100644 --- a/console/cache_item_ids.go +++ b/console/cache_item_ids.go @@ -48,7 +48,7 @@ func (self *CmdCacheGetItemIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheGetItemIDs) RpcParams(reset bool) interface{} { +func (self *CmdCacheGetItemIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetCacheItemIDsWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheGetItemIDs) PostprocessRpcParams() error { return nil } -func (self *CmdCacheGetItemIDs) RpcResult() interface{} { +func (self *CmdCacheGetItemIDs) RpcResult() any { var reply []string return &reply } diff --git a/console/cache_precache_status.go b/console/cache_precache_status.go index 574fe66ef..520a24cac 100644 --- a/console/cache_precache_status.go +++ b/console/cache_precache_status.go @@ -48,7 +48,7 @@ func (self *CmdGetPrecacheStatus) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetPrecacheStatus) RpcParams(reset bool) interface{} { +func (self *CmdGetPrecacheStatus) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.AttrCacheIDsWithAPIOpts) } @@ -59,7 +59,7 @@ func (self *CmdGetPrecacheStatus) PostprocessRpcParams() error { return nil } -func (self *CmdGetPrecacheStatus) RpcResult() interface{} { +func (self *CmdGetPrecacheStatus) RpcResult() any { reply := make(map[string]string) return &reply } diff --git a/console/cache_reload.go b/console/cache_reload.go index d51b57f96..cc0db59e3 100644 --- a/console/cache_reload.go +++ b/console/cache_reload.go @@ -47,7 +47,7 @@ func (self *CmdReloadCache) RpcMethod() string { return self.rpcMethod } -func (self *CmdReloadCache) RpcParams(reset bool) interface{} { +func (self *CmdReloadCache) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrReloadCacheWithAPIOpts{} } @@ -58,7 +58,7 @@ func (self *CmdReloadCache) PostprocessRpcParams() error { return nil } -func (self *CmdReloadCache) RpcResult() interface{} { +func (self *CmdReloadCache) RpcResult() any { var s string return &s } diff --git a/console/cache_remove_group.go b/console/cache_remove_group.go index 21145e81d..fd1f11b03 100644 --- a/console/cache_remove_group.go +++ b/console/cache_remove_group.go @@ -48,7 +48,7 @@ func (self *CmdCacheRemoveGroup) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheRemoveGroup) RpcParams(reset bool) interface{} { +func (self *CmdCacheRemoveGroup) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetGroupWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheRemoveGroup) PostprocessRpcParams() error { return nil } -func (self *CmdCacheRemoveGroup) RpcResult() interface{} { +func (self *CmdCacheRemoveGroup) RpcResult() any { var reply string return &reply } diff --git a/console/cache_remove_item.go b/console/cache_remove_item.go index 637fb8bf2..7b4b0437a 100644 --- a/console/cache_remove_item.go +++ b/console/cache_remove_item.go @@ -48,7 +48,7 @@ func (self *CmdCacheRemoveItem) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheRemoveItem) RpcParams(reset bool) interface{} { +func (self *CmdCacheRemoveItem) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsGetCacheItemWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdCacheRemoveItem) PostprocessRpcParams() error { return nil } -func (self *CmdCacheRemoveItem) RpcResult() interface{} { +func (self *CmdCacheRemoveItem) RpcResult() any { var reply string return &reply } diff --git a/console/cache_stats.go b/console/cache_stats.go index d54db95e5..9884dfa09 100644 --- a/console/cache_stats.go +++ b/console/cache_stats.go @@ -49,7 +49,7 @@ func (self *CmdGetCacheStats) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetCacheStats) RpcParams(reset bool) interface{} { +func (self *CmdGetCacheStats) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.AttrCacheIDsWithAPIOpts) } @@ -60,7 +60,7 @@ func (self *CmdGetCacheStats) PostprocessRpcParams() error { return nil } -func (self *CmdGetCacheStats) RpcResult() interface{} { +func (self *CmdGetCacheStats) RpcResult() any { reply := make(map[string]*ltcache.CacheStats) return &reply } diff --git a/console/charger_profile.go b/console/charger_profile.go index 4ce66cf70..95c067e77 100644 --- a/console/charger_profile.go +++ b/console/charger_profile.go @@ -49,7 +49,7 @@ func (self *CmdGetChargerProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetChargerProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetChargerProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -60,7 +60,7 @@ func (self *CmdGetChargerProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetChargerProfile) RpcResult() interface{} { +func (self *CmdGetChargerProfile) RpcResult() any { var atr engine.ChargerProfile return &atr } diff --git a/console/charger_profile_ids.go b/console/charger_profile_ids.go index bd09361af..44a134579 100644 --- a/console/charger_profile_ids.go +++ b/console/charger_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetChargerProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetChargerProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetChargerProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetChargerProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetChargerProfileIDs) RpcResult() interface{} { +func (self *CmdGetChargerProfileIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/charger_profile_remove.go b/console/charger_profile_remove.go index ba6bd2a53..a72de798b 100644 --- a/console/charger_profile_remove.go +++ b/console/charger_profile_remove.go @@ -45,7 +45,7 @@ func (self *CmdRemoveChargerProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveChargerProfile) RpcParams(reset bool) interface{} { +func (self *CmdRemoveChargerProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -56,7 +56,7 @@ func (self *CmdRemoveChargerProfile) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveChargerProfile) RpcResult() interface{} { +func (self *CmdRemoveChargerProfile) RpcResult() any { var s string return &s } diff --git a/console/charger_profile_set.go b/console/charger_profile_set.go index 002c7a45c..2920a208b 100644 --- a/console/charger_profile_set.go +++ b/console/charger_profile_set.go @@ -49,7 +49,7 @@ func (self *CmdSetChargerProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetChargerProfile) RpcParams(reset bool) interface{} { +func (self *CmdSetChargerProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &apis.ChargerWithAPIOpts{ChargerProfile: new(engine.ChargerProfile)} } @@ -60,7 +60,7 @@ func (self *CmdSetChargerProfile) PostprocessRpcParams() error { return nil } -func (self *CmdSetChargerProfile) RpcResult() interface{} { +func (self *CmdSetChargerProfile) RpcResult() any { var s string return &s } diff --git a/console/charger_profiles.go b/console/charger_profiles.go index d5e08c451..a0498d581 100644 --- a/console/charger_profiles.go +++ b/console/charger_profiles.go @@ -49,7 +49,7 @@ func (self *CmdGetChargerProfiles) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetChargerProfiles) RpcParams(reset bool) interface{} { +func (self *CmdGetChargerProfiles) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -60,7 +60,7 @@ func (self *CmdGetChargerProfiles) PostprocessRpcParams() error { return nil } -func (self *CmdGetChargerProfiles) RpcResult() interface{} { +func (self *CmdGetChargerProfiles) RpcResult() any { var atr []*engine.ChargerProfile return &atr } diff --git a/console/chargers_for_event.go b/console/chargers_for_event.go index f24c19042..376174247 100644 --- a/console/chargers_for_event.go +++ b/console/chargers_for_event.go @@ -48,7 +48,7 @@ func (self *CmdGetChargersForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetChargersForEvent) RpcParams(reset bool) interface{} { +func (self *CmdGetChargersForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,7 +59,7 @@ func (self *CmdGetChargersForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdGetChargersForEvent) RpcResult() interface{} { +func (self *CmdGetChargersForEvent) RpcResult() any { var atr engine.ChargerProfiles return &atr } diff --git a/console/chargers_process_event.go b/console/chargers_process_event.go index 4ea94caca..ad2a16f1c 100644 --- a/console/chargers_process_event.go +++ b/console/chargers_process_event.go @@ -48,7 +48,7 @@ func (self *CmdChargersProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdChargersProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdChargersProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,12 +59,12 @@ func (self *CmdChargersProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdChargersProcessEvent) RpcResult() interface{} { +func (self *CmdChargersProcessEvent) RpcResult() any { var atr []*engine.ChrgSProcessEventReply return &atr } -func (self *CmdChargersProcessEvent) GetFormatedResult(result interface{}) string { +func (self *CmdChargersProcessEvent) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, }) diff --git a/console/command.go b/console/command.go index 7907aa527..ad84151c6 100644 --- a/console/command.go +++ b/console/command.go @@ -34,13 +34,13 @@ type Commander interface { FromArgs(args string, verbose bool) error // Load data from os arguments or flag.Args() Usage() string // usage message RpcMethod() string // Method which should be called remotely - RpcParams(bool) interface{} // Parameters to send out on rpc + RpcParams(bool) any // Parameters to send out on rpc PostprocessRpcParams() error // Corrects rpc parameters when needed - RpcResult() interface{} // Only requirement is to have a String method to print on console + RpcResult() any // Only requirement is to have a String method to print on console ClientArgs() []string // for autocompletion Name() string LocalExecute() string - GetFormatedResult(result interface{}) string + GetFormatedResult(result any) string } func GetCommands() map[string]Commander { diff --git a/console/command_executer.go b/console/command_executer.go index a085c2b6e..b518fdf57 100644 --- a/console/command_executer.go +++ b/console/command_executer.go @@ -59,7 +59,7 @@ func (ce *CommandExecuter) FromArgs(args string, verbose bool) error { return nil } -func (ce *CommandExecuter) clientArgs(iface interface{}) (args []string) { +func (ce *CommandExecuter) clientArgs(iface any) (args []string) { val := reflect.ValueOf(iface) if val.Kind() == reflect.Ptr { val = val.Elem() @@ -136,7 +136,7 @@ func FromJSON(jsn []byte, interestingFields []string) (line string) { return strings.TrimSpace(line) } -func getStringValue(v interface{}, defaultDurationFields utils.StringSet) string { +func getStringValue(v any, defaultDurationFields utils.StringSet) string { switch o := v.(type) { case nil: return "null" @@ -146,15 +146,15 @@ func getStringValue(v interface{}, defaultDurationFields utils.StringSet) string return fmt.Sprintf(`%v`, o) case string: return fmt.Sprintf(`"%s"`, o) - case map[string]interface{}: + case map[string]any: return getMapAsString(o, defaultDurationFields) - case []interface{}: + case []any: return getSliceAsString(o, defaultDurationFields) } return utils.ToJSON(v) } -func getSliceAsString(mp []interface{}, defaultDurationFields utils.StringSet) (out string) { +func getSliceAsString(mp []any, defaultDurationFields utils.StringSet) (out string) { out = utils.IdxStart for _, v := range mp { out += fmt.Sprintf(`%s,`, getStringValue(v, defaultDurationFields)) @@ -162,7 +162,7 @@ func getSliceAsString(mp []interface{}, defaultDurationFields utils.StringSet) ( return strings.TrimSuffix(out, utils.FieldsSep) + utils.IdxEnd } -func getMapAsString(mp map[string]interface{}, defaultDurationFields utils.StringSet) (out string) { +func getMapAsString(mp map[string]any, defaultDurationFields utils.StringSet) (out string) { // in order to find the data faster keylist := []string{} // add key value pairs to list so at the end we can sort them for k, v := range mp { @@ -178,9 +178,9 @@ func getMapAsString(mp map[string]interface{}, defaultDurationFields utils.Strin return fmt.Sprintf(`{%s}`, strings.Join(keylist, utils.FieldsSep)) } -func GetFormatedResult(result interface{}, defaultDurationFields utils.StringSet) string { +func GetFormatedResult(result any, defaultDurationFields utils.StringSet) string { jsonResult, _ := json.Marshal(result) - var mp map[string]interface{} + var mp map[string]any if err := json.Unmarshal(jsonResult, &mp); err != nil { out, _ := json.MarshalIndent(result, utils.EmptyString, " ") return string(out) @@ -191,9 +191,9 @@ func GetFormatedResult(result interface{}, defaultDurationFields utils.StringSet return out.String() } -func GetFormatedSliceResult(result interface{}, defaultDurationFields utils.StringSet) string { +func GetFormatedSliceResult(result any, defaultDurationFields utils.StringSet) string { jsonResult, _ := json.Marshal(result) - var mp []interface{} + var mp []any if err := json.Unmarshal(jsonResult, &mp); err != nil { out, _ := json.MarshalIndent(result, utils.EmptyString, " ") return string(out) @@ -204,7 +204,7 @@ func GetFormatedSliceResult(result interface{}, defaultDurationFields utils.Stri return out.String() } -func (ce *CommandExecuter) GetFormatedResult(result interface{}) string { +func (ce *CommandExecuter) GetFormatedResult(result any) string { out, _ := json.MarshalIndent(result, utils.EmptyString, " ") return string(out) } diff --git a/console/compute_filter_indexes.go b/console/compute_filter_indexes.go index 21fb7969f..d666846e9 100644 --- a/console/compute_filter_indexes.go +++ b/console/compute_filter_indexes.go @@ -46,7 +46,7 @@ func (self *CmdComputeFilterIndexes) RpcMethod() string { return self.rpcMethod } -func (self *CmdComputeFilterIndexes) RpcParams(reset bool) interface{} { +func (self *CmdComputeFilterIndexes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsComputeFilterIndexes{} } @@ -57,7 +57,7 @@ func (self *CmdComputeFilterIndexes) PostprocessRpcParams() error { return nil } -func (self *CmdComputeFilterIndexes) RpcResult() interface{} { +func (self *CmdComputeFilterIndexes) RpcResult() any { var reply string return &reply } diff --git a/console/datadb_versions.go b/console/datadb_versions.go index efcb68daf..c5d305e4d 100644 --- a/console/datadb_versions.go +++ b/console/datadb_versions.go @@ -47,7 +47,7 @@ func (self *CmdGetDataDBVersions) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDataDBVersions) RpcParams(reset bool) interface{} { +func (self *CmdGetDataDBVersions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &EmptyWrapper{} } @@ -58,7 +58,7 @@ func (self *CmdGetDataDBVersions) PostprocessRpcParams() error { return nil } -func (self *CmdGetDataDBVersions) RpcResult() interface{} { +func (self *CmdGetDataDBVersions) RpcResult() any { var s engine.Versions return &s } diff --git a/console/dispatcher_host.go b/console/dispatcher_host.go index 12b2b4055..67dc0c4de 100644 --- a/console/dispatcher_host.go +++ b/console/dispatcher_host.go @@ -49,7 +49,7 @@ func (self *CmdGetDispatcherHost) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherHost) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherHost) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.TenantIDWithAPIOpts) } @@ -60,7 +60,7 @@ func (self *CmdGetDispatcherHost) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherHost) RpcResult() interface{} { +func (self *CmdGetDispatcherHost) RpcResult() any { var s engine.DispatcherHost return &s } diff --git a/console/dispatcher_host_ids.go b/console/dispatcher_host_ids.go index aae9337c4..a81d993e8 100644 --- a/console/dispatcher_host_ids.go +++ b/console/dispatcher_host_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetDispatcherHostIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherHostIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherHostIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.ArgsItemIDs) } @@ -59,7 +59,7 @@ func (self *CmdGetDispatcherHostIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherHostIDs) RpcResult() interface{} { +func (self *CmdGetDispatcherHostIDs) RpcResult() any { var s []string return &s } diff --git a/console/dispatcher_host_remove.go b/console/dispatcher_host_remove.go index cf3851daf..7cc5c738d 100644 --- a/console/dispatcher_host_remove.go +++ b/console/dispatcher_host_remove.go @@ -48,9 +48,9 @@ func (self *CmdRemoveDispatcherHost) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveDispatcherHost) RpcParams(reset bool) interface{} { +func (self *CmdRemoveDispatcherHost) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -59,7 +59,7 @@ func (self *CmdRemoveDispatcherHost) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveDispatcherHost) RpcResult() interface{} { +func (self *CmdRemoveDispatcherHost) RpcResult() any { var s string return &s } diff --git a/console/dispatcher_host_set.go b/console/dispatcher_host_set.go index e7860fc1d..d5198f726 100644 --- a/console/dispatcher_host_set.go +++ b/console/dispatcher_host_set.go @@ -49,11 +49,11 @@ func (self *CmdSetDispatcherHost) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetDispatcherHost) RpcParams(reset bool) interface{} { +func (self *CmdSetDispatcherHost) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.DispatcherHostWithAPIOpts{ DispatcherHost: new(engine.DispatcherHost), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdSetDispatcherHost) PostprocessRpcParams() error { return nil } -func (self *CmdSetDispatcherHost) RpcResult() interface{} { +func (self *CmdSetDispatcherHost) RpcResult() any { var s string return &s } diff --git a/console/dispatcher_hosts.go b/console/dispatcher_hosts.go index 15a8e3491..08ee802c9 100644 --- a/console/dispatcher_hosts.go +++ b/console/dispatcher_hosts.go @@ -49,7 +49,7 @@ func (self *CmdGetDispatcherHosts) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherHosts) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherHosts) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.ArgsItemIDs) } @@ -60,7 +60,7 @@ func (self *CmdGetDispatcherHosts) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherHosts) RpcResult() interface{} { +func (self *CmdGetDispatcherHosts) RpcResult() any { var s []*engine.DispatcherHost return &s } diff --git a/console/dispatcher_profile.go b/console/dispatcher_profile.go index 3998b6f4c..afc3d720f 100644 --- a/console/dispatcher_profile.go +++ b/console/dispatcher_profile.go @@ -49,7 +49,7 @@ func (self *CmdGetDispatcherProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.TenantIDWithAPIOpts) } @@ -60,7 +60,7 @@ func (self *CmdGetDispatcherProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherProfile) RpcResult() interface{} { +func (self *CmdGetDispatcherProfile) RpcResult() any { var s engine.DispatcherProfile return &s } diff --git a/console/dispatcher_profile_ids.go b/console/dispatcher_profile_ids.go index 9f5ce3c6d..3b0b34a2d 100644 --- a/console/dispatcher_profile_ids.go +++ b/console/dispatcher_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetDispatcherProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.ArgsItemIDs) } @@ -59,7 +59,7 @@ func (self *CmdGetDispatcherProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherProfileIDs) RpcResult() interface{} { +func (self *CmdGetDispatcherProfileIDs) RpcResult() any { var s []string return &s } diff --git a/console/dispatcher_profile_remove.go b/console/dispatcher_profile_remove.go index 6ee2c7e47..1e5cd5a27 100644 --- a/console/dispatcher_profile_remove.go +++ b/console/dispatcher_profile_remove.go @@ -48,9 +48,9 @@ func (self *CmdRemoveDispatcherProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveDispatcherProfile) RpcParams(reset bool) interface{} { +func (self *CmdRemoveDispatcherProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -59,7 +59,7 @@ func (self *CmdRemoveDispatcherProfile) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveDispatcherProfile) RpcResult() interface{} { +func (self *CmdRemoveDispatcherProfile) RpcResult() any { var s string return &s } diff --git a/console/dispatcher_profile_set.go b/console/dispatcher_profile_set.go index dbfc34723..2a25d0eae 100644 --- a/console/dispatcher_profile_set.go +++ b/console/dispatcher_profile_set.go @@ -50,11 +50,11 @@ func (self *CmdSetDispatcherProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetDispatcherProfile) RpcParams(reset bool) interface{} { +func (self *CmdSetDispatcherProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &apis.DispatcherWithAPIOpts{ DispatcherProfile: new(engine.DispatcherProfile), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -64,7 +64,7 @@ func (self *CmdSetDispatcherProfile) PostprocessRpcParams() error { return nil } -func (self *CmdSetDispatcherProfile) RpcResult() interface{} { +func (self *CmdSetDispatcherProfile) RpcResult() any { var s string return &s } diff --git a/console/dispatcher_profiles.go b/console/dispatcher_profiles.go index fbe2cef8e..8ae2ef065 100644 --- a/console/dispatcher_profiles.go +++ b/console/dispatcher_profiles.go @@ -49,7 +49,7 @@ func (self *CmdGetDispatcherProfiles) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetDispatcherProfiles) RpcParams(reset bool) interface{} { +func (self *CmdGetDispatcherProfiles) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.ArgsItemIDs) } @@ -60,7 +60,7 @@ func (self *CmdGetDispatcherProfiles) PostprocessRpcParams() error { return nil } -func (self *CmdGetDispatcherProfiles) RpcResult() interface{} { +func (self *CmdGetDispatcherProfiles) RpcResult() any { var s []*engine.DispatcherProfile return &s } diff --git a/console/dispatchers_for_event.go b/console/dispatchers_for_event.go index d86206bf5..98f7a8027 100644 --- a/console/dispatchers_for_event.go +++ b/console/dispatchers_for_event.go @@ -48,7 +48,7 @@ func (self *CmdDispatcherProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdDispatcherProfile) RpcParams(reset bool) interface{} { +func (self *CmdDispatcherProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,7 +59,7 @@ func (self *CmdDispatcherProfile) PostprocessRpcParams() error { return nil } -func (self *CmdDispatcherProfile) RpcResult() interface{} { +func (self *CmdDispatcherProfile) RpcResult() any { var s engine.DispatcherProfiles return &s } diff --git a/console/filter.go b/console/filter.go index e22b94d76..bb8794586 100644 --- a/console/filter.go +++ b/console/filter.go @@ -49,7 +49,7 @@ func (self *CmdGetFilter) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetFilter) RpcParams(reset bool) interface{} { +func (self *CmdGetFilter) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -60,7 +60,7 @@ func (self *CmdGetFilter) PostprocessRpcParams() error { return nil } -func (self *CmdGetFilter) RpcResult() interface{} { +func (self *CmdGetFilter) RpcResult() any { var atr engine.Filter return &atr } diff --git a/console/filter_ids.go b/console/filter_ids.go index 37139dba7..dffe5dded 100644 --- a/console/filter_ids.go +++ b/console/filter_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetFilterIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetFilterIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetFilterIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetFilterIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetFilterIDs) RpcResult() interface{} { +func (self *CmdGetFilterIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/filter_indexes.go b/console/filter_indexes.go index da50bf8bd..c367f4ca9 100644 --- a/console/filter_indexes.go +++ b/console/filter_indexes.go @@ -49,7 +49,7 @@ func (self *CmdGetFilterIndexes) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetFilterIndexes) RpcParams(reset bool) interface{} { +func (self *CmdGetFilterIndexes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrGetFilterIndexes{} } @@ -60,7 +60,7 @@ func (self *CmdGetFilterIndexes) PostprocessRpcParams() error { return nil } -func (self *CmdGetFilterIndexes) RpcResult() interface{} { +func (self *CmdGetFilterIndexes) RpcResult() any { var atr []string return &atr } diff --git a/console/filter_indexes_remove.go b/console/filter_indexes_remove.go index d43c3a029..b12fb359e 100644 --- a/console/filter_indexes_remove.go +++ b/console/filter_indexes_remove.go @@ -45,7 +45,7 @@ func (self *CmdRemoveFilterIndexes) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveFilterIndexes) RpcParams(reset bool) interface{} { +func (self *CmdRemoveFilterIndexes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.AttrRemFilterIndexes{} } @@ -56,7 +56,7 @@ func (self *CmdRemoveFilterIndexes) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveFilterIndexes) RpcResult() interface{} { +func (self *CmdRemoveFilterIndexes) RpcResult() any { var atr string return &atr } diff --git a/console/filter_remove.go b/console/filter_remove.go index 679c8d785..f4ff2e84f 100644 --- a/console/filter_remove.go +++ b/console/filter_remove.go @@ -46,9 +46,9 @@ func (self *CmdRemoveFilter) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveFilter) RpcParams(reset bool) interface{} { +func (self *CmdRemoveFilter) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -57,7 +57,7 @@ func (self *CmdRemoveFilter) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveFilter) RpcResult() interface{} { +func (self *CmdRemoveFilter) RpcResult() any { var s string return &s } diff --git a/console/filter_set.go b/console/filter_set.go index 1f71017e1..e91d2c10e 100644 --- a/console/filter_set.go +++ b/console/filter_set.go @@ -49,7 +49,7 @@ func (self *CmdSetFilter) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetFilter) RpcParams(reset bool) interface{} { +func (self *CmdSetFilter) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.FilterWithAPIOpts{Filter: new(engine.Filter)} } @@ -60,7 +60,7 @@ func (self *CmdSetFilter) PostprocessRpcParams() error { return nil } -func (self *CmdSetFilter) RpcResult() interface{} { +func (self *CmdSetFilter) RpcResult() any { var s string return &s } diff --git a/console/filters.go b/console/filters.go index 155076f1c..4a26a41ec 100644 --- a/console/filters.go +++ b/console/filters.go @@ -49,7 +49,7 @@ func (self *CmdGetFilters) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetFilters) RpcParams(reset bool) interface{} { +func (self *CmdGetFilters) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -60,7 +60,7 @@ func (self *CmdGetFilters) PostprocessRpcParams() error { return nil } -func (self *CmdGetFilters) RpcResult() interface{} { +func (self *CmdGetFilters) RpcResult() any { var atr []*engine.Filter return &atr } diff --git a/console/get_json_section.go b/console/get_json_section.go index 0a2e6ea58..197450911 100644 --- a/console/get_json_section.go +++ b/console/get_json_section.go @@ -49,9 +49,9 @@ func (self *CmdGetJSONConfig) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetJSONConfig) RpcParams(reset bool) interface{} { +func (self *CmdGetJSONConfig) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &config.SectionWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &config.SectionWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -60,7 +60,7 @@ func (self *CmdGetJSONConfig) PostprocessRpcParams() error { return nil } -func (self *CmdGetJSONConfig) RpcResult() interface{} { - var s map[string]interface{} +func (self *CmdGetJSONConfig) RpcResult() any { + var s map[string]any return &s } diff --git a/console/import_tp_from_folder.go b/console/import_tp_from_folder.go index f20b621a4..8ed66d734 100644 --- a/console/import_tp_from_folder.go +++ b/console/import_tp_from_folder.go @@ -46,7 +46,7 @@ func (self *ImportTpFromFolder) RpcMethod() string { return self.rpcMethod } -func (self *ImportTpFromFolder) RpcParams(reset bool) interface{} { +func (self *ImportTpFromFolder) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrImportTPFromFolder{} } @@ -57,7 +57,7 @@ func (self *ImportTpFromFolder) PostprocessRpcParams() error { return nil } -func (self *ImportTpFromFolder) RpcResult() interface{} { +func (self *ImportTpFromFolder) RpcResult() any { var s string return &s } diff --git a/console/load_history.go b/console/load_history.go index 45309c8f4..da853fd54 100644 --- a/console/load_history.go +++ b/console/load_history.go @@ -46,7 +46,7 @@ func (self *CmdGetLoadHistory) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetLoadHistory) RpcParams(reset bool) interface{} { +func (self *CmdGetLoadHistory) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.Paginator) } @@ -57,7 +57,7 @@ func (self *CmdGetLoadHistory) PostprocessRpcParams() error { return nil } -func (self *CmdGetLoadHistory) RpcResult() interface{} { +func (self *CmdGetLoadHistory) RpcResult() any { a := make([]*utils.LoadInstance, 0) return &a } diff --git a/console/load_ids.go b/console/load_ids.go index ca535c6d6..e255b0f8b 100644 --- a/console/load_ids.go +++ b/console/load_ids.go @@ -43,7 +43,7 @@ func (self *CmdCacheVersions) RpcMethod() string { return self.rpcMethod } -func (self *CmdCacheVersions) RpcParams(reset bool) interface{} { +func (self *CmdCacheVersions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &StringWrapper{} } @@ -54,7 +54,7 @@ func (self *CmdCacheVersions) PostprocessRpcParams() error { return nil } -func (self *CmdCacheVersions) RpcResult() interface{} { +func (self *CmdCacheVersions) RpcResult() any { a := make(map[string]int64, 0) return &a } diff --git a/console/load_times.go b/console/load_times.go index 2e8a94bc7..1fc884deb 100644 --- a/console/load_times.go +++ b/console/load_times.go @@ -49,7 +49,7 @@ func (self *CmdLoadTimes) RpcMethod() string { return self.rpcMethod } -func (self *CmdLoadTimes) RpcParams(reset bool) interface{} { +func (self *CmdLoadTimes) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.LoadTimeArgs{} } @@ -60,7 +60,7 @@ func (self *CmdLoadTimes) PostprocessRpcParams() error { return nil } -func (self *CmdLoadTimes) RpcResult() interface{} { +func (self *CmdLoadTimes) RpcResult() any { a := make(map[string]string, 0) return &a } diff --git a/console/load_tp_from_folder.go b/console/load_tp_from_folder.go index 9096db4b9..6510ed48c 100644 --- a/console/load_tp_from_folder.go +++ b/console/load_tp_from_folder.go @@ -46,7 +46,7 @@ func (self *LoadTpFromFolder) RpcMethod() string { return self.rpcMethod } -func (self *LoadTpFromFolder) RpcParams(reset bool) interface{} { +func (self *LoadTpFromFolder) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.AttrLoadTpFromFolder{} } @@ -57,7 +57,7 @@ func (self *LoadTpFromFolder) PostprocessRpcParams() error { return nil } -func (self *LoadTpFromFolder) RpcResult() interface{} { +func (self *LoadTpFromFolder) RpcResult() any { var s string return &s } diff --git a/console/loader_run.go b/console/loader_run.go index fc71a5a39..91184d4c1 100644 --- a/console/loader_run.go +++ b/console/loader_run.go @@ -48,7 +48,7 @@ func (self *CmdLoaderLoad) RpcMethod() string { return self.rpcMethod } -func (self *CmdLoaderLoad) RpcParams(reset bool) interface{} { +func (self *CmdLoaderLoad) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &loaders.ArgsProcessFolder{} } @@ -59,7 +59,7 @@ func (self *CmdLoaderLoad) PostprocessRpcParams() error { return nil } -func (self *CmdLoaderLoad) RpcResult() interface{} { +func (self *CmdLoaderLoad) RpcResult() any { var s string return &s } diff --git a/console/parse.go b/console/parse.go index ebce7b134..16ad333d6 100644 --- a/console/parse.go +++ b/console/parse.go @@ -52,14 +52,14 @@ func (self *CmdParse) RpcMethod() string { return utils.EmptyString } -func (self *CmdParse) RpcParams(reset bool) interface{} { +func (self *CmdParse) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &AttrParse{} } return self.rpcParams } -func (self *CmdParse) RpcResult() interface{} { +func (self *CmdParse) RpcResult() any { return nil } diff --git a/console/passive_sessions.go b/console/passive_sessions.go index e3b8c5250..2aea44a98 100644 --- a/console/passive_sessions.go +++ b/console/passive_sessions.go @@ -36,7 +36,7 @@ func init() { type CmdPassiveSessions struct { name string rpcMethod string - rpcParams interface{} + rpcParams any *CommandExecuter } @@ -48,9 +48,9 @@ func (cmd *CmdPassiveSessions) RpcMethod() string { return cmd.rpcMethod } -func (cmd *CmdPassiveSessions) RpcParams(reset bool) interface{} { +func (cmd *CmdPassiveSessions) RpcParams(reset bool) any { if reset || cmd.rpcParams == nil { - cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]interface{})} + cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]any)} } return cmd.rpcParams } @@ -61,12 +61,12 @@ func (cmd *CmdPassiveSessions) PostprocessRpcParams() error { return nil } -func (cmd *CmdPassiveSessions) RpcResult() interface{} { +func (cmd *CmdPassiveSessions) RpcResult() any { var sessions []*sessions.ExternalSession return &sessions } -func (cmd *CmdPassiveSessions) GetFormatedResult(result interface{}) string { +func (cmd *CmdPassiveSessions) GetFormatedResult(result any) string { return GetFormatedSliceResult(result, utils.StringSet{ utils.Usage: {}, utils.DurationIndex: {}, diff --git a/console/ping.go b/console/ping.go index 5f2fb1255..620d0bacc 100644 --- a/console/ping.go +++ b/console/ping.go @@ -36,7 +36,7 @@ func init() { type CmdApierPing struct { name string rpcMethod string - rpcParams interface{} + rpcParams any item string *CommandExecuter } @@ -88,7 +88,7 @@ func (self *CmdApierPing) RpcMethod() string { return self.rpcMethod } -func (self *CmdApierPing) RpcParams(reset bool) interface{} { +func (self *CmdApierPing) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &StringWrapper{} } @@ -103,7 +103,7 @@ func (self *CmdApierPing) PostprocessRpcParams() error { return nil } -func (self *CmdApierPing) RpcResult() interface{} { +func (self *CmdApierPing) RpcResult() any { var s string return &s } diff --git a/console/rate_profile.go b/console/rate_profile.go index d88025557..9814ed377 100644 --- a/console/rate_profile.go +++ b/console/rate_profile.go @@ -48,7 +48,7 @@ func (self *CmdGetRateProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRateProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetRateProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdGetRateProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetRateProfile) RpcResult() interface{} { +func (self *CmdGetRateProfile) RpcResult() any { var atr utils.RateProfile return &atr } diff --git a/console/rate_profile_ids.go b/console/rate_profile_ids.go index fefce357a..8e27f1e49 100644 --- a/console/rate_profile_ids.go +++ b/console/rate_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetRateProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRateProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetRateProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetRateProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetRateProfileIDs) RpcResult() interface{} { +func (self *CmdGetRateProfileIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/rate_profile_remove.go b/console/rate_profile_remove.go index b52fdcf6a..fba71d5bd 100644 --- a/console/rate_profile_remove.go +++ b/console/rate_profile_remove.go @@ -45,9 +45,9 @@ func (self *CmdRemoveRateProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveRateProfile) RpcParams(reset bool) interface{} { +func (self *CmdRemoveRateProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -56,7 +56,7 @@ func (self *CmdRemoveRateProfile) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveRateProfile) RpcResult() interface{} { +func (self *CmdRemoveRateProfile) RpcResult() any { var s string return &s } diff --git a/console/rate_profile_set.go b/console/rate_profile_set.go index 4ec14c7c9..e9e124301 100644 --- a/console/rate_profile_set.go +++ b/console/rate_profile_set.go @@ -47,10 +47,10 @@ func (self *CmdSetRateProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetRateProfile) RpcParams(reset bool) interface{} { +func (self *CmdSetRateProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.APIRateProfile{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -60,7 +60,7 @@ func (self *CmdSetRateProfile) PostprocessRpcParams() error { return nil } -func (self *CmdSetRateProfile) RpcResult() interface{} { +func (self *CmdSetRateProfile) RpcResult() any { var s string return &s } diff --git a/console/rate_profiles.go b/console/rate_profiles.go index 594b241af..7728b8a32 100644 --- a/console/rate_profiles.go +++ b/console/rate_profiles.go @@ -48,7 +48,7 @@ func (self *CmdGetRateProfiles) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRateProfiles) RpcParams(reset bool) interface{} { +func (self *CmdGetRateProfiles) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetRateProfiles) PostprocessRpcParams() error { return nil } -func (self *CmdGetRateProfiles) RpcResult() interface{} { +func (self *CmdGetRateProfiles) RpcResult() any { var atr []*utils.RateProfile return &atr } diff --git a/console/reload_config.go b/console/reload_config.go index 6add0ff71..ad16cdcc8 100644 --- a/console/reload_config.go +++ b/console/reload_config.go @@ -49,9 +49,9 @@ func (self *CmdRelaodConfigSection) RpcMethod() string { return self.rpcMethod } -func (self *CmdRelaodConfigSection) RpcParams(reset bool) interface{} { +func (self *CmdRelaodConfigSection) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &config.ReloadArgs{APIOpts: make(map[string]interface{})} + self.rpcParams = &config.ReloadArgs{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -60,7 +60,7 @@ func (self *CmdRelaodConfigSection) PostprocessRpcParams() error { return nil } -func (self *CmdRelaodConfigSection) RpcResult() interface{} { +func (self *CmdRelaodConfigSection) RpcResult() any { var s string return &s } diff --git a/console/resource_profile.go b/console/resource_profile.go index 64d017092..2de61ecb5 100644 --- a/console/resource_profile.go +++ b/console/resource_profile.go @@ -49,7 +49,7 @@ func (self *CmdGetResourceProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetResourceProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetResourceProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -60,12 +60,12 @@ func (self *CmdGetResourceProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetResourceProfile) RpcResult() interface{} { +func (self *CmdGetResourceProfile) RpcResult() any { var atr engine.ResourceProfile return &atr } -func (self *CmdGetResourceProfile) GetFormatedResult(result interface{}) string { +func (self *CmdGetResourceProfile) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.UsageTTL: {}, }) diff --git a/console/resource_profile_ids.go b/console/resource_profile_ids.go index 7dd7cba5d..277ebd4dc 100644 --- a/console/resource_profile_ids.go +++ b/console/resource_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetResourceProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetResourceProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetResourceProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetResourceProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetResourceProfileIDs) RpcResult() interface{} { +func (self *CmdGetResourceProfileIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/resource_profile_remove.go b/console/resource_profile_remove.go index 97577099d..0b26ab792 100644 --- a/console/resource_profile_remove.go +++ b/console/resource_profile_remove.go @@ -46,9 +46,9 @@ func (self *CmdRemoveResourceProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveResourceProfile) RpcParams(reset bool) interface{} { +func (self *CmdRemoveResourceProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -57,7 +57,7 @@ func (self *CmdRemoveResourceProfile) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveResourceProfile) RpcResult() interface{} { +func (self *CmdRemoveResourceProfile) RpcResult() any { var s string return &s } diff --git a/console/resource_profile_set.go b/console/resource_profile_set.go index 472f56a31..35a74883d 100644 --- a/console/resource_profile_set.go +++ b/console/resource_profile_set.go @@ -49,11 +49,11 @@ func (self *CmdSetResourceProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetResourceProfile) RpcParams(reset bool) interface{} { +func (self *CmdSetResourceProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.ResourceProfileWithAPIOpts{ ResourceProfile: new(engine.ResourceProfile), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdSetResourceProfile) PostprocessRpcParams() error { return nil } -func (self *CmdSetResourceProfile) RpcResult() interface{} { +func (self *CmdSetResourceProfile) RpcResult() any { var s string return &s } diff --git a/console/resource_profiles.go b/console/resource_profiles.go index 3a29c9352..1daef4787 100644 --- a/console/resource_profiles.go +++ b/console/resource_profiles.go @@ -49,7 +49,7 @@ func (self *CmdGetResourceProfiles) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetResourceProfiles) RpcParams(reset bool) interface{} { +func (self *CmdGetResourceProfiles) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -60,7 +60,7 @@ func (self *CmdGetResourceProfiles) PostprocessRpcParams() error { return nil } -func (self *CmdGetResourceProfiles) RpcResult() interface{} { +func (self *CmdGetResourceProfiles) RpcResult() any { var atr engine.ResourceProfile return &atr } diff --git a/console/resources.go b/console/resources.go index 6f3b7eb26..765a0b7a7 100644 --- a/console/resources.go +++ b/console/resources.go @@ -49,11 +49,11 @@ func (self *CmdGetResource) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetResource) RpcParams(reset bool) interface{} { +func (self *CmdGetResource) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{ TenantID: new(utils.TenantID), - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdGetResource) PostprocessRpcParams() error { return nil } -func (self *CmdGetResource) RpcResult() interface{} { +func (self *CmdGetResource) RpcResult() any { var atr engine.Resource return &atr } diff --git a/console/resources_allocate.go b/console/resources_allocate.go index 6ffcca91d..322463f3e 100644 --- a/console/resources_allocate.go +++ b/console/resources_allocate.go @@ -48,7 +48,7 @@ func (self *CmdResourceAllocate) RpcMethod() string { return self.rpcMethod } -func (self *CmdResourceAllocate) RpcParams(reset bool) interface{} { +func (self *CmdResourceAllocate) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -59,7 +59,7 @@ func (self *CmdResourceAllocate) PostprocessRpcParams() error { return nil } -func (self *CmdResourceAllocate) RpcResult() interface{} { +func (self *CmdResourceAllocate) RpcResult() any { var atr string return &atr } diff --git a/console/resources_authorize.go b/console/resources_authorize.go index afb744e6d..1481dbd47 100644 --- a/console/resources_authorize.go +++ b/console/resources_authorize.go @@ -48,7 +48,7 @@ func (self *CmdResourceAuthorize) RpcMethod() string { return self.rpcMethod } -func (self *CmdResourceAuthorize) RpcParams(reset bool) interface{} { +func (self *CmdResourceAuthorize) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -59,7 +59,7 @@ func (self *CmdResourceAuthorize) PostprocessRpcParams() error { return nil } -func (self *CmdResourceAuthorize) RpcResult() interface{} { +func (self *CmdResourceAuthorize) RpcResult() any { var atr string return &atr } diff --git a/console/resources_for_event.go b/console/resources_for_event.go index 0ed599148..4d1d55360 100644 --- a/console/resources_for_event.go +++ b/console/resources_for_event.go @@ -49,7 +49,7 @@ func (self *CmdGetResourceForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetResourceForEvent) RpcParams(reset bool) interface{} { +func (self *CmdGetResourceForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -60,7 +60,7 @@ func (self *CmdGetResourceForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdGetResourceForEvent) RpcResult() interface{} { +func (self *CmdGetResourceForEvent) RpcResult() any { var atr engine.Resources return &atr } diff --git a/console/resources_release.go b/console/resources_release.go index 553773bdd..3d5f851ba 100644 --- a/console/resources_release.go +++ b/console/resources_release.go @@ -48,7 +48,7 @@ func (self *CmdResourceRelease) RpcMethod() string { return self.rpcMethod } -func (self *CmdResourceRelease) RpcParams(reset bool) interface{} { +func (self *CmdResourceRelease) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -59,7 +59,7 @@ func (self *CmdResourceRelease) PostprocessRpcParams() error { return nil } -func (self *CmdResourceRelease) RpcResult() interface{} { +func (self *CmdResourceRelease) RpcResult() any { var atr string return &atr } diff --git a/console/route_profile.go b/console/route_profile.go index 501c3844f..e36f52fc0 100644 --- a/console/route_profile.go +++ b/console/route_profile.go @@ -48,7 +48,7 @@ func (self *CmdGetRouteProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRouteProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetRouteProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -59,7 +59,7 @@ func (self *CmdGetRouteProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetRouteProfile) RpcResult() interface{} { +func (self *CmdGetRouteProfile) RpcResult() any { var atr engine.RouteProfile return &atr } diff --git a/console/route_profile_ids.go b/console/route_profile_ids.go index 27aee38e3..c83a31233 100644 --- a/console/route_profile_ids.go +++ b/console/route_profile_ids.go @@ -47,7 +47,7 @@ func (self *CmdGetRouteProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRouteProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetRouteProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -58,7 +58,7 @@ func (self *CmdGetRouteProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetRouteProfileIDs) RpcResult() interface{} { +func (self *CmdGetRouteProfileIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/route_profile_remove.go b/console/route_profile_remove.go index 7d02defdd..4ed41e499 100644 --- a/console/route_profile_remove.go +++ b/console/route_profile_remove.go @@ -45,9 +45,9 @@ func (self *CmdRemoveRouteProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveRouteProfile) RpcParams(reset bool) interface{} { +func (self *CmdRemoveRouteProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -56,7 +56,7 @@ func (self *CmdRemoveRouteProfile) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveRouteProfile) RpcResult() interface{} { +func (self *CmdRemoveRouteProfile) RpcResult() any { var s string return &s } diff --git a/console/route_profile_set.go b/console/route_profile_set.go index d05fe232f..e5d1b0193 100644 --- a/console/route_profile_set.go +++ b/console/route_profile_set.go @@ -48,11 +48,11 @@ func (self *CmdSetRouteProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetRouteProfile) RpcParams(reset bool) interface{} { +func (self *CmdSetRouteProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.RouteProfileWithAPIOpts{ RouteProfile: new(engine.RouteProfile), - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } } return self.rpcParams @@ -62,7 +62,7 @@ func (self *CmdSetRouteProfile) PostprocessRpcParams() error { return nil } -func (self *CmdSetRouteProfile) RpcResult() interface{} { +func (self *CmdSetRouteProfile) RpcResult() any { var s string return &s } diff --git a/console/route_profiles.go b/console/route_profiles.go index 4233879bf..7ab421170 100644 --- a/console/route_profiles.go +++ b/console/route_profiles.go @@ -48,7 +48,7 @@ func (self *CmdGetRouteProfiles) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRouteProfiles) RpcParams(reset bool) interface{} { +func (self *CmdGetRouteProfiles) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetRouteProfiles) PostprocessRpcParams() error { return nil } -func (self *CmdGetRouteProfiles) RpcResult() interface{} { +func (self *CmdGetRouteProfiles) RpcResult() any { var atr []*engine.RouteProfile return &atr } diff --git a/console/routes.go b/console/routes.go index fbf34af44..fcf95cbc9 100644 --- a/console/routes.go +++ b/console/routes.go @@ -48,7 +48,7 @@ func (self *CmdRoutesSort) RpcMethod() string { return self.rpcMethod } -func (self *CmdRoutesSort) RpcParams(reset bool) interface{} { +func (self *CmdRoutesSort) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -59,7 +59,7 @@ func (self *CmdRoutesSort) PostprocessRpcParams() error { return nil } -func (self *CmdRoutesSort) RpcResult() interface{} { +func (self *CmdRoutesSort) RpcResult() any { var atr engine.SortedRoutesList return &atr } diff --git a/console/routes_profiles_for_event.go b/console/routes_profiles_for_event.go index f5c2999df..e279df47a 100644 --- a/console/routes_profiles_for_event.go +++ b/console/routes_profiles_for_event.go @@ -48,7 +48,7 @@ func (self *CmdGetRouteForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetRouteForEvent) RpcParams(reset bool) interface{} { +func (self *CmdGetRouteForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,7 +59,7 @@ func (self *CmdGetRouteForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdGetRouteForEvent) RpcResult() interface{} { +func (self *CmdGetRouteForEvent) RpcResult() any { var atr []*engine.RouteProfile return &atr } diff --git a/console/session_authorize_event.go b/console/session_authorize_event.go index e1afd26cb..bc079d0ea 100644 --- a/console/session_authorize_event.go +++ b/console/session_authorize_event.go @@ -48,7 +48,7 @@ func (self *CmdSessionsAuthorize) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsAuthorize) RpcParams(reset bool) interface{} { +func (self *CmdSessionsAuthorize) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,7 +59,7 @@ func (self *CmdSessionsAuthorize) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsAuthorize) RpcResult() interface{} { +func (self *CmdSessionsAuthorize) RpcResult() any { var atr sessions.V1AuthorizeReplyWithDigest return &atr } diff --git a/console/session_force_disconnect.go b/console/session_force_disconnect.go index 3753b6435..aafee0849 100644 --- a/console/session_force_disconnect.go +++ b/console/session_force_disconnect.go @@ -47,9 +47,9 @@ func (cmd *CmdSessionsForceDisconnect) RpcMethod() string { return cmd.rpcMethod } -func (cmd *CmdSessionsForceDisconnect) RpcParams(reset bool) interface{} { +func (cmd *CmdSessionsForceDisconnect) RpcParams(reset bool) any { if reset || cmd.rpcParams == nil { - cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]interface{})} + cmd.rpcParams = &utils.SessionFilter{APIOpts: make(map[string]any)} } return cmd.rpcParams } @@ -60,12 +60,12 @@ func (cmd *CmdSessionsForceDisconnect) PostprocessRpcParams() error { return nil } -func (cmd *CmdSessionsForceDisconnect) RpcResult() interface{} { +func (cmd *CmdSessionsForceDisconnect) RpcResult() any { var sessions string return &sessions } -func (cmd *CmdSessionsForceDisconnect) GetFormatedResult(result interface{}) string { +func (cmd *CmdSessionsForceDisconnect) GetFormatedResult(result any) string { return GetFormatedSliceResult(result, utils.StringSet{ utils.Usage: {}, utils.DurationIndex: {}, diff --git a/console/session_initiate.go b/console/session_initiate.go index 9a9cdf0ca..4ccad07b0 100644 --- a/console/session_initiate.go +++ b/console/session_initiate.go @@ -48,7 +48,7 @@ func (self *CmdSessionsInitiate) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsInitiate) RpcParams(reset bool) interface{} { +func (self *CmdSessionsInitiate) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,12 +59,12 @@ func (self *CmdSessionsInitiate) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsInitiate) RpcResult() interface{} { +func (self *CmdSessionsInitiate) RpcResult() any { var atr sessions.V1InitReplyWithDigest return &atr } -func (self *CmdSessionsInitiate) GetFormatedResult(result interface{}) string { +func (self *CmdSessionsInitiate) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, utils.CapMaxUsage: {}, diff --git a/console/session_process_cdr.go b/console/session_process_cdr.go index 81a944a59..7aa2cdb43 100644 --- a/console/session_process_cdr.go +++ b/console/session_process_cdr.go @@ -47,7 +47,7 @@ func (self *CmdSessionsProcessCDR) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsProcessCDR) RpcParams(reset bool) interface{} { +func (self *CmdSessionsProcessCDR) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -58,7 +58,7 @@ func (self *CmdSessionsProcessCDR) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsProcessCDR) RpcResult() interface{} { +func (self *CmdSessionsProcessCDR) RpcResult() any { var atr string return &atr } diff --git a/console/session_process_message.go b/console/session_process_message.go index 1a31e1b4a..b6d36fed4 100644 --- a/console/session_process_message.go +++ b/console/session_process_message.go @@ -48,7 +48,7 @@ func (self *CmdSessionsProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdSessionsProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,12 +59,12 @@ func (self *CmdSessionsProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsProcessEvent) RpcResult() interface{} { +func (self *CmdSessionsProcessEvent) RpcResult() any { var atr sessions.V1ProcessMessageReply return &atr } -func (self *CmdSessionsProcessEvent) GetFormatedResult(result interface{}) string { +func (self *CmdSessionsProcessEvent) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, utils.CapMaxUsage: {}, diff --git a/console/session_terminate.go b/console/session_terminate.go index b4676e103..0a958bd04 100644 --- a/console/session_terminate.go +++ b/console/session_terminate.go @@ -47,7 +47,7 @@ func (self *CmdSessionsTerminate) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsTerminate) RpcParams(reset bool) interface{} { +func (self *CmdSessionsTerminate) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -58,7 +58,7 @@ func (self *CmdSessionsTerminate) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsTerminate) RpcResult() interface{} { +func (self *CmdSessionsTerminate) RpcResult() any { var atr string return &atr } diff --git a/console/session_update.go b/console/session_update.go index 9807ad4f4..9d0e40fa3 100644 --- a/console/session_update.go +++ b/console/session_update.go @@ -48,7 +48,7 @@ func (self *CmdSessionsUpdate) RpcMethod() string { return self.rpcMethod } -func (self *CmdSessionsUpdate) RpcParams(reset bool) interface{} { +func (self *CmdSessionsUpdate) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = new(utils.CGREvent) } @@ -59,12 +59,12 @@ func (self *CmdSessionsUpdate) PostprocessRpcParams() error { return nil } -func (self *CmdSessionsUpdate) RpcResult() interface{} { +func (self *CmdSessionsUpdate) RpcResult() any { var atr sessions.V1UpdateSessionReply return &atr } -func (self *CmdSessionsUpdate) GetFormatedResult(result interface{}) string { +func (self *CmdSessionsUpdate) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.Usage: {}, utils.CapMaxUsage: {}, diff --git a/console/set_datadb_versions.go b/console/set_datadb_versions.go index 014adb78f..8ce473dce 100644 --- a/console/set_datadb_versions.go +++ b/console/set_datadb_versions.go @@ -48,7 +48,7 @@ func (self *CmdSetDataDBVersions) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetDataDBVersions) RpcParams(reset bool) interface{} { +func (self *CmdSetDataDBVersions) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &v1.SetVersionsArg{} } @@ -59,7 +59,7 @@ func (self *CmdSetDataDBVersions) PostprocessRpcParams() error { return nil } -func (self *CmdSetDataDBVersions) RpcResult() interface{} { +func (self *CmdSetDataDBVersions) RpcResult() any { var atr string return &atr } diff --git a/console/shutdown.go b/console/shutdown.go index 14aa38c48..e95748539 100644 --- a/console/shutdown.go +++ b/console/shutdown.go @@ -46,7 +46,7 @@ func (cmd *CmdShutdown) RpcMethod() string { return cmd.rpcMethod } -func (cmd *CmdShutdown) RpcParams(reset bool) interface{} { +func (cmd *CmdShutdown) RpcParams(reset bool) any { if reset || cmd.rpcParams == nil { cmd.rpcParams = &utils.CGREvent{} } @@ -57,7 +57,7 @@ func (cmd *CmdShutdown) PostprocessRpcParams() error { return nil } -func (cmd *CmdShutdown) RpcResult() interface{} { +func (cmd *CmdShutdown) RpcResult() any { var atr string return &atr } diff --git a/console/sleep.go b/console/sleep.go index 6c02f23d6..7c9e2ac84 100644 --- a/console/sleep.go +++ b/console/sleep.go @@ -32,7 +32,7 @@ func init() { type CmdSleep struct { name string rpcMethod string - rpcParams interface{} + rpcParams any *CommandExecuter } @@ -44,7 +44,7 @@ func (cmd *CmdSleep) RpcMethod() string { return cmd.rpcMethod } -func (cmd *CmdSleep) RpcParams(reset bool) interface{} { +func (cmd *CmdSleep) RpcParams(reset bool) any { if reset || cmd.rpcParams == nil { cmd.rpcParams = &utils.DurationArgs{} } @@ -63,7 +63,7 @@ func (cmd *CmdSleep) PostprocessRpcParams() (err error) { return } -func (cmd *CmdSleep) RpcResult() interface{} { +func (cmd *CmdSleep) RpcResult() any { var s string return &s } diff --git a/console/stats_for_event.go b/console/stats_for_event.go index 2f2afd3d4..ff44b9eb1 100644 --- a/console/stats_for_event.go +++ b/console/stats_for_event.go @@ -48,7 +48,7 @@ func (self *CmdStatsQueueForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdStatsQueueForEvent) RpcParams(reset bool) interface{} { +func (self *CmdStatsQueueForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -59,7 +59,7 @@ func (self *CmdStatsQueueForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdStatsQueueForEvent) RpcResult() interface{} { +func (self *CmdStatsQueueForEvent) RpcResult() any { var atr []string return &atr } diff --git a/console/stats_metrics.go b/console/stats_metrics.go index 2bc00c2a0..3bbd95ea7 100644 --- a/console/stats_metrics.go +++ b/console/stats_metrics.go @@ -48,11 +48,11 @@ func (self *CmdGetStatQueueStringMetrics) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetStatQueueStringMetrics) RpcParams(reset bool) interface{} { +func (self *CmdGetStatQueueStringMetrics) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{ TenantID: new(utils.TenantID), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -62,7 +62,7 @@ func (self *CmdGetStatQueueStringMetrics) PostprocessRpcParams() error { return nil } -func (self *CmdGetStatQueueStringMetrics) RpcResult() interface{} { +func (self *CmdGetStatQueueStringMetrics) RpcResult() any { var atr map[string]string return &atr } diff --git a/console/stats_process_event.go b/console/stats_process_event.go index 22a2c0702..0f53a8826 100644 --- a/console/stats_process_event.go +++ b/console/stats_process_event.go @@ -48,7 +48,7 @@ func (self *CmdStatQueueProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdStatQueueProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdStatQueueProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -59,7 +59,7 @@ func (self *CmdStatQueueProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdStatQueueProcessEvent) RpcResult() interface{} { +func (self *CmdStatQueueProcessEvent) RpcResult() any { var atr []string return &atr } diff --git a/console/stats_profile.go b/console/stats_profile.go index 97fdeeaf1..1ed1a2cc9 100644 --- a/console/stats_profile.go +++ b/console/stats_profile.go @@ -49,7 +49,7 @@ func (self *CmdGetStatQueueProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetStatQueueProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetStatQueueProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -60,12 +60,12 @@ func (self *CmdGetStatQueueProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetStatQueueProfile) RpcResult() interface{} { +func (self *CmdGetStatQueueProfile) RpcResult() any { var atr engine.StatQueueProfile return &atr } -func (self *CmdGetStatQueueProfile) GetFormatedResult(result interface{}) string { +func (self *CmdGetStatQueueProfile) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.TTL: {}, }) diff --git a/console/stats_profile_ids.go b/console/stats_profile_ids.go index f92edad18..3fbb4b803 100644 --- a/console/stats_profile_ids.go +++ b/console/stats_profile_ids.go @@ -48,7 +48,7 @@ func (self *CmdGetStatQueueProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetStatQueueProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetStatQueueProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetStatQueueProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetStatQueueProfileIDs) RpcResult() interface{} { +func (self *CmdGetStatQueueProfileIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/stats_profile_rem.go b/console/stats_profile_rem.go index 270ee4d5a..fe0610719 100644 --- a/console/stats_profile_rem.go +++ b/console/stats_profile_rem.go @@ -46,9 +46,9 @@ func (self *CmdRemoveStatQueue) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveStatQueue) RpcParams(reset bool) interface{} { +func (self *CmdRemoveStatQueue) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -57,7 +57,7 @@ func (self *CmdRemoveStatQueue) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveStatQueue) RpcResult() interface{} { +func (self *CmdRemoveStatQueue) RpcResult() any { var s string return &s } diff --git a/console/stats_profile_set.go b/console/stats_profile_set.go index 158953d9b..8221c88e7 100644 --- a/console/stats_profile_set.go +++ b/console/stats_profile_set.go @@ -49,11 +49,11 @@ func (self *CmdSetStatQueue) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetStatQueue) RpcParams(reset bool) interface{} { +func (self *CmdSetStatQueue) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.StatQueueProfileWithAPIOpts{ StatQueueProfile: new(engine.StatQueueProfile), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdSetStatQueue) PostprocessRpcParams() error { return nil } -func (self *CmdSetStatQueue) RpcResult() interface{} { +func (self *CmdSetStatQueue) RpcResult() any { var s string return &s } diff --git a/console/stats_profiles.go b/console/stats_profiles.go index f8f62251f..f5ce59cd3 100644 --- a/console/stats_profiles.go +++ b/console/stats_profiles.go @@ -49,7 +49,7 @@ func (self *CmdGetStatQueueProfiles) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetStatQueueProfiles) RpcParams(reset bool) interface{} { +func (self *CmdGetStatQueueProfiles) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -60,7 +60,7 @@ func (self *CmdGetStatQueueProfiles) PostprocessRpcParams() error { return nil } -func (self *CmdGetStatQueueProfiles) RpcResult() interface{} { +func (self *CmdGetStatQueueProfiles) RpcResult() any { var atr []*engine.StatQueueProfile return &atr } diff --git a/console/status.go b/console/status.go index efe33a84c..11fc98e25 100644 --- a/console/status.go +++ b/console/status.go @@ -44,10 +44,10 @@ func (self *CmdStatus) RpcMethod() string { return self.rpcMethod } -func (self *CmdStatus) RpcParams(reset bool) interface{} { +func (self *CmdStatus) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantWithAPIOpts{ - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -57,8 +57,8 @@ func (self *CmdStatus) PostprocessRpcParams() error { return nil } -func (self *CmdStatus) RpcResult() interface{} { - var s map[string]interface{} +func (self *CmdStatus) RpcResult() any { + var s map[string]any return &s } diff --git a/console/threshold.go b/console/threshold.go index e0b3802a6..37a897eea 100644 --- a/console/threshold.go +++ b/console/threshold.go @@ -48,11 +48,11 @@ func (self *CmdGetThreshold) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetThreshold) RpcParams(reset bool) interface{} { +func (self *CmdGetThreshold) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{ TenantID: new(utils.TenantID), - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } } return self.rpcParams @@ -62,12 +62,12 @@ func (self *CmdGetThreshold) PostprocessRpcParams() error { return nil } -func (self *CmdGetThreshold) RpcResult() interface{} { +func (self *CmdGetThreshold) RpcResult() any { var atr engine.Threshold return &atr } -func (self *CmdGetThreshold) GetFormatedResult(result interface{}) string { +func (self *CmdGetThreshold) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.MinSleep: {}, }) diff --git a/console/threshold_profile.go b/console/threshold_profile.go index a96f529b0..8e9176d09 100644 --- a/console/threshold_profile.go +++ b/console/threshold_profile.go @@ -48,7 +48,7 @@ func (self *CmdGetThresholdProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetThresholdProfile) RpcParams(reset bool) interface{} { +func (self *CmdGetThresholdProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.TenantIDWithAPIOpts{} } @@ -59,12 +59,12 @@ func (self *CmdGetThresholdProfile) PostprocessRpcParams() error { return nil } -func (self *CmdGetThresholdProfile) RpcResult() interface{} { +func (self *CmdGetThresholdProfile) RpcResult() any { var atr engine.ThresholdProfile return &atr } -func (self *CmdGetThresholdProfile) GetFormatedResult(result interface{}) string { +func (self *CmdGetThresholdProfile) GetFormatedResult(result any) string { return GetFormatedResult(result, utils.StringSet{ utils.MinSleep: {}, }) diff --git a/console/threshold_profile_ids.go b/console/threshold_profile_ids.go index 871678de4..4c5c3fdc2 100644 --- a/console/threshold_profile_ids.go +++ b/console/threshold_profile_ids.go @@ -47,7 +47,7 @@ func (self *CmdGetThresholdProfileIDs) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetThresholdProfileIDs) RpcParams(reset bool) interface{} { +func (self *CmdGetThresholdProfileIDs) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -58,7 +58,7 @@ func (self *CmdGetThresholdProfileIDs) PostprocessRpcParams() error { return nil } -func (self *CmdGetThresholdProfileIDs) RpcResult() interface{} { +func (self *CmdGetThresholdProfileIDs) RpcResult() any { var atr []string return &atr } diff --git a/console/threshold_profile_remove.go b/console/threshold_profile_remove.go index 238b2daa2..b4c5c1541 100644 --- a/console/threshold_profile_remove.go +++ b/console/threshold_profile_remove.go @@ -45,9 +45,9 @@ func (self *CmdRemoveThresholdProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdRemoveThresholdProfile) RpcParams(reset bool) interface{} { +func (self *CmdRemoveThresholdProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { - self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]interface{})} + self.rpcParams = &utils.TenantIDWithAPIOpts{APIOpts: make(map[string]any)} } return self.rpcParams } @@ -56,7 +56,7 @@ func (self *CmdRemoveThresholdProfile) PostprocessRpcParams() error { return nil } -func (self *CmdRemoveThresholdProfile) RpcResult() interface{} { +func (self *CmdRemoveThresholdProfile) RpcResult() any { var s string return &s } diff --git a/console/threshold_profile_set.go b/console/threshold_profile_set.go index fa55a7de9..31f935f1c 100644 --- a/console/threshold_profile_set.go +++ b/console/threshold_profile_set.go @@ -49,11 +49,11 @@ func (self *CmdSetThresholdProfile) RpcMethod() string { return self.rpcMethod } -func (self *CmdSetThresholdProfile) RpcParams(reset bool) interface{} { +func (self *CmdSetThresholdProfile) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &engine.ThresholdProfileWithAPIOpts{ ThresholdProfile: new(engine.ThresholdProfile), - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } } return self.rpcParams @@ -63,7 +63,7 @@ func (self *CmdSetThresholdProfile) PostprocessRpcParams() error { return nil } -func (self *CmdSetThresholdProfile) RpcResult() interface{} { +func (self *CmdSetThresholdProfile) RpcResult() any { var s string return &s } diff --git a/console/threshold_profiles.go b/console/threshold_profiles.go index 19ec8f4f7..e9c197af4 100644 --- a/console/threshold_profiles.go +++ b/console/threshold_profiles.go @@ -48,7 +48,7 @@ func (self *CmdGetThresholdProfiles) RpcMethod() string { return self.rpcMethod } -func (self *CmdGetThresholdProfiles) RpcParams(reset bool) interface{} { +func (self *CmdGetThresholdProfiles) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.ArgsItemIDs{} } @@ -59,7 +59,7 @@ func (self *CmdGetThresholdProfiles) PostprocessRpcParams() error { return nil } -func (self *CmdGetThresholdProfiles) RpcResult() interface{} { +func (self *CmdGetThresholdProfiles) RpcResult() any { var atr []*engine.ThresholdProfile return &atr } diff --git a/console/thresholds_for_event.go b/console/thresholds_for_event.go index 7b3d25750..d38e161d0 100644 --- a/console/thresholds_for_event.go +++ b/console/thresholds_for_event.go @@ -50,7 +50,7 @@ func (self *CmdThresholdsForEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdThresholdsForEvent) RpcParams(reset bool) interface{} { +func (self *CmdThresholdsForEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -61,7 +61,7 @@ func (self *CmdThresholdsForEvent) PostprocessRpcParams() error { return nil } -func (self *CmdThresholdsForEvent) RpcResult() interface{} { +func (self *CmdThresholdsForEvent) RpcResult() any { var s engine.Thresholds return &s } diff --git a/console/thresholds_process_event.go b/console/thresholds_process_event.go index 5b9599556..da161a6ac 100644 --- a/console/thresholds_process_event.go +++ b/console/thresholds_process_event.go @@ -47,7 +47,7 @@ func (self *CmdThresholdProcessEvent) RpcMethod() string { return self.rpcMethod } -func (self *CmdThresholdProcessEvent) RpcParams(reset bool) interface{} { +func (self *CmdThresholdProcessEvent) RpcParams(reset bool) any { if reset || self.rpcParams == nil { self.rpcParams = &utils.CGREvent{} } @@ -58,7 +58,7 @@ func (self *CmdThresholdProcessEvent) PostprocessRpcParams() error { return nil } -func (self *CmdThresholdProcessEvent) RpcResult() interface{} { +func (self *CmdThresholdProcessEvent) RpcResult() any { var ids []string return &ids } diff --git a/cores/caps.go b/cores/caps.go index 24105ee23..16c6b8e0e 100644 --- a/cores/caps.go +++ b/cores/caps.go @@ -92,13 +92,13 @@ func (c *capsServerCodec) ReadRequestHeader(r *birpc.Request) error { return c.sc.ReadRequestHeader(r) } -func (c *capsServerCodec) ReadRequestBody(x interface{}) error { +func (c *capsServerCodec) ReadRequestBody(x any) error { if err := c.caps.Allocate(); err != nil { return err } return c.sc.ReadRequestBody(x) } -func (c *capsServerCodec) WriteResponse(r *birpc.Response, x interface{}) error { +func (c *capsServerCodec) WriteResponse(r *birpc.Response, x any) error { if r.Error == utils.ErrMaxConcurentRPCExceededNoCaps.Error() { r.Error = utils.ErrMaxConcurentRPCExceeded.Error() } else { @@ -166,7 +166,7 @@ func (c *capsBiRPCCodec) ReadHeader(req *birpc.Request, resp *birpc.Response) (e } // ReadRequestBody into args argument of handler function. -func (c *capsBiRPCCodec) ReadRequestBody(x interface{}) (err error) { +func (c *capsBiRPCCodec) ReadRequestBody(x any) (err error) { if err = c.caps.Allocate(); err != nil { return } @@ -174,17 +174,17 @@ func (c *capsBiRPCCodec) ReadRequestBody(x interface{}) (err error) { } // ReadResponseBody into reply argument of handler function. -func (c *capsBiRPCCodec) ReadResponseBody(x interface{}) error { +func (c *capsBiRPCCodec) ReadResponseBody(x any) error { return c.sc.ReadResponseBody(x) } // WriteRequest must be safe for concurrent use by multiple goroutines. -func (c *capsBiRPCCodec) WriteRequest(req *birpc.Request, x interface{}) error { +func (c *capsBiRPCCodec) WriteRequest(req *birpc.Request, x any) error { return c.sc.WriteRequest(req, x) } // WriteResponse must be safe for concurrent use by multiple goroutines. -func (c *capsBiRPCCodec) WriteResponse(r *birpc.Response, x interface{}) error { +func (c *capsBiRPCCodec) WriteResponse(r *birpc.Response, x any) error { if r.Error == utils.ErrMaxConcurentRPCExceededNoCaps.Error() { r.Error = utils.ErrMaxConcurentRPCExceeded.Error() } else { diff --git a/cores/caps_test.go b/cores/caps_test.go index 9b57f2760..51cad9971 100644 --- a/cores/caps_test.go +++ b/cores/caps_test.go @@ -39,10 +39,10 @@ func (c *mockServerCodec) ReadRequestHeader(r *birpc.Request) (err error) { return } -func (c *mockServerCodec) ReadRequestBody(x interface{}) (err error) { +func (c *mockServerCodec) ReadRequestBody(x any) (err error) { return utils.ErrNotImplemented } -func (c *mockServerCodec) WriteResponse(r *birpc.Response, x interface{}) error { +func (c *mockServerCodec) WriteResponse(r *birpc.Response, x any) error { return nil } func (c *mockServerCodec) Close() error { return nil } @@ -143,11 +143,11 @@ func (mockBiRPCCodec) ReadHeader(r *birpc.Request, _ *birpc.Response) error { r.ServiceMethod = utils.CoreSv1Ping return nil } -func (mockBiRPCCodec) ReadRequestBody(interface{}) error { return utils.ErrNotImplemented } -func (mockBiRPCCodec) ReadResponseBody(interface{}) error { return nil } -func (mockBiRPCCodec) WriteRequest(*birpc.Request, interface{}) error { return nil } -func (mockBiRPCCodec) WriteResponse(*birpc.Response, interface{}) error { return nil } -func (mockBiRPCCodec) Close() error { return nil } +func (mockBiRPCCodec) ReadRequestBody(any) error { return utils.ErrNotImplemented } +func (mockBiRPCCodec) ReadResponseBody(any) error { return nil } +func (mockBiRPCCodec) WriteRequest(*birpc.Request, any) error { return nil } +func (mockBiRPCCodec) WriteResponse(*birpc.Response, any) error { return nil } +func (mockBiRPCCodec) Close() error { return nil } func TestNewCapsBiRPCCodec(t *testing.T) { mk := new(mockBiRPCCodec) diff --git a/cores/core.go b/cores/core.go index 13f2de531..a19a70482 100644 --- a/cores/core.go +++ b/cores/core.go @@ -136,10 +136,10 @@ func MemProfiling(memProfDir string, interval time.Duration, nrFiles int, shdWg } // V1Status returns the status of the engine -func (cS *CoreS) V1Status(_ *context.Context, _ *utils.TenantWithAPIOpts, reply *map[string]interface{}) (err error) { +func (cS *CoreS) V1Status(_ *context.Context, _ *utils.TenantWithAPIOpts, reply *map[string]any) (err error) { memstats := new(runtime.MemStats) runtime.ReadMemStats(memstats) - response := make(map[string]interface{}) + response := make(map[string]any) response[utils.NodeID] = cS.cfg.GeneralCfg().NodeID response[utils.MemoryUsage] = utils.SizeFmt(float64(memstats.HeapAlloc), "") response[utils.ActiveGoroutines] = runtime.NumGoroutine() diff --git a/cores/core_test.go b/cores/core_test.go index 9fe559482..65737eed7 100644 --- a/cores/core_test.go +++ b/cores/core_test.go @@ -57,13 +57,13 @@ func TestCoreServiceStatus(t *testing.T) { cfg.CoreSCfg().CapsStatsInterval = 1 cores := NewCoreService(cfg, engine.NewCaps(1, utils.MetaBusy), nil, "/tmp", nil, nil, nil, func() {}) - var reply map[string]interface{} + var reply map[string]any cfgVrs, err := utils.GetCGRVersion() if err != nil { t.Error(err) } - expected := map[string]interface{}{ + expected := map[string]any{ utils.GoVersion: runtime.Version(), utils.RunningSince: "TIME_CHANGED", utils.VersionName: cfgVrs, diff --git a/cores/server.go b/cores/server.go index 8d46426b0..7bd5c43c7 100644 --- a/cores/server.go +++ b/cores/server.go @@ -77,11 +77,11 @@ func (s *Server) SetAnalyzer(anz *analyzers.AnalyzerS) { s.anz = anz } -func (s *Server) RpcRegister(rcvr interface{}) { +func (s *Server) RpcRegister(rcvr any) { s.rpcServer.Register(rcvr) } -func (s *Server) RpcRegisterName(name string, rcvr interface{}) { +func (s *Server) RpcRegisterName(name string, rcvr any) { s.rpcServer.RegisterName(name, rcvr) } @@ -106,7 +106,7 @@ func (s *Server) RegisterHttpHandler(pattern string, handler http.Handler) { } // Registers a new BiJsonRpc name -func (s *Server) BiRPCRegisterName(name string, rcv interface{}) { +func (s *Server) BiRPCRegisterName(name string, rcv any) { s.birpcSrv.RegisterName(name, rcv) } diff --git a/cores/server_it_test.go b/cores/server_it_test.go index 982791509..b870f4790 100644 --- a/cores/server_it_test.go +++ b/cores/server_it_test.go @@ -73,7 +73,7 @@ func TestServerIT(t *testing.T) { type mockRegister struct{} -func (*mockRegister) ForTest(ctx *context.Context, args, reply interface{}) error { +func (*mockRegister) ForTest(ctx *context.Context, args, reply any) error { return nil } diff --git a/data/scripts/generate_dispatchers/generator.go b/data/scripts/generate_dispatchers/generator.go index dfcff1ac0..810c2b895 100644 --- a/data/scripts/generate_dispatchers/generator.go +++ b/data/scripts/generate_dispatchers/generator.go @@ -54,7 +54,7 @@ func main() { type genFile struct { path string subsystem string // the name of the constant - obj interface{} + obj any customName string } fmt.Println("Generating dispatcher files ...") @@ -90,7 +90,7 @@ func main() { } -func createFile(filePath, subsystem, customName string, obj interface{}) (err error) { +func createFile(filePath, subsystem, customName string, obj any) (err error) { var f io.WriteCloser if f, err = os.Create(filePath); err != nil { return @@ -99,7 +99,7 @@ func createFile(filePath, subsystem, customName string, obj interface{}) (err er return writeFile(f, subsystem, customName, obj) } -func writeFile(w io.Writer, subsystem, customName string, obj interface{}) (err error) { +func writeFile(w io.Writer, subsystem, customName string, obj any) (err error) { if _, err = w.Write([]byte(`/* Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments Copyright (C) ITsysCOM GmbH @@ -327,9 +327,9 @@ func generateFuncBody(arg reflect.Type, funcName, subsystem string) (p []ast.Stm tnt := ast.NewIdent("tnt") p = append(p, generateCond(arg, tnt, ast.NewIdent("dS.cfg.GeneralCfg().DefaultTenant"), utils.Tenant, reflect.String)...) ev := ast.NewIdent("ev") - p = append(p, generateCond(arg, ev, ast.NewIdent("make(map[string]interface{})"), utils.Event, reflect.Map)...) + p = append(p, generateCond(arg, ev, ast.NewIdent("make(map[string]any)"), utils.Event, reflect.Map)...) opts := ast.NewIdent("opts") - p = append(p, generateCond(arg, opts, ast.NewIdent("make(map[string]interface{})"), "APIOpts", reflect.Map)...) + p = append(p, generateCond(arg, opts, ast.NewIdent("make(map[string]any)"), "APIOpts", reflect.Map)...) p = append(p, &ast.ReturnStmt{Results: []ast.Expr{&ast.CallExpr{ Fun: &ast.SelectorExpr{ @@ -397,7 +397,7 @@ func getArgType(args reflect.Type) ast.Expr { case reflect.Interface: name := args.Name() if len(name) == 0 { - name = "interface{}" + name = "any" } return ast.NewIdent(name) case reflect.Ptr: diff --git a/dispatchers/accounts.go b/dispatchers/accounts.go index 55beb4229..072a34cb4 100644 --- a/dispatchers/accounts.go +++ b/dispatchers/accounts.go @@ -29,11 +29,11 @@ func (dS *DispatcherService) AccountSv1AccountsForEvent(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -44,8 +44,8 @@ func (dS *DispatcherService) AccountSv1ActionRemoveBalance(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -56,8 +56,8 @@ func (dS *DispatcherService) AccountSv1ActionSetBalance(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -68,11 +68,11 @@ func (dS *DispatcherService) AccountSv1DebitAbstracts(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -83,11 +83,11 @@ func (dS *DispatcherService) AccountSv1DebitConcretes(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -98,8 +98,8 @@ func (dS *DispatcherService) AccountSv1GetAccount(ctx *context.Context, args *ut if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -110,11 +110,11 @@ func (dS *DispatcherService) AccountSv1MaxAbstracts(ctx *context.Context, args * if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -125,11 +125,11 @@ func (dS *DispatcherService) AccountSv1MaxConcretes(ctx *context.Context, args * if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -140,11 +140,11 @@ func (dS *DispatcherService) AccountSv1Ping(ctx *context.Context, args *utils.CG if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -155,8 +155,8 @@ func (dS *DispatcherService) AccountSv1RefundCharges(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/accounts_it_test.go b/dispatchers/accounts_it_test.go index 5d2579010..1aa4cf005 100644 --- a/dispatchers/accounts_it_test.go +++ b/dispatchers/accounts_it_test.go @@ -67,7 +67,7 @@ func testDspAccPrfPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.AccountSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "accPrf12345", }, }, &reply); err != nil { diff --git a/dispatchers/actions.go b/dispatchers/actions.go index e118a539a..e3170b2b7 100644 --- a/dispatchers/actions.go +++ b/dispatchers/actions.go @@ -29,11 +29,11 @@ func (dS *DispatcherService) ActionSv1ExecuteActions(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -44,11 +44,11 @@ func (dS *DispatcherService) ActionSv1Ping(ctx *context.Context, args *utils.CGR if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -59,11 +59,11 @@ func (dS *DispatcherService) ActionSv1ScheduleActions(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/actions_it_test.go b/dispatchers/actions_it_test.go index 53028d0b3..fe07323ca 100644 --- a/dispatchers/actions_it_test.go +++ b/dispatchers/actions_it_test.go @@ -67,7 +67,7 @@ func testDspActPrfPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.ActionSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "actPrf12345", }, }, &reply); err != nil { diff --git a/dispatchers/admins.go b/dispatchers/admins.go index 86e70bb87..cb48f0fa2 100644 --- a/dispatchers/admins.go +++ b/dispatchers/admins.go @@ -31,8 +31,8 @@ func (dS *DispatcherService) AdminSv1ComputeFilterIndexIDs(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -43,8 +43,8 @@ func (dS *DispatcherService) AdminSv1ComputeFilterIndexes(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -55,11 +55,11 @@ func (dS *DispatcherService) AdminSv1FiltersMatch(ctx *context.Context, args *en if args != nil && (args.CGREvent != nil && len(args.CGREvent.Tenant) != 0) { tnt = args.CGREvent.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil && args.CGREvent != nil { ev = args.CGREvent.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil && args.CGREvent != nil { opts = args.CGREvent.APIOpts } @@ -70,8 +70,8 @@ func (dS *DispatcherService) AdminSv1GetAccount(ctx *context.Context, args *util if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -82,8 +82,8 @@ func (dS *DispatcherService) AdminSv1GetAccountIDs(ctx *context.Context, args *u if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -94,8 +94,8 @@ func (dS *DispatcherService) AdminSv1GetAccounts(ctx *context.Context, args *uti if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -106,8 +106,8 @@ func (dS *DispatcherService) AdminSv1GetAccountsCount(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -118,8 +118,8 @@ func (dS *DispatcherService) AdminSv1GetAccountsIndexesHealth(ctx *context.Conte if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -130,8 +130,8 @@ func (dS *DispatcherService) AdminSv1GetActionProfile(ctx *context.Context, args if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -142,8 +142,8 @@ func (dS *DispatcherService) AdminSv1GetActionProfileIDs(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -154,8 +154,8 @@ func (dS *DispatcherService) AdminSv1GetActionProfiles(ctx *context.Context, arg if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -166,8 +166,8 @@ func (dS *DispatcherService) AdminSv1GetActionProfilesCount(ctx *context.Context if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -178,8 +178,8 @@ func (dS *DispatcherService) AdminSv1GetActionsIndexesHealth(ctx *context.Contex if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -190,8 +190,8 @@ func (dS *DispatcherService) AdminSv1GetAttributeProfile(ctx *context.Context, a if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -202,8 +202,8 @@ func (dS *DispatcherService) AdminSv1GetAttributeProfileIDs(ctx *context.Context if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -214,8 +214,8 @@ func (dS *DispatcherService) AdminSv1GetAttributeProfiles(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -226,8 +226,8 @@ func (dS *DispatcherService) AdminSv1GetAttributeProfilesCount(ctx *context.Cont if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -238,8 +238,8 @@ func (dS *DispatcherService) AdminSv1GetAttributesIndexesHealth(ctx *context.Con if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -250,8 +250,8 @@ func (dS *DispatcherService) AdminSv1GetChargerProfile(ctx *context.Context, arg if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -262,8 +262,8 @@ func (dS *DispatcherService) AdminSv1GetChargerProfileIDs(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -274,8 +274,8 @@ func (dS *DispatcherService) AdminSv1GetChargerProfiles(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -286,8 +286,8 @@ func (dS *DispatcherService) AdminSv1GetChargerProfilesCount(ctx *context.Contex if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -298,8 +298,8 @@ func (dS *DispatcherService) AdminSv1GetChargersIndexesHealth(ctx *context.Conte if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -310,8 +310,8 @@ func (dS *DispatcherService) AdminSv1GetDispatcherHost(ctx *context.Context, arg if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -322,8 +322,8 @@ func (dS *DispatcherService) AdminSv1GetDispatcherHostIDs(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -334,8 +334,8 @@ func (dS *DispatcherService) AdminSv1GetDispatcherHosts(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -346,8 +346,8 @@ func (dS *DispatcherService) AdminSv1GetDispatcherHostsCount(ctx *context.Contex if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -358,8 +358,8 @@ func (dS *DispatcherService) AdminSv1GetDispatcherProfile(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -370,8 +370,8 @@ func (dS *DispatcherService) AdminSv1GetDispatcherProfileIDs(ctx *context.Contex if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -382,8 +382,8 @@ func (dS *DispatcherService) AdminSv1GetDispatcherProfiles(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -394,8 +394,8 @@ func (dS *DispatcherService) AdminSv1GetDispatcherProfilesCount(ctx *context.Con if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -406,8 +406,8 @@ func (dS *DispatcherService) AdminSv1GetDispatchersIndexesHealth(ctx *context.Co if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -418,8 +418,8 @@ func (dS *DispatcherService) AdminSv1GetFilter(ctx *context.Context, args *utils if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -430,8 +430,8 @@ func (dS *DispatcherService) AdminSv1GetFilterIDs(ctx *context.Context, args *ut if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -442,8 +442,8 @@ func (dS *DispatcherService) AdminSv1GetFilterIndexes(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -454,8 +454,8 @@ func (dS *DispatcherService) AdminSv1GetFilters(ctx *context.Context, args *util if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -466,8 +466,8 @@ func (dS *DispatcherService) AdminSv1GetFiltersCount(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -478,8 +478,8 @@ func (dS *DispatcherService) AdminSv1GetRateProfile(ctx *context.Context, args * if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -490,8 +490,8 @@ func (dS *DispatcherService) AdminSv1GetRateProfileIDs(ctx *context.Context, arg if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -502,8 +502,8 @@ func (dS *DispatcherService) AdminSv1GetRateProfileRateIDs(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -514,8 +514,8 @@ func (dS *DispatcherService) AdminSv1GetRateProfileRates(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -526,8 +526,8 @@ func (dS *DispatcherService) AdminSv1GetRateProfileRatesCount(ctx *context.Conte if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -538,8 +538,8 @@ func (dS *DispatcherService) AdminSv1GetRateProfiles(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -550,8 +550,8 @@ func (dS *DispatcherService) AdminSv1GetRateProfilesCount(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -562,8 +562,8 @@ func (dS *DispatcherService) AdminSv1GetRateProfilesIndexesHealth(ctx *context.C if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -574,8 +574,8 @@ func (dS *DispatcherService) AdminSv1GetRateRatesIndexesHealth(ctx *context.Cont if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -586,8 +586,8 @@ func (dS *DispatcherService) AdminSv1GetResourceProfile(ctx *context.Context, ar if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -598,8 +598,8 @@ func (dS *DispatcherService) AdminSv1GetResourceProfileIDs(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -610,8 +610,8 @@ func (dS *DispatcherService) AdminSv1GetResourceProfiles(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -622,8 +622,8 @@ func (dS *DispatcherService) AdminSv1GetResourceProfilesCount(ctx *context.Conte if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -634,8 +634,8 @@ func (dS *DispatcherService) AdminSv1GetResourcesIndexesHealth(ctx *context.Cont if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -646,8 +646,8 @@ func (dS *DispatcherService) AdminSv1GetReverseFilterHealth(ctx *context.Context if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -658,8 +658,8 @@ func (dS *DispatcherService) AdminSv1GetRouteProfile(ctx *context.Context, args if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -670,8 +670,8 @@ func (dS *DispatcherService) AdminSv1GetRouteProfileIDs(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -682,8 +682,8 @@ func (dS *DispatcherService) AdminSv1GetRouteProfiles(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -694,8 +694,8 @@ func (dS *DispatcherService) AdminSv1GetRouteProfilesCount(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -706,8 +706,8 @@ func (dS *DispatcherService) AdminSv1GetRoutesIndexesHealth(ctx *context.Context if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -718,8 +718,8 @@ func (dS *DispatcherService) AdminSv1GetStatQueueProfile(ctx *context.Context, a if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -730,8 +730,8 @@ func (dS *DispatcherService) AdminSv1GetStatQueueProfileIDs(ctx *context.Context if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -742,8 +742,8 @@ func (dS *DispatcherService) AdminSv1GetStatQueueProfiles(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -754,8 +754,8 @@ func (dS *DispatcherService) AdminSv1GetStatQueueProfilesCount(ctx *context.Cont if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -766,8 +766,8 @@ func (dS *DispatcherService) AdminSv1GetStatsIndexesHealth(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -778,8 +778,8 @@ func (dS *DispatcherService) AdminSv1GetThresholdProfile(ctx *context.Context, a if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -790,8 +790,8 @@ func (dS *DispatcherService) AdminSv1GetThresholdProfileIDs(ctx *context.Context if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -802,8 +802,8 @@ func (dS *DispatcherService) AdminSv1GetThresholdProfiles(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -814,8 +814,8 @@ func (dS *DispatcherService) AdminSv1GetThresholdProfilesCount(ctx *context.Cont if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -826,8 +826,8 @@ func (dS *DispatcherService) AdminSv1GetThresholdsIndexesHealth(ctx *context.Con if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -838,11 +838,11 @@ func (dS *DispatcherService) AdminSv1Ping(ctx *context.Context, args *utils.CGRE if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -853,8 +853,8 @@ func (dS *DispatcherService) AdminSv1RemoveAccount(ctx *context.Context, args *u if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -865,8 +865,8 @@ func (dS *DispatcherService) AdminSv1RemoveActionProfile(ctx *context.Context, a if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -877,8 +877,8 @@ func (dS *DispatcherService) AdminSv1RemoveAttributeProfile(ctx *context.Context if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -889,8 +889,8 @@ func (dS *DispatcherService) AdminSv1RemoveChargerProfile(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -901,8 +901,8 @@ func (dS *DispatcherService) AdminSv1RemoveDispatcherHost(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -913,8 +913,8 @@ func (dS *DispatcherService) AdminSv1RemoveDispatcherProfile(ctx *context.Contex if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -925,8 +925,8 @@ func (dS *DispatcherService) AdminSv1RemoveFilter(ctx *context.Context, args *ut if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -937,8 +937,8 @@ func (dS *DispatcherService) AdminSv1RemoveFilterIndexes(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -949,8 +949,8 @@ func (dS *DispatcherService) AdminSv1RemoveRateProfile(ctx *context.Context, arg if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -961,8 +961,8 @@ func (dS *DispatcherService) AdminSv1RemoveRateProfileRates(ctx *context.Context if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -973,8 +973,8 @@ func (dS *DispatcherService) AdminSv1RemoveResourceProfile(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -985,8 +985,8 @@ func (dS *DispatcherService) AdminSv1RemoveRouteProfile(ctx *context.Context, ar if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -997,8 +997,8 @@ func (dS *DispatcherService) AdminSv1RemoveStatQueueProfile(ctx *context.Context if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1009,8 +1009,8 @@ func (dS *DispatcherService) AdminSv1RemoveThresholdProfile(ctx *context.Context if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1021,8 +1021,8 @@ func (dS *DispatcherService) AdminSv1SetAccount(ctx *context.Context, args *util if args != nil && (args.Account != nil && len(args.Account.Tenant) != 0) { tnt = args.Account.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1033,8 +1033,8 @@ func (dS *DispatcherService) AdminSv1SetActionProfile(ctx *context.Context, args if args != nil && (args.ActionProfile != nil && len(args.ActionProfile.Tenant) != 0) { tnt = args.ActionProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1045,8 +1045,8 @@ func (dS *DispatcherService) AdminSv1SetAttributeProfile(ctx *context.Context, a if args != nil && (args.APIAttributeProfile != nil && len(args.APIAttributeProfile.Tenant) != 0) { tnt = args.APIAttributeProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1057,8 +1057,8 @@ func (dS *DispatcherService) AdminSv1SetChargerProfile(ctx *context.Context, arg if args != nil && (args.ChargerProfile != nil && len(args.ChargerProfile.Tenant) != 0) { tnt = args.ChargerProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1069,8 +1069,8 @@ func (dS *DispatcherService) AdminSv1SetDispatcherHost(ctx *context.Context, arg if args != nil && (args.DispatcherHost != nil && len(args.DispatcherHost.Tenant) != 0) { tnt = args.DispatcherHost.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1081,8 +1081,8 @@ func (dS *DispatcherService) AdminSv1SetDispatcherProfile(ctx *context.Context, if args != nil && (args.DispatcherProfile != nil && len(args.DispatcherProfile.Tenant) != 0) { tnt = args.DispatcherProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1093,8 +1093,8 @@ func (dS *DispatcherService) AdminSv1SetFilter(ctx *context.Context, args *engin if args != nil && (args.Filter != nil && len(args.Filter.Tenant) != 0) { tnt = args.Filter.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1105,8 +1105,8 @@ func (dS *DispatcherService) AdminSv1SetRateProfile(ctx *context.Context, args * if args != nil && (args.RateProfile != nil && len(args.RateProfile.Tenant) != 0) { tnt = args.RateProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1117,8 +1117,8 @@ func (dS *DispatcherService) AdminSv1SetResourceProfile(ctx *context.Context, ar if args != nil && (args.ResourceProfile != nil && len(args.ResourceProfile.Tenant) != 0) { tnt = args.ResourceProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1129,8 +1129,8 @@ func (dS *DispatcherService) AdminSv1SetRouteProfile(ctx *context.Context, args if args != nil && (args.RouteProfile != nil && len(args.RouteProfile.Tenant) != 0) { tnt = args.RouteProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1141,8 +1141,8 @@ func (dS *DispatcherService) AdminSv1SetStatQueueProfile(ctx *context.Context, a if args != nil && (args.StatQueueProfile != nil && len(args.StatQueueProfile.Tenant) != 0) { tnt = args.StatQueueProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -1153,8 +1153,8 @@ func (dS *DispatcherService) AdminSv1SetThresholdProfile(ctx *context.Context, a if args != nil && (args.ThresholdProfile != nil && len(args.ThresholdProfile.Tenant) != 0) { tnt = args.ThresholdProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/analyzers.go b/dispatchers/analyzers.go index a01cdf36c..ef201cd34 100644 --- a/dispatchers/analyzers.go +++ b/dispatchers/analyzers.go @@ -30,19 +30,19 @@ func (dS *DispatcherService) AnalyzerSv1Ping(ctx *context.Context, args *utils.C if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAnalyzer, utils.AnalyzerSv1Ping, args, reply) } -func (dS *DispatcherService) AnalyzerSv1StringQuery(ctx *context.Context, args *analyzers.QueryArgs, reply *[]map[string]interface{}) (err error) { +func (dS *DispatcherService) AnalyzerSv1StringQuery(ctx *context.Context, args *analyzers.QueryArgs, reply *[]map[string]any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaAnalyzer, utils.AnalyzerSv1StringQuery, args, reply) } diff --git a/dispatchers/attributes.go b/dispatchers/attributes.go index 7d477bbec..8da99b8c9 100644 --- a/dispatchers/attributes.go +++ b/dispatchers/attributes.go @@ -30,11 +30,11 @@ func (dS *DispatcherService) AttributeSv1GetAttributeForEvent(ctx *context.Conte if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -45,11 +45,11 @@ func (dS *DispatcherService) AttributeSv1Ping(ctx *context.Context, args *utils. if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -60,11 +60,11 @@ func (dS *DispatcherService) AttributeSv1ProcessEvent(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/attributes_it_test.go b/dispatchers/attributes_it_test.go index 678ca85bf..005ade8f9 100644 --- a/dispatchers/attributes_it_test.go +++ b/dispatchers/attributes_it_test.go @@ -102,7 +102,7 @@ func testDspAttrPingFailover(t *testing.T) { reply = "" ev := &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", }, } @@ -142,10 +142,10 @@ func testDspAttrPingFailoverNotFoundHost(t *testing.T) { } ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "NonexistingHost", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsDispatchersProfilesCount: 1, }, @@ -185,7 +185,7 @@ func testDspAttrPingFailover2(t *testing.T) { reply = "" ev := &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", }, } @@ -214,11 +214,11 @@ func testDspAttrGetAttrFailover(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventName: "Event1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -258,12 +258,12 @@ func testDspAttrGetAttrFailover(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventName: "Event1", "Password": "CGRateS.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", utils.MetaNodeID: "DispatcherS1", @@ -322,7 +322,7 @@ func testDspAttrPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", }, }, &reply); err != nil { @@ -336,10 +336,10 @@ func testDspAttrTestMissingArgDispatcher(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", }, } @@ -354,10 +354,10 @@ func testDspAttrTestMissingApiKey(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "simpleauth", }, } @@ -372,10 +372,10 @@ func testDspAttrTestUnknownApiKey(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "1234", }, } @@ -390,10 +390,10 @@ func testDspAttrTestAuthKey(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", utils.OptsContext: "simpleauth", }, @@ -409,10 +409,10 @@ func testDspAttrTestAuthKey2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -462,11 +462,11 @@ func testDspAttrTestAuthKey2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", utils.MetaNodeID: "DispatcherS1", @@ -489,11 +489,11 @@ func testDspAttrTestAuthKey3(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.EventName: "Event1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -509,11 +509,11 @@ func testDspAttrGetAttrRoundRobin(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventName: "RoundRobin", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -553,12 +553,12 @@ func testDspAttrGetAttrRoundRobin(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.EventName: "RoundRobin", "Password": "CGRateS.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", utils.MetaNodeID: "DispatcherS1", @@ -610,11 +610,11 @@ func testDspAttrGetAttrInternal(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Internal", utils.AccountField: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", }, @@ -630,12 +630,12 @@ func testDspAttrGetAttrInternal(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSGetAttributeForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.EventName: "Internal", "Password": "CGRateS.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "attr12345", utils.OptsContext: "simpleauth", utils.MetaNodeID: "DispatcherS1", diff --git a/dispatchers/caches.go b/dispatchers/caches.go index f9f4b0aa5..8775f29ee 100644 --- a/dispatchers/caches.go +++ b/dispatchers/caches.go @@ -31,8 +31,8 @@ func (dS *DispatcherService) CacheSv1Clear(ctx *context.Context, args *utils.Att if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -43,8 +43,8 @@ func (dS *DispatcherService) CacheSv1GetCacheStats(ctx *context.Context, args *u if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -55,20 +55,20 @@ func (dS *DispatcherService) CacheSv1GetGroupItemIDs(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1GetGroupItemIDs, args, reply) } -func (dS *DispatcherService) CacheSv1GetItem(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *interface{}) (err error) { +func (dS *DispatcherService) CacheSv1GetItem(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -79,8 +79,8 @@ func (dS *DispatcherService) CacheSv1GetItemExpiryTime(ctx *context.Context, arg if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -91,20 +91,20 @@ func (dS *DispatcherService) CacheSv1GetItemIDs(ctx *context.Context, args *util if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCaches, utils.CacheSv1GetItemIDs, args, reply) } -func (dS *DispatcherService) CacheSv1GetItemWithRemote(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *interface{}) (err error) { +func (dS *DispatcherService) CacheSv1GetItemWithRemote(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, reply *any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -115,8 +115,8 @@ func (dS *DispatcherService) CacheSv1HasGroup(ctx *context.Context, args *utils. if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -127,8 +127,8 @@ func (dS *DispatcherService) CacheSv1HasItem(ctx *context.Context, args *utils.A if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -139,8 +139,8 @@ func (dS *DispatcherService) CacheSv1LoadCache(ctx *context.Context, args *utils if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -151,11 +151,11 @@ func (dS *DispatcherService) CacheSv1Ping(ctx *context.Context, args *utils.CGRE if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -166,8 +166,8 @@ func (dS *DispatcherService) CacheSv1PrecacheStatus(ctx *context.Context, args * if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -178,8 +178,8 @@ func (dS *DispatcherService) CacheSv1ReloadCache(ctx *context.Context, args *uti if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -190,8 +190,8 @@ func (dS *DispatcherService) CacheSv1RemoveGroup(ctx *context.Context, args *uti if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -202,8 +202,8 @@ func (dS *DispatcherService) CacheSv1RemoveItem(ctx *context.Context, args *util if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -214,8 +214,8 @@ func (dS *DispatcherService) CacheSv1RemoveItems(ctx *context.Context, args *uti if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -226,8 +226,8 @@ func (dS *DispatcherService) CacheSv1ReplicateRemove(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -238,8 +238,8 @@ func (dS *DispatcherService) CacheSv1ReplicateSet(ctx *context.Context, args *ut if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/caches_it_test.go b/dispatchers/caches_it_test.go index ab3158b1f..2c4058f75 100644 --- a/dispatchers/caches_it_test.go +++ b/dispatchers/caches_it_test.go @@ -85,7 +85,7 @@ func testDspChcPing(t *testing.T) { Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, }, &reply); err != nil { @@ -99,7 +99,7 @@ func testDspChcLoadAfterFolder(t *testing.T) { var rcvStats map[string]*ltcache.CacheStats expStats := engine.GetDefaultEmptyCacheStats() args := utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -112,7 +112,7 @@ func testDspChcLoadAfterFolder(t *testing.T) { reply := "" // Simple test that command is executed without errors argsR := utils.NewAttrReloadCacheWithOpts() - argsR.APIOpts = map[string]interface{}{ + argsR.APIOpts = map[string]any{ utils.OptsAPIKey: "chc12345", } argsR.Tenant = "cgrates.org" @@ -207,7 +207,7 @@ func testDspChcPrecacheStatus(t *testing.T) { } if err := dispEngine.RPC.Call(utils.CacheSv1PrecacheStatus, utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -225,7 +225,7 @@ func testDspChcGetItemIDs(t *testing.T) { ArgsGetCacheItemIDs: utils.ArgsGetCacheItemIDs{ CacheID: utils.CacheChargerProfiles, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -247,7 +247,7 @@ func testDspChcHasItem(t *testing.T) { CacheID: utils.CacheChargerProfiles, ItemID: "cgrates.org:DEFAULT", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -267,7 +267,7 @@ func testDspChcGetItemExpiryTime(t *testing.T) { CacheID: utils.CacheChargerProfiles, ItemID: "cgrates.org:DEFAULT", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -282,7 +282,7 @@ func testDspChcGetItemExpiryTime(t *testing.T) { func testDspChcReloadCache(t *testing.T) { reply := "" if err := dispEngine.RPC.Call(utils.CacheSv1ReloadCache, &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -300,7 +300,7 @@ func testDspChcRemoveItem(t *testing.T) { CacheID: utils.CacheChargerProfiles, ItemID: "cgrates.org:DEFAULT", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -326,7 +326,7 @@ func testDspChcRemoveItem(t *testing.T) { func testDspChcClear(t *testing.T) { reply := "" if err := dispEngine.RPC.Call(utils.CacheSv1Clear, utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", @@ -338,7 +338,7 @@ func testDspChcClear(t *testing.T) { var rcvStats map[string]*ltcache.CacheStats expStats := engine.GetDefaultEmptyCacheStats() if err := dispEngine.RPC.Call(utils.CacheSv1GetCacheStats, utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chc12345", }, Tenant: "cgrates.org", diff --git a/dispatchers/cdrs.go b/dispatchers/cdrs.go index f429bbf8c..af621a30d 100644 --- a/dispatchers/cdrs.go +++ b/dispatchers/cdrs.go @@ -29,11 +29,11 @@ func (dS *DispatcherService) CDRsV1Ping(ctx *context.Context, args *utils.CGREve if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -44,11 +44,11 @@ func (dS *DispatcherService) CDRsV1ProcessEvent(ctx *context.Context, args *util if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -59,11 +59,11 @@ func (dS *DispatcherService) CDRsV1ProcessEventWithGet(ctx *context.Context, arg if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/chargers.go b/dispatchers/chargers.go index f3c8394d4..7585de563 100644 --- a/dispatchers/chargers.go +++ b/dispatchers/chargers.go @@ -30,11 +30,11 @@ func (dS *DispatcherService) ChargerSv1GetChargersForEvent(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -45,11 +45,11 @@ func (dS *DispatcherService) ChargerSv1Ping(ctx *context.Context, args *utils.CG if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -60,11 +60,11 @@ func (dS *DispatcherService) ChargerSv1ProcessEvent(ctx *context.Context, args * if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/chargers_it_test.go b/dispatchers/chargers_it_test.go index 672423a08..7aaa943b8 100644 --- a/dispatchers/chargers_it_test.go +++ b/dispatchers/chargers_it_test.go @@ -78,7 +78,7 @@ func testDspCppPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, } @@ -105,12 +105,12 @@ func testDspCppGetChtgFailover(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, } @@ -180,7 +180,7 @@ func testDspCppPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.ChargerSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, }, &reply); err != nil { @@ -194,10 +194,10 @@ func testDspCppTestAuthKey(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, } @@ -212,11 +212,11 @@ func testDspCppTestAuthKey2(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, } @@ -267,11 +267,11 @@ func testDspCppGetChtgRoundRobin(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "RoundRobin", utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "chrg12345", }, } diff --git a/dispatchers/config.go b/dispatchers/config.go index 51346d62d..33835f9d2 100644 --- a/dispatchers/config.go +++ b/dispatchers/config.go @@ -25,13 +25,13 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (dS *DispatcherService) ConfigSv1GetConfig(ctx *context.Context, args *config.SectionWithAPIOpts, reply *map[string]interface{}) (err error) { +func (dS *DispatcherService) ConfigSv1GetConfig(ctx *context.Context, args *config.SectionWithAPIOpts, reply *map[string]any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -42,8 +42,8 @@ func (dS *DispatcherService) ConfigSv1GetConfigAsJSON(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -54,11 +54,11 @@ func (dS *DispatcherService) ConfigSv1Ping(ctx *context.Context, args *utils.CGR if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -69,8 +69,8 @@ func (dS *DispatcherService) ConfigSv1ReloadConfig(ctx *context.Context, args *c if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -81,8 +81,8 @@ func (dS *DispatcherService) ConfigSv1SetConfig(ctx *context.Context, args *conf if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -93,8 +93,8 @@ func (dS *DispatcherService) ConfigSv1SetConfigFromJSON(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -105,8 +105,8 @@ func (dS *DispatcherService) ConfigSv1StoreCfgInDB(ctx *context.Context, args *c if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/config_it_test.go b/dispatchers/config_it_test.go index 821f62118..62525a11b 100644 --- a/dispatchers/config_it_test.go +++ b/dispatchers/config_it_test.go @@ -61,7 +61,7 @@ func TestDspConfigIT(t *testing.T) { } func testDspConfigSv1GetJSONSection(t *testing.T) { - expected := map[string]interface{}{ + expected := map[string]any{ "http": ":6080", "http_tls": "127.0.0.1:2280", "rpc_gob": ":6013", @@ -69,14 +69,14 @@ func testDspConfigSv1GetJSONSection(t *testing.T) { "rpc_json": ":6012", "rpc_json_tls": "127.0.0.1:2022", } - expected = map[string]interface{}{ + expected = map[string]any{ "listen": expected, } - var reply map[string]interface{} + var reply map[string]any if err := dispEngine.RPC.Call(utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ Tenant: "cgrates.org", Sections: []string{"listen"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "cfg12345", }, }, &reply); err != nil { diff --git a/dispatchers/config_test.go b/dispatchers/config_test.go index 5da061334..ccb8b424e 100644 --- a/dispatchers/config_test.go +++ b/dispatchers/config_test.go @@ -31,7 +31,7 @@ func TestDspConfigSv1GetConfigNil(t *testing.T) { CGREvent := &config.SectionWithAPIOpts{ Tenant: "tenant", } - var reply *map[string]interface{} + var reply *map[string]any result := dspSrv.ConfigSv1GetConfig(context.Background(), CGREvent, reply) expected := "DISPATCHER_ERROR:NO_DATABASE_CONNECTION" if result == nil || result.Error() != expected { @@ -44,7 +44,7 @@ func TestDspConfigSv1GetConfigErrorNil(t *testing.T) { dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} CGREvent := &config.SectionWithAPIOpts{} - var reply *map[string]interface{} + var reply *map[string]any result := dspSrv.ConfigSv1GetConfig(context.Background(), CGREvent, reply) expected := "MANDATORY_IE_MISSING: [ApiKey]" if result == nil || result.Error() != expected { diff --git a/dispatchers/cores.go b/dispatchers/cores.go index cf77d01ad..3c63f9820 100644 --- a/dispatchers/cores.go +++ b/dispatchers/cores.go @@ -29,8 +29,8 @@ func (dS *DispatcherService) CoreSv1Panic(ctx *context.Context, args *utils.Pani if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -41,11 +41,11 @@ func (dS *DispatcherService) CoreSv1Ping(ctx *context.Context, args *utils.CGREv if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -56,11 +56,11 @@ func (dS *DispatcherService) CoreSv1Shutdown(ctx *context.Context, args *utils.C if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -71,8 +71,8 @@ func (dS *DispatcherService) CoreSv1Sleep(ctx *context.Context, args *utils.Dura if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -83,8 +83,8 @@ func (dS *DispatcherService) CoreSv1StartCPUProfiling(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -95,20 +95,20 @@ func (dS *DispatcherService) CoreSv1StartMemoryProfiling(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaCore, utils.CoreSv1StartMemoryProfiling, args, reply) } -func (dS *DispatcherService) CoreSv1Status(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *map[string]interface{}) (err error) { +func (dS *DispatcherService) CoreSv1Status(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *map[string]any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -119,8 +119,8 @@ func (dS *DispatcherService) CoreSv1StopCPUProfiling(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -131,8 +131,8 @@ func (dS *DispatcherService) CoreSv1StopMemoryProfiling(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/dispatchers.go b/dispatchers/dispatchers.go index 0d19d8c3b..ab8b5e7e2 100644 --- a/dispatchers/dispatchers.go +++ b/dispatchers/dispatchers.go @@ -76,10 +76,10 @@ func (dS *DispatcherService) authorize(ctx *context.Context, method, tenant stri ev := &utils.CGREvent{ Tenant: tenant, ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.APIKey: apiKey, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaDispatchers, utils.OptsContext: utils.MetaAuth, }, @@ -161,7 +161,7 @@ func (dS *DispatcherService) dispatcherProfilesForEvent(ctx *context.Context, tn // Dispatch is the method forwarding the request towards the right connection func (dS *DispatcherService) Dispatch(ctx *context.Context, ev *utils.CGREvent, subsys string, - serviceMethod string, args, reply interface{}) (err error) { + serviceMethod string, args, reply any) (err error) { tnt := ev.Tenant if len(dS.cfg.DispatcherSCfg().AttributeSConns) != 0 { if err = dS.authorize(ctx, serviceMethod, tnt, utils.IfaceAsString(ev.APIOpts[utils.OptsAPIKey])); err != nil { @@ -176,7 +176,7 @@ func (dS *DispatcherService) Dispatch(ctx *context.Context, ev *utils.CGREvent, utils.MetaMethod: serviceMethod, }, } - dspLoopAPIOpts := map[string]interface{}{ + dspLoopAPIOpts := map[string]any{ utils.MetaSubsys: utils.MetaDispatchers, utils.MetaNodeID: dS.cfg.GeneralCfg().NodeID, } @@ -210,7 +210,7 @@ func (dS *DispatcherService) Dispatch(ctx *context.Context, ev *utils.CGREvent, CacheID: utils.CacheDispatcherRoutes, ItemID: routeID, }} - var itmRemote interface{} + var itmRemote any if itmRemote, err = engine.Cache.GetWithRemote(ctx, argsCache); err == nil && itmRemote != nil { var canCast bool if dR, canCast = itmRemote.(*DispatcherRoute); !canCast { @@ -248,7 +248,7 @@ func (dS *DispatcherService) Dispatch(ctx *context.Context, ev *utils.CGREvent, serviceMethod, args, reply) } if ev.APIOpts == nil { - ev.APIOpts = make(map[string]interface{}) + ev.APIOpts = make(map[string]any) } ev.APIOpts[utils.MetaSubsys] = utils.MetaDispatchers // inject into args ev.APIOpts[utils.MetaNodeID] = dS.cfg.GeneralCfg().NodeID @@ -312,7 +312,7 @@ func (dS *DispatcherService) ping(ctx *context.Context, subsys, method string, a } func (dS *DispatcherService) DispatcherSv1RemoteStatus(ctx *context.Context, args *utils.TenantWithAPIOpts, - reply *map[string]interface{}) (err error) { + reply *map[string]any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args.Tenant != utils.EmptyString { tnt = args.Tenant diff --git a/dispatchers/dispatchers_it_test.go b/dispatchers/dispatchers_it_test.go index 385fb1ccb..db1eb5f0d 100644 --- a/dispatchers/dispatchers_it_test.go +++ b/dispatchers/dispatchers_it_test.go @@ -49,9 +49,9 @@ func TestDspApierITMongo(t *testing.T) { testDsp(t, sTestsDspApier, "TestDspApier", "all", "all2", "dispatchers_mongo", "tutorial", "oldtutorial", "dispatchers") } -//because we import dispatchers in APIerSv1 we will send information as map[string]interface{} +//because we import dispatchers in APIerSv1 we will send information as map[string]any func testDspApierSetAttributes(t *testing.T) { - ev := &map[string]interface{}{ + ev := &map[string]any{ utils.Tenant: "cgrates.org", "ID": "ATTR_Dispatcher", "Contexts": []string{utils.MetaSessionS}, @@ -170,7 +170,7 @@ func TestDispatcherServiceDispatcherProfileForEventGetDispatchertWithoutAuthenti dss := NewDispatcherService(dm, cfg, fltrs, connMng) ev := &utils.CGREvent{ ID: "321", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, diff --git a/dispatchers/dispatchers_test.go b/dispatchers/dispatchers_test.go index 63e6ad636..3d9c252b1 100644 --- a/dispatchers/dispatchers_test.go +++ b/dispatchers/dispatchers_test.go @@ -67,12 +67,12 @@ func TestDispatcherServiceDispatcherProfileForEventGetDispatcherProfileNF(t *tes ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "321", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -290,7 +290,7 @@ func TestDispatcherServiceAuthorizeEventError2(t *testing.T) { type mockTypeCon2 struct{} -func (*mockTypeCon2) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) error { +func (*mockTypeCon2) Call(ctx *context.Context, serviceMethod string, args, reply any) error { return nil } @@ -308,7 +308,7 @@ func TestDispatcherServiceAuthorizeEventError3(t *testing.T) { ev := &utils.CGREvent{ Tenant: "testTenant", ID: "testID", - Event: map[string]interface{}{}, + Event: map[string]any{}, APIOpts: nil, } dh := &engine.DispatcherHost{ @@ -335,12 +335,12 @@ func TestDispatcherServiceAuthorizeEventError3(t *testing.T) { type mockTypeCon3 struct{} -func (*mockTypeCon3) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) error { +func (*mockTypeCon3) Call(ctx *context.Context, serviceMethod string, args, reply any) error { eVreply := &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "testTenant", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.APIMethods: "yes", }, APIOpts: nil, @@ -384,12 +384,12 @@ func TestDispatcherServiceAuthorizeError(t *testing.T) { type mockTypeCon4 struct{} -func (*mockTypeCon4) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) error { +func (*mockTypeCon4) Call(ctx *context.Context, serviceMethod string, args, reply any) error { eVreply := &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "testTenant", ID: "testID", - Event: map[string]interface{}{}, + Event: map[string]any{}, APIOpts: nil, }, } @@ -432,12 +432,12 @@ func TestDispatcherServiceAuthorizeError2(t *testing.T) { type mockTypeCon5 struct{} -func (*mockTypeCon5) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) error { +func (*mockTypeCon5) Call(ctx *context.Context, serviceMethod string, args, reply any) error { eVreply := &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "testTenant", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.APIMethods: "testMethod", }, APIOpts: nil, @@ -502,12 +502,12 @@ func TestDispatcherServiceDispatcherProfileForEventErrNil(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -548,12 +548,12 @@ func TestDispatcherV1GetProfileForEventReturn(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -600,12 +600,12 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAny, }, } @@ -646,12 +646,12 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFound2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -694,12 +694,12 @@ func TestDispatcherServiceDispatcherProfileForEventErrNotFoundFilter(t *testing. ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -741,12 +741,12 @@ func TestDispatcherServiceDispatchDspErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -770,7 +770,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound(t *testing.T) { Tenant: "cgrates.org", ID: "123", FilterIDs: []string{"*string:~*vars.*subsys:" + utils.MetaAccounts}, - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Strategy: utils.MetaWeight, Weight: 0, Hosts: nil, @@ -790,12 +790,12 @@ func TestDispatcherServiceDispatchDspErrHostNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -832,12 +832,12 @@ func TestDispatcherServiceDispatcherProfileForEventFoundFilter(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -878,12 +878,12 @@ func TestDispatcherServiceDispatcherProfileForEventNotNotFound(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -927,12 +927,12 @@ func TestDispatcherServiceDispatcherProfileForEventGetDispatcherError(t *testing ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -961,7 +961,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound2(t *testing.T) { Tenant: "cgrates.org", ID: "123", FilterIDs: []string{"*string:~*vars.*subsys:" + utils.MetaAccounts}, - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Strategy: utils.MetaWeight, Weight: 0, Hosts: nil, @@ -983,12 +983,12 @@ func TestDispatcherServiceDispatchDspErrHostNotFound2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -1003,7 +1003,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound2(t *testing.T) { type mockTypeConSetCache struct{} -func (*mockTypeConSetCache) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) error { +func (*mockTypeConSetCache) Call(ctx *context.Context, serviceMethod string, args, reply any) error { return utils.ErrNotImplemented } @@ -1025,7 +1025,7 @@ func TestDispatcherServiceDispatchDspErrHostNotFound3(t *testing.T) { Tenant: "cgrates.org", ID: "123", FilterIDs: []string{"*string:~*vars.*subsys:" + utils.MetaAccounts}, - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Strategy: utils.MetaWeight, Weight: 0, Hosts: nil, @@ -1041,12 +1041,12 @@ func TestDispatcherServiceDispatchDspErrHostNotFound3(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Password": "CGRateS.org", "RunID": utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAccounts, }, } @@ -1104,10 +1104,10 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseFirstNotFound(t *testing. tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } @@ -1173,10 +1173,10 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseFound(t *testing.T) { tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } @@ -1242,10 +1242,10 @@ func TestDispatchersdispatcherProfileForEventAnySSfalseNotFound(t *testing.T) { tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } @@ -1309,10 +1309,10 @@ func TestDispatchersdispatcherProfileForEventAnySStrueNotFound(t *testing.T) { tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } @@ -1376,10 +1376,10 @@ func TestDispatchersdispatcherProfileForEventAnySStrueBothFound(t *testing.T) { tnt := "cgrates.org" ev := &utils.CGREvent{ Tenant: tnt, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDispatchersProfilesCount: 1, }, } diff --git a/dispatchers/ees.go b/dispatchers/ees.go index c1b131637..48278cc53 100644 --- a/dispatchers/ees.go +++ b/dispatchers/ees.go @@ -30,8 +30,8 @@ func (dS *DispatcherService) EeSv1ArchiveEventsInReply(ctx *context.Context, arg if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -42,26 +42,26 @@ func (dS *DispatcherService) EeSv1Ping(ctx *context.Context, args *utils.CGREven if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaEEs, utils.EeSv1Ping, args, reply) } -func (dS *DispatcherService) EeSv1ProcessEvent(ctx *context.Context, args *utils.CGREventWithEeIDs, reply *map[string]map[string]interface{}) (err error) { +func (dS *DispatcherService) EeSv1ProcessEvent(ctx *context.Context, args *utils.CGREventWithEeIDs, reply *map[string]map[string]any) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant if args != nil && (args.CGREvent != nil && len(args.CGREvent.Tenant) != 0) { tnt = args.CGREvent.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil && args.CGREvent != nil { ev = args.CGREvent.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil && args.CGREvent != nil { opts = args.CGREvent.APIOpts } diff --git a/dispatchers/efs.go b/dispatchers/efs.go index 53c1cefb7..cda1baf9f 100644 --- a/dispatchers/efs.go +++ b/dispatchers/efs.go @@ -29,11 +29,11 @@ func (dS *DispatcherService) EfSv1Ping(ctx *context.Context, args *utils.CGREven if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -44,8 +44,8 @@ func (dS *DispatcherService) EfSv1ProcessEvent(ctx *context.Context, args *utils if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -56,7 +56,7 @@ func (dS *DispatcherService) EfSv1ReplayEvents(ctx *context.Context, args *utils if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaEFs, utils.EfSv1ReplayEvents, args, reply) } diff --git a/dispatchers/guardian.go b/dispatchers/guardian.go index 8deb26bf0..241dab615 100644 --- a/dispatchers/guardian.go +++ b/dispatchers/guardian.go @@ -30,11 +30,11 @@ func (dS *DispatcherService) GuardianSv1Ping(ctx *context.Context, args *utils.C if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -45,8 +45,8 @@ func (dS *DispatcherService) GuardianSv1RemoteLock(ctx *context.Context, args *g if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -57,8 +57,8 @@ func (dS *DispatcherService) GuardianSv1RemoteUnlock(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/guardian_it_test.go b/dispatchers/guardian_it_test.go index 762f7df17..c17643429 100644 --- a/dispatchers/guardian_it_test.go +++ b/dispatchers/guardian_it_test.go @@ -72,7 +72,7 @@ func testDspGrdPing(t *testing.T) { if err := dispEngine.RPC.Call(utils.GuardianSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "grd12345", }, }, &reply); err != nil { @@ -93,7 +93,7 @@ func testDspGrdLock(t *testing.T) { if err := dispEngine.RPC.Call(utils.GuardianSv1RemoteLock, &guardian.AttrRemoteLockWithAPIOpts{ AttrRemoteLock: args, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "grd12345", }, }, &reply); err != nil { @@ -104,7 +104,7 @@ func testDspGrdLock(t *testing.T) { if err := dispEngine.RPC.Call(utils.GuardianSv1RemoteUnlock, &guardian.AttrRemoteUnlockWithAPIOpts{ RefID: reply, Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "grd12345", }, }, &unlockReply); err != nil { diff --git a/dispatchers/libdispatcher.go b/dispatchers/libdispatcher.go index 06f9b9ef4..86d74aa29 100644 --- a/dispatchers/libdispatcher.go +++ b/dispatchers/libdispatcher.go @@ -84,7 +84,7 @@ type Dispatcher interface { Dispatch(dm *engine.DataManager, flts *engine.FilterS, cfg *config.CGRConfig, ctx *context.Context, iPRCCh chan birpc.ClientConnector, ev utils.DataProvider, tnt, routeID string, dR *DispatcherRoute, - serviceMethod string, args interface{}, reply interface{}) (err error) + serviceMethod string, args any, reply any) (err error) } // newDispatcher constructs instances of Dispatcher @@ -178,7 +178,7 @@ func (rs *roundRobinSort) Sort(fltrs *engine.FilterS, ev utils.DataProvider, } // newSingleDispatcher is the constructor for singleDispatcher struct. -func newSingleDispatcher(hosts engine.DispatcherHostProfiles, params map[string]interface{}, +func newSingleDispatcher(hosts engine.DispatcherHostProfiles, params map[string]any, tntID string, sorter hostSorter) (_ Dispatcher, err error) { if dflt, has := params[utils.MetaDefaultRatio]; has { var ratio int64 @@ -218,7 +218,7 @@ type singleResultDispatcher struct { func (sd *singleResultDispatcher) Dispatch(dm *engine.DataManager, flts *engine.FilterS, cfg *config.CGRConfig, ctx *context.Context, iPRCCh chan birpc.ClientConnector, ev utils.DataProvider, tnt, routeID string, dR *DispatcherRoute, - serviceMethod string, args interface{}, reply interface{}) (err error) { + serviceMethod string, args any, reply any) (err error) { if dR != nil && dR.HostID != utils.EmptyString { // route to previously discovered route return callDHwithID(ctx, tnt, dR.HostID, routeID, dR, dm, cfg, iPRCCh, serviceMethod, args, reply) @@ -263,7 +263,7 @@ type broadcastDispatcher struct { func (b *broadcastDispatcher) Dispatch(dm *engine.DataManager, flts *engine.FilterS, cfg *config.CGRConfig, ctx *context.Context, iPRCCh chan birpc.ClientConnector, ev utils.DataProvider, tnt, routeID string, dR *DispatcherRoute, - serviceMethod string, args interface{}, reply interface{}) (err error) { + serviceMethod string, args any, reply any) (err error) { var hostIDs []string if hostIDs, err = getDispatcherHosts(flts, ev, ctx, tnt, b.hosts); err != nil { return @@ -314,7 +314,7 @@ type loadDispatcher struct { func (ld *loadDispatcher) Dispatch(dm *engine.DataManager, flts *engine.FilterS, cfg *config.CGRConfig, ctx *context.Context, iPRCCh chan birpc.ClientConnector, ev utils.DataProvider, tnt, routeID string, dR *DispatcherRoute, - serviceMethod string, args interface{}, reply interface{}) (err error) { + serviceMethod string, args any, reply any) (err error) { var lM *LoadMetrics if x, ok := engine.Cache.Get(utils.CacheDispatcherLoads, ld.tntID); ok && x != nil { @@ -450,7 +450,7 @@ func (lM *LoadMetrics) decrementLoad(ctx *context.Context, hostID, tntID string) // if routeID provided, will also cache once the call is successful func callDHwithID(ctx *context.Context, tnt, hostID, routeID string, dR *DispatcherRoute, dm *engine.DataManager, cfg *config.CGRConfig, iPRCCh chan birpc.ClientConnector, - serviceMethod string, args, reply interface{}) (err error) { + serviceMethod string, args, reply any) (err error) { var dH *engine.DispatcherHost if dH, err = dm.GetDispatcherHost(ctx, tnt, hostID, true, true, utils.NonTransactional); err != nil { return @@ -464,11 +464,11 @@ func callDHwithID(ctx *context.Context, tnt, hostID, routeID string, dR *Dispatc func callDH(ctx *context.Context, dh *engine.DispatcherHost, routeID string, dR *DispatcherRoute, cfg *config.CGRConfig, iPRCCh chan birpc.ClientConnector, - method string, args, reply interface{}) (err error) { + method string, args, reply any) (err error) { if routeID != utils.EmptyString { // cache the discovered route before dispatching argsCache := &utils.ArgCacheReplicateSet{ Tenant: dh.Tenant, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaDispatchers, utils.MetaNodeID: cfg.GeneralCfg().NodeID, }, @@ -505,7 +505,7 @@ type lazyDH struct { dR *DispatcherRoute } -func (l *lazyDH) Call(ctx *context.Context, method string, args, reply interface{}) (err error) { +func (l *lazyDH) Call(ctx *context.Context, method string, args, reply any) (err error) { return callDH(ctx, l.dh, l.routeID, l.dR, l.cfg, l.iPRCCh, method, args, reply) } diff --git a/dispatchers/libdispatcher_test.go b/dispatchers/libdispatcher_test.go index c139078a7..d0e406285 100644 --- a/dispatchers/libdispatcher_test.go +++ b/dispatchers/libdispatcher_test.go @@ -33,11 +33,11 @@ import ( func TestLibDispatcherLoadMetricsGetHosts(t *testing.T) { dhp := engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_2", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_3", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_4", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_5", Params: map[string]interface{}{utils.MetaRatio: 1}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_2", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_3", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_4", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_5", Params: map[string]any{utils.MetaRatio: 1}}, } lm, err := newLoadMetrics(dhp, 1) if err != nil { @@ -75,7 +75,7 @@ func TestLibDispatcherNewSingleDispatcher(t *testing.T) { {ID: "DSP_5"}, } var exp Dispatcher = &singleResultDispatcher{hosts: dhp} - if rply, err := newSingleDispatcher(dhp, map[string]interface{}{}, utils.EmptyString, nil); err != nil { + if rply, err := newSingleDispatcher(dhp, map[string]any{}, utils.EmptyString, nil); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: singleResultDispatcher structure,received: %s", utils.ToJSON(rply)) @@ -86,14 +86,14 @@ func TestLibDispatcherNewSingleDispatcher(t *testing.T) { {ID: "DSP_2"}, {ID: "DSP_3"}, {ID: "DSP_4"}, - {ID: "DSP_5", Params: map[string]interface{}{utils.MetaRatio: 1}}, + {ID: "DSP_5", Params: map[string]any{utils.MetaRatio: 1}}, } exp = &loadDispatcher{ hosts: dhp, tntID: "cgrates.org", defaultRatio: 1, } - if rply, err := newSingleDispatcher(dhp, map[string]interface{}{}, "cgrates.org", nil); err != nil { + if rply, err := newSingleDispatcher(dhp, map[string]any{}, "cgrates.org", nil); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: loadDispatcher structure,received: %s", utils.ToJSON(rply)) @@ -110,7 +110,7 @@ func TestLibDispatcherNewSingleDispatcher(t *testing.T) { tntID: "cgrates.org", defaultRatio: 2, } - if rply, err := newSingleDispatcher(dhp, map[string]interface{}{utils.MetaDefaultRatio: 2}, "cgrates.org", nil); err != nil { + if rply, err := newSingleDispatcher(dhp, map[string]any{utils.MetaDefaultRatio: 2}, "cgrates.org", nil); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: loadDispatcher structure,received: %s", utils.ToJSON(rply)) @@ -121,21 +121,21 @@ func TestLibDispatcherNewSingleDispatcher(t *testing.T) { tntID: "cgrates.org", defaultRatio: 0, } - if rply, err := newSingleDispatcher(dhp, map[string]interface{}{utils.MetaDefaultRatio: 0}, "cgrates.org", nil); err != nil { + if rply, err := newSingleDispatcher(dhp, map[string]any{utils.MetaDefaultRatio: 0}, "cgrates.org", nil); err != nil { t.Fatal(err) } else if !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: loadDispatcher structure,received: %s", utils.ToJSON(rply)) } - if _, err := newSingleDispatcher(dhp, map[string]interface{}{utils.MetaDefaultRatio: "A"}, "cgrates.org", nil); err == nil { + if _, err := newSingleDispatcher(dhp, map[string]any{utils.MetaDefaultRatio: "A"}, "cgrates.org", nil); err == nil { t.Fatalf("Expected error received: %v", err) } } func TestLibDispatcherNewLoadMetrics(t *testing.T) { dhp := engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_2", Params: map[string]interface{}{utils.MetaRatio: 0}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_2", Params: map[string]any{utils.MetaRatio: 0}}, {ID: "DSP_3"}, } exp := &LoadMetrics{ @@ -152,7 +152,7 @@ func TestLibDispatcherNewLoadMetrics(t *testing.T) { t.Errorf("Expected: %s ,received: %s", utils.ToJSON(exp), utils.ToJSON(lm)) } dhp = engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: "A"}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: "A"}}, } if _, err := newLoadMetrics(dhp, 2); err == nil { t.Errorf("Expected error received: %v", err) @@ -161,12 +161,12 @@ func TestLibDispatcherNewLoadMetrics(t *testing.T) { func TestLibDispatcherLoadMetricsGetHosts2(t *testing.T) { dhp := engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: 2}}, - {ID: "DSP_2", Params: map[string]interface{}{utils.MetaRatio: 3}}, - {ID: "DSP_3", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_4", Params: map[string]interface{}{utils.MetaRatio: 5}}, - {ID: "DSP_5", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_6", Params: map[string]interface{}{utils.MetaRatio: 0}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: 2}}, + {ID: "DSP_2", Params: map[string]any{utils.MetaRatio: 3}}, + {ID: "DSP_3", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_4", Params: map[string]any{utils.MetaRatio: 5}}, + {ID: "DSP_5", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_6", Params: map[string]any{utils.MetaRatio: 0}}, } lm, err := newLoadMetrics(dhp, 1) if err != nil { @@ -217,12 +217,12 @@ func TestLibDispatcherLoadMetricsGetHosts2(t *testing.T) { } dhp = engine.DispatcherHostProfiles{ - {ID: "DSP_1", Params: map[string]interface{}{utils.MetaRatio: -1}}, - {ID: "DSP_2", Params: map[string]interface{}{utils.MetaRatio: 3}}, - {ID: "DSP_3", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_4", Params: map[string]interface{}{utils.MetaRatio: 5}}, - {ID: "DSP_5", Params: map[string]interface{}{utils.MetaRatio: 1}}, - {ID: "DSP_6", Params: map[string]interface{}{utils.MetaRatio: 0}}, + {ID: "DSP_1", Params: map[string]any{utils.MetaRatio: -1}}, + {ID: "DSP_2", Params: map[string]any{utils.MetaRatio: 3}}, + {ID: "DSP_3", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_4", Params: map[string]any{utils.MetaRatio: 5}}, + {ID: "DSP_5", Params: map[string]any{utils.MetaRatio: 1}}, + {ID: "DSP_6", Params: map[string]any{utils.MetaRatio: 0}}, } lm, err = newLoadMetrics(dhp, 1) if err != nil { @@ -265,7 +265,7 @@ func TestLibDispatcherNewDispatcherMetaWeight(t *testing.T) { func TestLibDispatcherNewDispatcherMetaWeightErr(t *testing.T) { pfl := &engine.DispatcherProfile{ Hosts: engine.DispatcherHostProfiles{}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: false, }, Strategy: utils.MetaWeight, @@ -302,7 +302,7 @@ func TestLibDispatcherNewDispatcherMetaRandom(t *testing.T) { func TestLibDispatcherNewDispatcherMetaRandomErr(t *testing.T) { pfl := &engine.DispatcherProfile{ Hosts: engine.DispatcherHostProfiles{}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: false, }, Strategy: utils.MetaRandom, @@ -339,7 +339,7 @@ func TestLibDispatcherNewDispatcherMetaRoundRobin(t *testing.T) { func TestLibDispatcherNewDispatcherMetaRoundRobinErr(t *testing.T) { pfl := &engine.DispatcherProfile{ Hosts: engine.DispatcherHostProfiles{}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: false, }, Strategy: utils.MetaRoundRobin, @@ -483,7 +483,7 @@ func TestLibDispatcherLoadStrategyDispatchCaseHostsCastError(t *testing.T) { ID: "testID", // FilterIDs: []string{"filterID"}, Weight: 4, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: 1, }, Blocker: false, @@ -508,7 +508,7 @@ func TestLibDispatcherLoadStrategyDispatchCaseHostsCastError2(t *testing.T) { ID: "testID", // FilterIDs: []string{"filterID"}, Weight: 4, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: false, }, Blocker: false, @@ -552,7 +552,7 @@ func TestLibDispatcherSingleResultDispatcherCastError(t *testing.T) { type mockTypeCon struct{} -func (*mockTypeCon) Call(ctx *context.Context, method string, args interface{}, reply interface{}) error { +func (*mockTypeCon) Call(ctx *context.Context, method string, args any, reply any) error { return utils.ErrNotFound } @@ -681,7 +681,7 @@ func TestLibDispatcherLoadDispatcherCacheError4(t *testing.T) { ID: "testID", // FilterIDs: []string{"filterID1", "filterID2"}, Weight: 3, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: 1, }, Blocker: true, @@ -690,7 +690,7 @@ func TestLibDispatcherLoadDispatcherCacheError4(t *testing.T) { ID: "testID2", // FilterIDs: []string{"filterID1", "filterID2"}, Weight: 3, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: 2, }, Blocker: true, @@ -709,7 +709,7 @@ func TestLibDispatcherLoadDispatcherCacheError4(t *testing.T) { type mockTypeConDispatch struct{} -func (*mockTypeConDispatch) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) error { +func (*mockTypeConDispatch) Call(ctx *context.Context, serviceMethod string, args, reply any) error { return rpc.ErrShutdown } @@ -740,7 +740,7 @@ func TestLibDispatcherLoadDispatcherCacheError5(t *testing.T) { { ID: "testID", Weight: 3, - Params: map[string]interface{}{ + Params: map[string]any{ utils.MetaRatio: 1, }, Blocker: true, @@ -784,7 +784,7 @@ func TestLibDispatcherSingleResultDispatcherCase1(t *testing.T) { type mockTypeConDispatch2 struct{} -func (*mockTypeConDispatch2) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) error { +func (*mockTypeConDispatch2) Call(ctx *context.Context, serviceMethod string, args, reply any) error { return nil } diff --git a/dispatchers/loaders.go b/dispatchers/loaders.go index 08e04e2b1..a5699c751 100644 --- a/dispatchers/loaders.go +++ b/dispatchers/loaders.go @@ -27,8 +27,8 @@ import ( func (dS *DispatcherService) LoaderSv1ImportZip(ctx *context.Context, args *loaders.ArgsProcessZip, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -39,11 +39,11 @@ func (dS *DispatcherService) LoaderSv1Ping(ctx *context.Context, args *utils.CGR if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -51,8 +51,8 @@ func (dS *DispatcherService) LoaderSv1Ping(ctx *context.Context, args *utils.CGR } func (dS *DispatcherService) LoaderSv1Run(ctx *context.Context, args *loaders.ArgsProcessFolder, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/rates.go b/dispatchers/rates.go index e44f5197e..c29560599 100644 --- a/dispatchers/rates.go +++ b/dispatchers/rates.go @@ -29,11 +29,11 @@ func (dS *DispatcherService) RateSv1CostForEvent(ctx *context.Context, args *uti if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -44,11 +44,11 @@ func (dS *DispatcherService) RateSv1Ping(ctx *context.Context, args *utils.CGREv if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -59,11 +59,11 @@ func (dS *DispatcherService) RateSv1RateProfileRatesForEvent(ctx *context.Contex if args != nil && (args.CGREvent != nil && len(args.CGREvent.Tenant) != 0) { tnt = args.CGREvent.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil && args.CGREvent != nil { ev = args.CGREvent.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil && args.CGREvent != nil { opts = args.CGREvent.APIOpts } @@ -74,11 +74,11 @@ func (dS *DispatcherService) RateSv1RateProfilesForEvent(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/rates_it_test.go b/dispatchers/rates_it_test.go index dee79af6c..2f5b21042 100644 --- a/dispatchers/rates_it_test.go +++ b/dispatchers/rates_it_test.go @@ -70,7 +70,7 @@ func testDspRPrfPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.RateSv1Ping, utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rPrf12345", }, }, &reply); err != nil { @@ -149,11 +149,11 @@ func testDspRPrfCostForEvent(t *testing.T) { if err := dispEngine.RPC.Call(utils.RateSv1CostForEvent, &utils.CGREvent{ Tenant: "cgrates.org", ID: "DefaultRate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Subject: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rPrf12345", }}, &rpCost); err != nil { t.Error(err) @@ -230,10 +230,10 @@ func testDspRPrfCostForEventWithoutFilters(t *testing.T) { if err := dispEngine.RPC.Call(utils.RateSv1CostForEvent, &utils.CGREvent{ Tenant: "cgrates.org", ID: "EVENT_RATE", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Subject: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "rPrf12345", }}, &rpCost); err != nil { t.Error(err) diff --git a/dispatchers/replicator.go b/dispatchers/replicator.go index 24619d2a6..0e776d479 100644 --- a/dispatchers/replicator.go +++ b/dispatchers/replicator.go @@ -30,8 +30,8 @@ func (dS *DispatcherService) ReplicatorSv1GetAccount(ctx *context.Context, args if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -42,8 +42,8 @@ func (dS *DispatcherService) ReplicatorSv1GetActionProfile(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -54,8 +54,8 @@ func (dS *DispatcherService) ReplicatorSv1GetAttributeProfile(ctx *context.Conte if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -66,8 +66,8 @@ func (dS *DispatcherService) ReplicatorSv1GetChargerProfile(ctx *context.Context if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -78,8 +78,8 @@ func (dS *DispatcherService) ReplicatorSv1GetDispatcherHost(ctx *context.Context if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -90,8 +90,8 @@ func (dS *DispatcherService) ReplicatorSv1GetDispatcherProfile(ctx *context.Cont if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -102,8 +102,8 @@ func (dS *DispatcherService) ReplicatorSv1GetFilter(ctx *context.Context, args * if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -114,8 +114,8 @@ func (dS *DispatcherService) ReplicatorSv1GetIndexes(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -126,8 +126,8 @@ func (dS *DispatcherService) ReplicatorSv1GetItemLoadIDs(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -138,8 +138,8 @@ func (dS *DispatcherService) ReplicatorSv1GetRateProfile(ctx *context.Context, a if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -150,8 +150,8 @@ func (dS *DispatcherService) ReplicatorSv1GetResource(ctx *context.Context, args if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -162,8 +162,8 @@ func (dS *DispatcherService) ReplicatorSv1GetResourceProfile(ctx *context.Contex if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -174,8 +174,8 @@ func (dS *DispatcherService) ReplicatorSv1GetRouteProfile(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -186,8 +186,8 @@ func (dS *DispatcherService) ReplicatorSv1GetStatQueue(ctx *context.Context, arg if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -198,8 +198,8 @@ func (dS *DispatcherService) ReplicatorSv1GetStatQueueProfile(ctx *context.Conte if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -210,8 +210,8 @@ func (dS *DispatcherService) ReplicatorSv1GetThreshold(ctx *context.Context, arg if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -222,8 +222,8 @@ func (dS *DispatcherService) ReplicatorSv1GetThresholdProfile(ctx *context.Conte if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -234,11 +234,11 @@ func (dS *DispatcherService) ReplicatorSv1Ping(ctx *context.Context, args *utils if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -249,8 +249,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveAccount(ctx *context.Context, ar if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -261,8 +261,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveActionProfile(ctx *context.Conte if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -273,8 +273,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveAttributeProfile(ctx *context.Co if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -285,8 +285,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveChargerProfile(ctx *context.Cont if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -297,8 +297,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveDispatcherHost(ctx *context.Cont if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -309,8 +309,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveDispatcherProfile(ctx *context.C if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -321,8 +321,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveFilter(ctx *context.Context, arg if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -333,8 +333,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveIndexes(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -345,8 +345,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveRateProfile(ctx *context.Context if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -357,8 +357,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveResource(ctx *context.Context, a if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -369,8 +369,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveResourceProfile(ctx *context.Con if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -381,8 +381,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveRouteProfile(ctx *context.Contex if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -393,8 +393,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveStatQueue(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -405,8 +405,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveStatQueueProfile(ctx *context.Co if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -417,8 +417,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveThreshold(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -429,8 +429,8 @@ func (dS *DispatcherService) ReplicatorSv1RemoveThresholdProfile(ctx *context.Co if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -441,8 +441,8 @@ func (dS *DispatcherService) ReplicatorSv1SetAccount(ctx *context.Context, args if args != nil && (args.Account != nil && len(args.Account.Tenant) != 0) { tnt = args.Account.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -453,8 +453,8 @@ func (dS *DispatcherService) ReplicatorSv1SetActionProfile(ctx *context.Context, if args != nil && (args.ActionProfile != nil && len(args.ActionProfile.Tenant) != 0) { tnt = args.ActionProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -465,8 +465,8 @@ func (dS *DispatcherService) ReplicatorSv1SetAttributeProfile(ctx *context.Conte if args != nil && (args.AttributeProfile != nil && len(args.AttributeProfile.Tenant) != 0) { tnt = args.AttributeProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -477,8 +477,8 @@ func (dS *DispatcherService) ReplicatorSv1SetChargerProfile(ctx *context.Context if args != nil && (args.ChargerProfile != nil && len(args.ChargerProfile.Tenant) != 0) { tnt = args.ChargerProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -489,8 +489,8 @@ func (dS *DispatcherService) ReplicatorSv1SetDispatcherHost(ctx *context.Context if args != nil && (args.DispatcherHost != nil && len(args.DispatcherHost.Tenant) != 0) { tnt = args.DispatcherHost.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -501,8 +501,8 @@ func (dS *DispatcherService) ReplicatorSv1SetDispatcherProfile(ctx *context.Cont if args != nil && (args.DispatcherProfile != nil && len(args.DispatcherProfile.Tenant) != 0) { tnt = args.DispatcherProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -513,8 +513,8 @@ func (dS *DispatcherService) ReplicatorSv1SetFilter(ctx *context.Context, args * if args != nil && (args.Filter != nil && len(args.Filter.Tenant) != 0) { tnt = args.Filter.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -525,8 +525,8 @@ func (dS *DispatcherService) ReplicatorSv1SetIndexes(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -537,8 +537,8 @@ func (dS *DispatcherService) ReplicatorSv1SetLoadIDs(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -549,8 +549,8 @@ func (dS *DispatcherService) ReplicatorSv1SetRateProfile(ctx *context.Context, a if args != nil && (args.RateProfile != nil && len(args.RateProfile.Tenant) != 0) { tnt = args.RateProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -561,8 +561,8 @@ func (dS *DispatcherService) ReplicatorSv1SetResource(ctx *context.Context, args if args != nil && (args.Resource != nil && len(args.Resource.Tenant) != 0) { tnt = args.Resource.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -573,8 +573,8 @@ func (dS *DispatcherService) ReplicatorSv1SetResourceProfile(ctx *context.Contex if args != nil && (args.ResourceProfile != nil && len(args.ResourceProfile.Tenant) != 0) { tnt = args.ResourceProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -585,8 +585,8 @@ func (dS *DispatcherService) ReplicatorSv1SetRouteProfile(ctx *context.Context, if args != nil && (args.RouteProfile != nil && len(args.RouteProfile.Tenant) != 0) { tnt = args.RouteProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -594,8 +594,8 @@ func (dS *DispatcherService) ReplicatorSv1SetRouteProfile(ctx *context.Context, } func (dS *DispatcherService) ReplicatorSv1SetStatQueue(ctx *context.Context, args *engine.StatQueueWithAPIOpts, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -606,8 +606,8 @@ func (dS *DispatcherService) ReplicatorSv1SetStatQueueProfile(ctx *context.Conte if args != nil && (args.StatQueueProfile != nil && len(args.StatQueueProfile.Tenant) != 0) { tnt = args.StatQueueProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -618,8 +618,8 @@ func (dS *DispatcherService) ReplicatorSv1SetThreshold(ctx *context.Context, arg if args != nil && (args.Threshold != nil && len(args.Threshold.Tenant) != 0) { tnt = args.Threshold.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -630,8 +630,8 @@ func (dS *DispatcherService) ReplicatorSv1SetThresholdProfile(ctx *context.Conte if args != nil && (args.ThresholdProfile != nil && len(args.ThresholdProfile.Tenant) != 0) { tnt = args.ThresholdProfile.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/replicator_it_test.go b/dispatchers/replicator_it_test.go index b3e2fbf0f..f7ebd7b84 100644 --- a/dispatchers/replicator_it_test.go +++ b/dispatchers/replicator_it_test.go @@ -93,7 +93,7 @@ func testDspRplPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -132,7 +132,7 @@ func testDspRplSupplierProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -150,7 +150,7 @@ func testDspRplSupplierProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -193,7 +193,7 @@ func testDspRplAttributeProfile(t *testing.T) { Tenant: "cgrates.org", ID: "id", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -210,7 +210,7 @@ func testDspRplAttributeProfile(t *testing.T) { Tenant: "cgrates.org", ID: "id", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -253,7 +253,7 @@ func testDspRplChargerProfile(t *testing.T) { ID: "id", Tenant: "cgrates.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -269,7 +269,7 @@ func testDspRplChargerProfile(t *testing.T) { Tenant: "cgrates.org", ID: "id", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -312,7 +312,7 @@ func testDspRplDispatcherProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -328,7 +328,7 @@ func testDspRplDispatcherProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -373,7 +373,7 @@ func testDspRplDispatcherHost(t *testing.T) { ID: "ID", }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -389,7 +389,7 @@ func testDspRplDispatcherHost(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -432,7 +432,7 @@ func testDspRplFilter(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -448,7 +448,7 @@ func testDspRplFilter(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -491,7 +491,7 @@ func testDspRplThreshold(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -507,7 +507,7 @@ func testDspRplThreshold(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -550,7 +550,7 @@ func testDspRplThresholdProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -566,7 +566,7 @@ func testDspRplThresholdProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -609,7 +609,7 @@ func testDspRplStatQueue(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -625,7 +625,7 @@ func testDspRplStatQueue(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -668,7 +668,7 @@ func testDspRplStatQueueProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -684,7 +684,7 @@ func testDspRplStatQueueProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -727,7 +727,7 @@ func testDspRplResource(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -743,7 +743,7 @@ func testDspRplResource(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -786,7 +786,7 @@ func testDspRplResourceProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -802,7 +802,7 @@ func testDspRplResourceProfile(t *testing.T) { Tenant: "cgrates.org", ID: "ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -874,7 +874,7 @@ func testDspRplRateProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -890,7 +890,7 @@ func testDspRplRateProfile(t *testing.T) { Tenant: "cgrates.org", ID: "RP1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -932,7 +932,7 @@ func testDspRplAccount(t *testing.T) { Tenant: "cgrates.org", ID: "RP1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -948,7 +948,7 @@ func testDspRplAccount(t *testing.T) { Tenant: "cgrates.org", ID: "RP1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -992,7 +992,7 @@ func testDspRplActionProfile(t *testing.T) { Tenant: "cgrates.org", ID: "RP1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } @@ -1008,7 +1008,7 @@ func testDspRplActionProfile(t *testing.T) { Tenant: "cgrates.org", ID: "RP1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "repl12345", }, } diff --git a/dispatchers/resources.go b/dispatchers/resources.go index 56dfaaff2..7d7fae1f2 100644 --- a/dispatchers/resources.go +++ b/dispatchers/resources.go @@ -30,11 +30,11 @@ func (dS *DispatcherService) ResourceSv1AllocateResources(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -45,11 +45,11 @@ func (dS *DispatcherService) ResourceSv1AuthorizeResources(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -60,8 +60,8 @@ func (dS *DispatcherService) ResourceSv1GetResource(ctx *context.Context, args * if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -72,8 +72,8 @@ func (dS *DispatcherService) ResourceSv1GetResourceWithConfig(ctx *context.Conte if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -84,11 +84,11 @@ func (dS *DispatcherService) ResourceSv1GetResourcesForEvent(ctx *context.Contex if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -99,11 +99,11 @@ func (dS *DispatcherService) ResourceSv1Ping(ctx *context.Context, args *utils.C if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -114,11 +114,11 @@ func (dS *DispatcherService) ResourceSv1ReleaseResources(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/resources_it_test.go b/dispatchers/resources_it_test.go index 79b13ac82..d071124c1 100644 --- a/dispatchers/resources_it_test.go +++ b/dispatchers/resources_it_test.go @@ -75,7 +75,7 @@ func testDspResPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", }, } @@ -107,7 +107,7 @@ func testDspResPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.ResourceSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", }, }, &reply); err != nil { @@ -122,12 +122,12 @@ func testDspResTestAuthKey(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", utils.OptsResourcesUsageID: utils.UUIDSha1Prefix(), }, @@ -144,12 +144,12 @@ func testDspResTestAuthKey2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: utils.UUIDSha1Prefix(), }, @@ -176,11 +176,11 @@ func testDspResTestAuthKey3(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 1, @@ -203,11 +203,11 @@ func testDspResTestAuthKey3(t *testing.T) { argsRU = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 17, @@ -222,11 +222,11 @@ func testDspResTestAuthKey3(t *testing.T) { argsRU = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", }, @@ -240,11 +240,11 @@ func testDspResTestAuthKey3(t *testing.T) { argsRU = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", utils.OptsResourcesUnits: 6, @@ -259,11 +259,11 @@ func testDspResTestAuthKey3(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event5", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Subject": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", }, @@ -286,7 +286,7 @@ func testDspResTestAuthKey3(t *testing.T) { var r *engine.Resource argsGetResource := &utils.TenantIDWithAPIOpts{ TenantID: &utils.TenantID{Tenant: "cgrates.org", ID: "ResGroup1"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "res12345", }, } diff --git a/dispatchers/routes.go b/dispatchers/routes.go index 40c49fbc8..46a33d44f 100644 --- a/dispatchers/routes.go +++ b/dispatchers/routes.go @@ -30,11 +30,11 @@ func (dS *DispatcherService) RouteSv1GetRouteProfilesForEvent(ctx *context.Conte if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -45,11 +45,11 @@ func (dS *DispatcherService) RouteSv1GetRoutes(ctx *context.Context, args *utils if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -60,11 +60,11 @@ func (dS *DispatcherService) RouteSv1GetRoutesList(ctx *context.Context, args *u if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -75,11 +75,11 @@ func (dS *DispatcherService) RouteSv1Ping(ctx *context.Context, args *utils.CGRE if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/routes_it_test.go b/dispatchers/routes_it_test.go index 1c62bf4c0..ec4b68ce4 100644 --- a/dispatchers/routes_it_test.go +++ b/dispatchers/routes_it_test.go @@ -80,7 +80,7 @@ func testDspSupPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.RouteSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, }, &reply); err != nil { @@ -100,7 +100,7 @@ func testDspSupPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } @@ -132,7 +132,7 @@ func testDspSupGetSupFailover(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, }, @@ -145,7 +145,7 @@ func testDspSupGetSupFailover(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.RateProfileID: "RP_1002_LOW", utils.Weight: 10.0, @@ -154,7 +154,7 @@ func testDspSupGetSupFailover(t *testing.T) { { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.12, utils.RateProfileID: "RP_1002", utils.Weight: 20.0, @@ -165,7 +165,7 @@ func testDspSupGetSupFailover(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", utils.AccountField: "1002", utils.Subject: "1002", @@ -174,7 +174,7 @@ func testDspSupGetSupFailover(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } @@ -198,7 +198,7 @@ func testDspSupTestAuthKey(t *testing.T) { var rpl engine.SortedRoutesList args := &utils.CGREvent{ ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1002", utils.Destination: "1001", @@ -206,7 +206,7 @@ func testDspSupTestAuthKey(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, } @@ -225,7 +225,7 @@ func testDspSupTestAuthKey2(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.RateProfileID: "RP_1002_LOW", utils.Weight: 10.0, @@ -234,7 +234,7 @@ func testDspSupTestAuthKey2(t *testing.T) { { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.12, utils.RateProfileID: "RP_1002", utils.Weight: 20.0, @@ -245,7 +245,7 @@ func testDspSupTestAuthKey2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1002", utils.Destination: "1001", @@ -253,7 +253,7 @@ func testDspSupTestAuthKey2(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } @@ -274,7 +274,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, }, @@ -287,7 +287,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.RateProfileID: "RP_1002_LOW", utils.Weight: 10.0, @@ -296,7 +296,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.12, utils.RateProfileID: "RP_1002", utils.Weight: 20.0, @@ -307,7 +307,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "RoundRobin", utils.AccountField: "1002", utils.Subject: "1002", @@ -316,7 +316,7 @@ func testDspSupGetSupRoundRobin(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } @@ -338,7 +338,7 @@ func testDspSupGetSupplierForEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetHighestCostSuppliers", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Subject: "1002", utils.Destination: "1001", @@ -346,7 +346,7 @@ func testDspSupGetSupplierForEvent(t *testing.T) { utils.Usage: "1m20s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "sup12345", }, } diff --git a/dispatchers/sessions.go b/dispatchers/sessions.go index 90e9e3637..5bc50617c 100644 --- a/dispatchers/sessions.go +++ b/dispatchers/sessions.go @@ -30,8 +30,8 @@ func (dS *DispatcherService) SessionSv1ActivateSessions(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -42,11 +42,11 @@ func (dS *DispatcherService) SessionSv1AuthorizeEvent(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -57,11 +57,11 @@ func (dS *DispatcherService) SessionSv1AuthorizeEventWithDigest(ctx *context.Con if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -72,8 +72,8 @@ func (dS *DispatcherService) SessionSv1DeactivateSessions(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -81,8 +81,8 @@ func (dS *DispatcherService) SessionSv1DeactivateSessions(ctx *context.Context, } func (dS *DispatcherService) SessionSv1DisconnectPeer(ctx *context.Context, args *utils.DPRArgs, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1DisconnectPeer, args, reply) } func (dS *DispatcherService) SessionSv1ForceDisconnect(ctx *context.Context, args *utils.SessionFilter, reply *string) (err error) { @@ -90,8 +90,8 @@ func (dS *DispatcherService) SessionSv1ForceDisconnect(ctx *context.Context, arg if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -102,8 +102,8 @@ func (dS *DispatcherService) SessionSv1GetActiveSessions(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -114,8 +114,8 @@ func (dS *DispatcherService) SessionSv1GetActiveSessionsCount(ctx *context.Conte if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -126,8 +126,8 @@ func (dS *DispatcherService) SessionSv1GetPassiveSessions(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -138,8 +138,8 @@ func (dS *DispatcherService) SessionSv1GetPassiveSessionsCount(ctx *context.Cont if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -150,11 +150,11 @@ func (dS *DispatcherService) SessionSv1InitiateSession(ctx *context.Context, arg if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -165,11 +165,11 @@ func (dS *DispatcherService) SessionSv1InitiateSessionWithDigest(ctx *context.Co if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -180,11 +180,11 @@ func (dS *DispatcherService) SessionSv1Ping(ctx *context.Context, args *utils.CG if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -195,11 +195,11 @@ func (dS *DispatcherService) SessionSv1ProcessCDR(ctx *context.Context, args *ut if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -210,11 +210,11 @@ func (dS *DispatcherService) SessionSv1ProcessEvent(ctx *context.Context, args * if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -225,11 +225,11 @@ func (dS *DispatcherService) SessionSv1ProcessMessage(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -240,8 +240,8 @@ func (dS *DispatcherService) SessionSv1ReAuthorize(ctx *context.Context, args *u if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -249,8 +249,8 @@ func (dS *DispatcherService) SessionSv1ReAuthorize(ctx *context.Context, args *u } func (dS *DispatcherService) SessionSv1RegisterInternalBiJSONConn(ctx *context.Context, args string, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1RegisterInternalBiJSONConn, args, reply) } func (dS *DispatcherService) SessionSv1ReplicateSessions(ctx *context.Context, args sessions.ArgsReplicateSessions, reply *string) (err error) { @@ -258,14 +258,14 @@ func (dS *DispatcherService) SessionSv1ReplicateSessions(ctx *context.Context, a if len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) opts := args.APIOpts return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1ReplicateSessions, args, reply) } func (dS *DispatcherService) SessionSv1STIRAuthenticate(ctx *context.Context, args *sessions.V1STIRAuthenticateArgs, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -273,8 +273,8 @@ func (dS *DispatcherService) SessionSv1STIRAuthenticate(ctx *context.Context, ar } func (dS *DispatcherService) SessionSv1STIRIdentity(ctx *context.Context, args *sessions.V1STIRIdentityArgs, reply *string) (err error) { tnt := dS.cfg.GeneralCfg().DefaultTenant - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -285,8 +285,8 @@ func (dS *DispatcherService) SessionSv1SetPassiveSession(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) return dS.Dispatch(ctx, &utils.CGREvent{Tenant: tnt, Event: ev, APIOpts: opts}, utils.MetaSessionS, utils.SessionSv1SetPassiveSession, args, reply) } func (dS *DispatcherService) SessionSv1SyncSessions(ctx *context.Context, args *utils.TenantWithAPIOpts, reply *string) (err error) { @@ -294,8 +294,8 @@ func (dS *DispatcherService) SessionSv1SyncSessions(ctx *context.Context, args * if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -306,11 +306,11 @@ func (dS *DispatcherService) SessionSv1TerminateSession(ctx *context.Context, ar if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -321,11 +321,11 @@ func (dS *DispatcherService) SessionSv1UpdateSession(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/sessions_it_test.go b/dispatchers/sessions_it_test.go index 1f66ad27a..84b924506 100644 --- a/dispatchers/sessions_it_test.go +++ b/dispatchers/sessions_it_test.go @@ -94,7 +94,7 @@ import ( Account: "1001", BalanceType: utils.MetaVoice, Value: float64(initUsage), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "SessionBalance", utils.RatingSubject: "*zero5ms", }, @@ -140,7 +140,7 @@ import ( if err := dispEngine.RPC.Call(utils.SessionSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, &reply); err != nil { @@ -160,7 +160,7 @@ import ( ev := &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, } @@ -193,7 +193,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -205,7 +205,7 @@ import ( utils.Usage: authUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, }, @@ -227,7 +227,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -240,7 +240,7 @@ import ( utils.Usage: authUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", utils.OptsRoutesProfileCount: 1., }, @@ -280,7 +280,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -294,7 +294,7 @@ import ( utils.Usage: initUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -314,7 +314,7 @@ import ( func testDspGetSessions(t *testing.T) { filtr := utils.SessionFilter{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -356,7 +356,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -370,7 +370,7 @@ import ( utils.Usage: reqUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -386,7 +386,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -400,7 +400,7 @@ import ( utils.Usage: float64(reqUsage), utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", utils.Subsys: utils.MetaSessionS, }, @@ -428,7 +428,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -441,7 +441,7 @@ import ( utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: reqUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -458,7 +458,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -474,7 +474,7 @@ import ( utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: float64(reqUsage), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", utils.Subsys: utils.MetaSessionS, }, @@ -506,7 +506,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -520,7 +520,7 @@ import ( utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -539,7 +539,7 @@ import ( args := utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -551,7 +551,7 @@ import ( utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, } @@ -575,7 +575,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebac", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -590,7 +590,7 @@ import ( utils.Usage: initUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -613,7 +613,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebac", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -628,7 +628,7 @@ import ( utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", utils.Subsys: utils.MetaSessionS, }, @@ -654,7 +654,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -669,7 +669,7 @@ import ( utils.EventName: "Internal", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "pse12345", }, }, @@ -692,7 +692,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -706,7 +706,7 @@ import ( utils.AnswerTime: "2018-01-07T17:00:10Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "pse12345", utils.Subsys: utils.MetaSessionS, }, @@ -742,7 +742,7 @@ import ( testDspSessionInit(t) if err := dispEngine.RPC.Call(utils.SessionSv1ReplicateSessions, &ArgsReplicateSessionsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -772,7 +772,7 @@ import ( testDspSessionUpdate2(t) var repl int filtr := utils.SessionFilter{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -805,7 +805,7 @@ import ( CGRID: rply[0].CGRID, Tenant: rply[0].Tenant, ResourceID: "TestSSv1It1", - EventStart: engine.NewMapEvent(map[string]interface{}{ + EventStart: engine.NewMapEvent(map[string]any{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", utils.Category: "call", @@ -820,7 +820,7 @@ import ( }), SRuns: []*sessions.SRun{ { - Event: engine.NewMapEvent(map[string]interface{}{ + Event: engine.NewMapEvent(map[string]any{ "RunID": "CustomerCharges", utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", utils.Tenant: "cgrates.org", @@ -841,7 +841,7 @@ import ( TotalUsage: 10 * time.Minute, }, }, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, &reply); err != nil { @@ -874,7 +874,7 @@ import ( testDspSessionInit(t) var repl int filtr := utils.SessionFilter{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -929,7 +929,7 @@ import ( CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventTerminateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "TestSSv1It2", @@ -942,7 +942,7 @@ import ( utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "pse12345", }, }, @@ -956,7 +956,7 @@ import ( var repl int if err := dispEngine.RPC.Call(utils.SessionSv1GetActiveSessionsCount, utils.SessionFilter{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, Tenant: "cgrates.org", @@ -974,7 +974,7 @@ func testDspSessionGetCost(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItGetCost", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaMonetary, utils.OriginID: "testSSv1ItProcessEventWithGetCost", @@ -986,7 +986,7 @@ func testDspSessionGetCost(t *testing.T) { utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, @@ -1017,7 +1017,7 @@ func testDspSessionGetCost(t *testing.T) { DestinationTn: "1002", Identity: "eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiL3Vzci9zaGFyZS9jZ3JhdGVzL3N0aXIvc3Rpcl9wdWJrZXkucGVtIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxMDAyIl19LCJpYXQiOjE1ODcwMzg4MDIsIm9yaWciOnsidG4iOiIxMDAxIn0sIm9yaWdpZCI6IjEyMzQ1NiJ9.cMEMlFnfyTu8uxfeU4RoZTamA7ifFT9Ibwrvi1_LKwL2xAU6fZ_CSIxKbtyOpNhM_sV03x7CfA_v0T4sHkifzg;info=;ppt=shaken", OriginatorTn: "1001", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, }, &rply); err != nil { @@ -1039,7 +1039,7 @@ func testDspSessionSTIRIdentity(t *testing.T) { PublicKeyPath: "/usr/share/cgrates/stir/stir_pubkey.pem", PrivateKeyPath: "/usr/share/cgrates/stir/stir_privatekey.pem", OverwriteIAT: true, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "ses12345", }, } diff --git a/dispatchers/stats.go b/dispatchers/stats.go index 961740665..03b45adb1 100644 --- a/dispatchers/stats.go +++ b/dispatchers/stats.go @@ -30,8 +30,8 @@ func (dS *DispatcherService) StatSv1GetQueueDecimalMetrics(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -42,8 +42,8 @@ func (dS *DispatcherService) StatSv1GetQueueFloatMetrics(ctx *context.Context, a if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -54,8 +54,8 @@ func (dS *DispatcherService) StatSv1GetQueueIDs(ctx *context.Context, args *util if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -66,8 +66,8 @@ func (dS *DispatcherService) StatSv1GetQueueStringMetrics(ctx *context.Context, if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -78,8 +78,8 @@ func (dS *DispatcherService) StatSv1GetStatQueue(ctx *context.Context, args *uti if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -90,11 +90,11 @@ func (dS *DispatcherService) StatSv1GetStatQueuesForEvent(ctx *context.Context, if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -105,11 +105,11 @@ func (dS *DispatcherService) StatSv1Ping(ctx *context.Context, args *utils.CGREv if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -120,11 +120,11 @@ func (dS *DispatcherService) StatSv1ProcessEvent(ctx *context.Context, args *uti if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -135,8 +135,8 @@ func (dS *DispatcherService) StatSv1ResetStatQueue(ctx *context.Context, args *u if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/stats_it_test.go b/dispatchers/stats_it_test.go index abb79091e..3671b4a76 100644 --- a/dispatchers/stats_it_test.go +++ b/dispatchers/stats_it_test.go @@ -76,7 +76,7 @@ func testDspStsPingFailover(t *testing.T) { } ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, } @@ -106,13 +106,13 @@ func testDspStsGetStatFailover(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", utils.AccountField: "1001", utils.Destination: "1002", utils.RunID: utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 135 * time.Second, utils.MetaCost: 123.0, @@ -126,7 +126,7 @@ func testDspStsGetStatFailover(t *testing.T) { } args2 := utils.TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, TenantID: &utils.TenantID{ @@ -159,7 +159,7 @@ func testDspStsPing(t *testing.T) { } if err := dispEngine.RPC.Call(utils.StatSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, }, &reply); err != nil { @@ -174,10 +174,10 @@ func testDspStsTestAuthKey(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 135 * time.Second, utils.MetaCost: 123.0, @@ -191,7 +191,7 @@ func testDspStsTestAuthKey(t *testing.T) { } args2 := utils.TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, TenantID: &utils.TenantID{ @@ -214,12 +214,12 @@ func testDspStsTestAuthKey2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.RunID: utils.MetaDefault, utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 135 * time.Second, utils.MetaCost: 123.0, @@ -233,7 +233,7 @@ func testDspStsTestAuthKey2(t *testing.T) { } args2 := utils.TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, TenantID: &utils.TenantID{ @@ -256,12 +256,12 @@ func testDspStsTestAuthKey2(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1001", utils.RunID: utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 45 * time.Second, utils.MetaCost: 10.0, @@ -291,7 +291,7 @@ func testDspStsTestAuthKey3(t *testing.T) { var metrics map[string]float64 args2 := utils.TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, TenantID: &utils.TenantID{ @@ -315,7 +315,7 @@ func testDspStsTestAuthKey3(t *testing.T) { if err := dispEngine.RPC.Call(utils.StatSv1GetQueueIDs, &utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "stat12345", }, }, &reply); err != nil { @@ -332,12 +332,12 @@ func testDspStsTestAuthKey3(t *testing.T) { &utils.CGREvent{ Tenant: "cgrates.org", ID: "GetStats", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1001", utils.RunID: utils.MetaDefault, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 45 * time.Second, utils.MetaCost: 10.0, diff --git a/dispatchers/thresholds.go b/dispatchers/thresholds.go index 773daffac..399140824 100644 --- a/dispatchers/thresholds.go +++ b/dispatchers/thresholds.go @@ -30,8 +30,8 @@ func (dS *DispatcherService) ThresholdSv1GetThreshold(ctx *context.Context, args if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -42,8 +42,8 @@ func (dS *DispatcherService) ThresholdSv1GetThresholdIDs(ctx *context.Context, a if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -54,11 +54,11 @@ func (dS *DispatcherService) ThresholdSv1GetThresholdsForEvent(ctx *context.Cont if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -69,11 +69,11 @@ func (dS *DispatcherService) ThresholdSv1Ping(ctx *context.Context, args *utils. if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -84,11 +84,11 @@ func (dS *DispatcherService) ThresholdSv1ProcessEvent(ctx *context.Context, args if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -99,8 +99,8 @@ func (dS *DispatcherService) ThresholdSv1ResetThreshold(ctx *context.Context, ar if args != nil && (args.TenantID != nil && len(args.TenantID.Tenant) != 0) { tnt = args.TenantID.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/dispatchers/thresholds_it_test.go b/dispatchers/thresholds_it_test.go index 5f89ebea0..fa797ca69 100644 --- a/dispatchers/thresholds_it_test.go +++ b/dispatchers/thresholds_it_test.go @@ -77,7 +77,7 @@ func testDspThPingFailover(t *testing.T) { ev := utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, } @@ -106,11 +106,11 @@ func testDspThProcessEventFailover(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Event1", utils.AccountField: "1001"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, } @@ -138,7 +138,7 @@ func testDspThPing(t *testing.T) { if err := dispEngine.RPC.Call(utils.ThresholdSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, }, &reply); err != nil { @@ -153,10 +153,10 @@ func testDspThTestAuthKey(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "12345", }, } @@ -178,10 +178,10 @@ func testDspThTestAuthKey2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, } @@ -222,7 +222,7 @@ func testDspThTestAuthKey3(t *testing.T) { Tenant: "cgrates.org", ID: "THD_ACNT_1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, }, &th); err != nil { @@ -240,7 +240,7 @@ func testDspThTestAuthKey3(t *testing.T) { if err := dispEngine.RPC.Call(utils.ThresholdSv1GetThresholdIDs, &utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAPIKey: "thr12345", }, }, &ids); err != nil { diff --git a/dispatchers/tpes.go b/dispatchers/tpes.go index 9b66eff02..af282ea58 100644 --- a/dispatchers/tpes.go +++ b/dispatchers/tpes.go @@ -30,8 +30,8 @@ func (dS *DispatcherService) TPeSv1ExportTariffPlan(ctx *context.Context, args * if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) - opts := make(map[string]interface{}) + ev := make(map[string]any) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } @@ -42,11 +42,11 @@ func (dS *DispatcherService) TPeSv1Ping(ctx *context.Context, args *utils.CGREve if args != nil && len(args.Tenant) != 0 { tnt = args.Tenant } - ev := make(map[string]interface{}) + ev := make(map[string]any) if args != nil { ev = args.Event } - opts := make(map[string]interface{}) + opts := make(map[string]any) if args != nil { opts = args.APIOpts } diff --git a/ees/amqp.go b/ees/amqp.go index b2c1854c3..9ac594bfe 100644 --- a/ees/amqp.go +++ b/ees/amqp.go @@ -137,7 +137,7 @@ func (pstr *AMQPee) Connect() (err error) { return } -func (pstr *AMQPee) ExportEvent(_ *context.Context, content, _ interface{}) (err error) { +func (pstr *AMQPee) ExportEvent(_ *context.Context, content, _ any) (err error) { pstr.reqs.get() pstr.RLock() if pstr.postChan == nil { @@ -176,4 +176,4 @@ func (pstr *AMQPee) Close() (err error) { func (pstr *AMQPee) GetMetrics() *utils.SafeMapStorage { return pstr.dc } -func (pstr *AMQPee) ExtraData(*utils.CGREvent) interface{} { return nil } +func (pstr *AMQPee) ExtraData(*utils.CGREvent) any { return nil } diff --git a/ees/amqp_it_test.go b/ees/amqp_it_test.go index 78c8de3a7..856b4a7d4 100644 --- a/ees/amqp_it_test.go +++ b/ees/amqp_it_test.go @@ -107,7 +107,7 @@ func testAMQPExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "AMQPEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "abcdef", utils.OriginHost: "192.168.1.1", @@ -126,7 +126,7 @@ func testAMQPExportEvent(t *testing.T) { }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := amqpRPC.Call(utils.EeSv1ProcessEvent, event, &reply); err != nil { t.Error(err) } diff --git a/ees/amqpv1.go b/ees/amqpv1.go index b2b352993..b4c451afe 100644 --- a/ees/amqpv1.go +++ b/ees/amqpv1.go @@ -84,7 +84,7 @@ func (pstr *AMQPv1EE) Connect() (err error) { return } -func (pstr *AMQPv1EE) ExportEvent(ctx *context.Context, content, _ interface{}) (err error) { +func (pstr *AMQPv1EE) ExportEvent(ctx *context.Context, content, _ any) (err error) { pstr.reqs.get() pstr.RLock() defer func() { @@ -120,4 +120,4 @@ func (pstr *AMQPv1EE) Close() (err error) { func (pstr *AMQPv1EE) GetMetrics() *utils.SafeMapStorage { return pstr.dc } -func (pstr *AMQPv1EE) ExtraData(*utils.CGREvent) interface{} { return nil } +func (pstr *AMQPv1EE) ExtraData(*utils.CGREvent) any { return nil } diff --git a/ees/amqpv1_it_test.go b/ees/amqpv1_it_test.go index e295fda7e..798d5c8d9 100644 --- a/ees/amqpv1_it_test.go +++ b/ees/amqpv1_it_test.go @@ -111,7 +111,7 @@ func testAMQPv1ExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "dataEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, utils.OriginID: "abcdef", utils.OriginHost: "192.168.1.1", @@ -127,7 +127,7 @@ func testAMQPv1ExportEvent(t *testing.T) { utils.RunID: utils.MetaDefault, utils.Cost: 0.012, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), }, }, diff --git a/ees/ee.go b/ees/ee.go index 404888d75..d9c484956 100644 --- a/ees/ee.go +++ b/ees/ee.go @@ -31,14 +31,14 @@ import ( ) type EventExporter interface { - Cfg() *config.EventExporterCfg // return the config - Connect() error // called before exporting an event to make sure it is connected - ExportEvent(ctx *context.Context, content interface{}, extraData interface{}) error // called on each event to be exported - Close() error // called when the exporter needs to terminate - GetMetrics() *utils.SafeMapStorage // called to get metrics - PrepareMap(*utils.CGREvent) (interface{}, error) - PrepareOrderMap(*utils.OrderedNavigableMap) (interface{}, error) - ExtraData(*utils.CGREvent) interface{} + Cfg() *config.EventExporterCfg // return the config + Connect() error // called before exporting an event to make sure it is connected + ExportEvent(ctx *context.Context, content any, extraData any) error // called on each event to be exported + Close() error // called when the exporter needs to terminate + GetMetrics() *utils.SafeMapStorage // called to get metrics + PrepareMap(*utils.CGREvent) (any, error) + PrepareOrderMap(*utils.OrderedNavigableMap) (any, error) + ExtraData(*utils.CGREvent) any } // NewEventExporter produces exporters @@ -219,11 +219,11 @@ func updateEEMetrics(dc *utils.SafeMapStorage, originID string, ev engine.MapEve type bytePreparing struct{} -func (bytePreparing) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (bytePreparing) PrepareMap(mp *utils.CGREvent) (any, error) { return json.Marshal(mp.Event) } -func (bytePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { - valMp := make(map[string]interface{}) +func (bytePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { + valMp := make(map[string]any) for el := mp.GetFirstElement(); el != nil; el = el.Next() { path := el.Value nmIt, _ := mp.Field(path) @@ -235,7 +235,7 @@ func (bytePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{} type slicePreparing struct{} -func (slicePreparing) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (slicePreparing) PrepareMap(mp *utils.CGREvent) (any, error) { csvRecord := make([]string, 0, len(mp.Event)) for _, val := range mp.Event { csvRecord = append(csvRecord, utils.IfaceAsString(val)) @@ -243,6 +243,6 @@ func (slicePreparing) PrepareMap(mp *utils.CGREvent) (interface{}, error) { return csvRecord, nil } -func (slicePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { +func (slicePreparing) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { return mp.OrderedFieldsAsStrings(), nil } diff --git a/ees/ees.go b/ees/ees.go index 62a53bba0..d60c279c0 100644 --- a/ees/ees.go +++ b/ees/ees.go @@ -34,7 +34,7 @@ import ( ) // onCacheEvicted is called by ltcache when evicting an item -func onCacheEvicted(_ string, value interface{}) { +func onCacheEvicted(_ string, value any) { value.(EventExporter).Close() } @@ -102,7 +102,7 @@ func (eeS *EeS) setupCache(chCfgs map[string]*config.CacheParamCfg) { func (eeS *EeS) attrSProcessEvent(ctx *context.Context, cgrEv *utils.CGREvent, attrIDs []string, attributeSCtx string) (err error) { var rplyEv engine.AttrSProcessEventReply if cgrEv.APIOpts == nil { - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) } cgrEv.APIOpts[utils.MetaSubsys] = utils.MetaEEs cgrEv.APIOpts[utils.OptsContext] = utils.FirstNonEmpty( @@ -122,7 +122,7 @@ func (eeS *EeS) attrSProcessEvent(ctx *context.Context, cgrEv *utils.CGREvent, a return } -func (eeS *EeS) V1ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs, rply *map[string]map[string]interface{}) (err error) { +func (eeS *EeS) V1ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs, rply *map[string]map[string]any) (err error) { eeS.cfg.RLocks(config.EEsJSON) defer eeS.cfg.RUnlocks(config.EEsJSON) @@ -167,7 +167,7 @@ func (eeS *EeS) V1ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEe var isCached bool var ee EventExporter if hasCache { - var x interface{} + var x any if x, isCached = eeCache.Get(eeCfg.ID); isCached { ee = x.(EventExporter) } @@ -219,16 +219,16 @@ func (eeS *EeS) V1ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEe return } - *rply = make(map[string]map[string]interface{}) + *rply = make(map[string]map[string]any) metricMapLock.Lock() for exporterID, metrics := range metricsMap { - (*rply)[exporterID] = make(map[string]interface{}) + (*rply)[exporterID] = make(map[string]any) for key, val := range metrics { switch key { case utils.PositiveExports, utils.NegativeExports: slsVal, canCast := val.(utils.StringSet) if !canCast { - return fmt.Errorf("cannot cast to map[string]interface{} %+v for positive exports", val) + return fmt.Errorf("cannot cast to map[string]any %+v for positive exports", val) } (*rply)[exporterID][key] = slsVal.AsSlice() default: @@ -252,7 +252,7 @@ func exportEventWithExporter(ctx *context.Context, exp EventExporter, connMngr * exp.Close() } }() - var eEv interface{} + var eEv any exp.GetMetrics().Lock() exp.GetMetrics().MapStorage[utils.NumberOfEvents] = exp.GetMetrics().MapStorage[utils.NumberOfEvents].(int64) + 1 @@ -280,7 +280,7 @@ func exportEventWithExporter(ctx *context.Context, exp EventExporter, connMngr * return ExportWithAttempts(ctx, exp, eEv, extraData, connMngr, tnt) } -func ExportWithAttempts(ctx *context.Context, exp EventExporter, eEv interface{}, key interface{}, +func ExportWithAttempts(ctx *context.Context, exp EventExporter, eEv any, key any, connMngr *engine.ConnManager, tnt string) (err error) { if exp.Cfg().FailedPostsDir != utils.MetaNone { defer func() { @@ -338,7 +338,7 @@ func ExportWithAttempts(ctx *context.Context, exp EventExporter, eEv interface{} type ArchiveEventsArgs struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any Events []*utils.EventsWithOpts } @@ -432,7 +432,7 @@ func (eeS *EeS) V1ArchiveEventsInReply(ctx *context.Context, args *ArchiveEvents ID: utils.UUIDSha1Prefix(), Tenant: tnt, Event: event.Event, - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } // here we will join the APIOpts from the initial args and Opts from every CDR(EventsWithOPts) for key, val := range args.APIOpts { diff --git a/ees/ees_test.go b/ees/ees_test.go index f1bc4edbb..4735298ab 100644 --- a/ees/ees_test.go +++ b/ees/ees_test.go @@ -72,10 +72,10 @@ func TestListenAndServe(t *testing.T) { } type testMockEvent struct { - calls map[string]func(_ *context.Context, _, _ interface{}) error + calls map[string]func(_ *context.Context, _, _ any) error } -func (sT *testMockEvent) Call(ctx *context.Context, method string, arg, rply interface{}) error { +func (sT *testMockEvent) Call(ctx *context.Context, method string, arg, rply any) error { if call, has := sT.calls[method]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -84,8 +84,8 @@ func (sT *testMockEvent) Call(ctx *context.Context, method string, arg, rply int } func TestAttrSProcessEvent(t *testing.T) { testMock := &testMockEvent{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.AttributeSv1ProcessEvent: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.AttributeSv1ProcessEvent: func(_ *context.Context, args, reply any) error { rplyEv := &engine.AttrSProcessEventReply{ AlteredFields: []*engine.FieldsAltered{{ Fields: []string{"testcase"}, @@ -97,7 +97,7 @@ func TestAttrSProcessEvent(t *testing.T) { }, } cgrEv := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: "10", }, } @@ -119,8 +119,8 @@ func TestAttrSProcessEvent(t *testing.T) { func TestAttrSProcessEvent2(t *testing.T) { engine.Cache.Clear(nil) testMock := &testMockEvent{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.AttributeSv1ProcessEvent: func(_ *context.Context, _, _ interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.AttributeSv1ProcessEvent: func(_ *context.Context, _, _ any) error { return utils.ErrNotFound }, }, @@ -159,7 +159,7 @@ func TestV1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -178,14 +178,14 @@ func TestV1ProcessEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.MetaRunID: utils.MetaDefault, }, }, } - var rply map[string]map[string]interface{} - rplyExpect := map[string]map[string]interface{}{ + var rply map[string]map[string]any + rplyExpect := map[string]map[string]any{ "SQLExporterFull": {}, } if err := eeS.V1ProcessEvent(context.TODO(), cgrEv, &rply); err != nil { @@ -212,17 +212,17 @@ func TestV1ProcessEvent2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Subject: "1001", "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: "10", }, }, } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any errExpect := "NOT_FOUND" if err := eeS.V1ProcessEvent(context.TODO(), cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expecting %q but received %q", errExpect, err) @@ -251,10 +251,10 @@ func TestV1ProcessEvent3(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{}, + Event: map[string]any{}, }, } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any errExpect := "MANDATORY_IE_MISSING: [connIDs]" if err := eeS.V1ProcessEvent(context.TODO(), cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expecting %q but received %q", errExpect, err) @@ -263,8 +263,8 @@ func TestV1ProcessEvent3(t *testing.T) { func TestV1ProcessEvent4(t *testing.T) { testMock := &testMockEvent{ - calls: map[string]func(_ *context.Context, _, _ interface{}) error{ - utils.EfSv1ProcessEvent: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, _, _ any) error{ + utils.EfSv1ProcessEvent: func(_ *context.Context, args, reply any) error { *reply.(*string) = utils.EmptyString return utils.ErrUnsupportedFormat }, @@ -297,13 +297,13 @@ func TestV1ProcessEvent4(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, }, } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any errExpect := "PARTIALLY_EXECUTED" if err := eeS.V1ProcessEvent(context.TODO(), cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expecting %q but received %q", errExpect, err) @@ -330,10 +330,10 @@ func (m mockEventExporter) GetMetrics() *utils.SafeMapStorage { return m.dc } -func (mockEventExporter) Cfg() *config.EventExporterCfg { return new(config.EventExporterCfg) } -func (mockEventExporter) Connect() error { return nil } -func (mockEventExporter) ExportEvent(*context.Context, interface{}, interface{}) error { return nil } -func (mockEventExporter) ExtraData(*utils.CGREvent) interface{} { return nil } +func (mockEventExporter) Cfg() *config.EventExporterCfg { return new(config.EventExporterCfg) } +func (mockEventExporter) Connect() error { return nil } +func (mockEventExporter) ExportEvent(*context.Context, any, any) error { return nil } +func (mockEventExporter) ExtraData(*utils.CGREvent) any { return nil } func (mockEventExporter) Close() error { utils.Logger.Warning("NOT IMPLEMENTED") return nil @@ -364,14 +364,14 @@ func TestV1ProcessEventMockMetrics(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, }, } - var rply map[string]map[string]interface{} - errExpect := "cannot cast to map[string]interface{} 5 for positive exports" + var rply map[string]map[string]any + errExpect := "cannot cast to map[string]any 5 for positive exports" if err := eeS.V1ProcessEvent(context.TODO(), cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expecting %q but received %q", errExpect, err) } @@ -392,8 +392,8 @@ func TestV1ProcessEvent5(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, }, @@ -402,7 +402,7 @@ func TestV1ProcessEvent5(t *testing.T) { newDM := engine.NewDataManager(newIDb, cfg.CacheCfg(), nil) filterS := engine.NewFilterS(cfg, nil, newDM) eeS := NewEventExporterS(cfg, filterS, nil) - var rply map[string]map[string]interface{} + var rply map[string]map[string]any errExpect := "unsupported exporter type: " if err := eeS.V1ProcessEvent(context.TODO(), cgrEv, &rply); err == nil || err.Error() != errExpect { t.Errorf("Expected %v but received %v", errExpect, err) @@ -422,13 +422,13 @@ func TestV1ProcessEvent6(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsEEsVerbose: struct{}{}, }, }, } - var rply map[string]map[string]interface{} + var rply map[string]map[string]any if err := eeS.V1ProcessEvent(context.TODO(), cgrEv, &rply); err != nil { t.Error(err) } diff --git a/ees/elastic.go b/ees/elastic.go index 3b6a3b09c..870f77dd3 100644 --- a/ees/elastic.go +++ b/ees/elastic.go @@ -101,7 +101,7 @@ func (eEe *ElasticEE) Connect() (err error) { } // ExportEvent implements EventExporter -func (eEe *ElasticEE) ExportEvent(ctx *context.Context, ev, extraData interface{}) (err error) { +func (eEe *ElasticEE) ExportEvent(ctx *context.Context, ev, extraData any) (err error) { eEe.reqs.get() eEe.RLock() defer func() { @@ -135,7 +135,7 @@ func (eEe *ElasticEE) ExportEvent(ctx *context.Context, ev, extraData interface{ } defer resp.Body.Close() if resp.IsError() { - var e map[string]interface{} + var e map[string]any if err = json.NewDecoder(resp.Body).Decode(&e); err != nil { return } @@ -154,7 +154,7 @@ func (eEe *ElasticEE) Close() (_ error) { func (eEe *ElasticEE) GetMetrics() *utils.SafeMapStorage { return eEe.dc } -func (eEE *ElasticEE) ExtraData(ev *utils.CGREvent) interface{} { +func (eEE *ElasticEE) ExtraData(ev *utils.CGREvent) any { return utils.ConcatenatedKey( utils.FirstNonEmpty(engine.MapEvent(ev.APIOpts).GetStringIgnoreErrors(utils.MetaOriginID), utils.GenUUID()), utils.FirstNonEmpty(engine.MapEvent(ev.APIOpts).GetStringIgnoreErrors(utils.MetaRunID), utils.MetaDefault), diff --git a/ees/elastic_it_test.go b/ees/elastic_it_test.go index a214b4e99..15ad7c67b 100644 --- a/ees/elastic_it_test.go +++ b/ees/elastic_it_test.go @@ -121,7 +121,7 @@ func testElasticExportEvents(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -140,7 +140,7 @@ func testElasticExportEvents(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.MetaRunID: utils.MetaDefault, }, @@ -152,7 +152,7 @@ func testElasticExportEvents(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "dataEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -171,7 +171,7 @@ func testElasticExportEvents(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), utils.MetaRunID: utils.MetaDefault, }, @@ -183,7 +183,7 @@ func testElasticExportEvents(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "SMSEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", @@ -202,7 +202,7 @@ func testElasticExportEvents(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), utils.MetaRunID: utils.MetaDefault, }, @@ -214,7 +214,7 @@ func testElasticExportEvents(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "SMSEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaSMS, utils.Tenant: "cgrates.org", @@ -223,7 +223,7 @@ func testElasticExportEvents(t *testing.T) { utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()), "ExporterUsed": "ElasticExporterWithNoFields", utils.MetaRunID: utils.MetaDefault, @@ -250,11 +250,11 @@ func testElasticVerifyExports(t *testing.T) { if err != nil { t.Error(err) } - var r map[string]interface{} + var r map[string]any var buf bytes.Buffer - query := map[string]interface{}{ - "query": map[string]interface{}{ - "match": map[string]interface{}{ + query := map[string]any{ + "query": map[string]any{ + "match": map[string]any{ utils.Tenant: "cgrates.org", }, }, @@ -276,7 +276,7 @@ func testElasticVerifyExports(t *testing.T) { defer res.Body.Close() if res.IsError() { - var e map[string]interface{} + var e map[string]any if err := json.NewDecoder(res.Body).Decode(&e); err != nil { t.Error(err) } else { @@ -287,10 +287,10 @@ func testElasticVerifyExports(t *testing.T) { if err := json.NewDecoder(res.Body).Decode(&r); err != nil { t.Error(err) } - for _, hit := range r["hits"].(map[string]interface{})["hits"].([]interface{}) { - switch hit.(map[string]interface{})["_id"] { + for _, hit := range r["hits"].(map[string]any)["hits"].([]any) { + switch hit.(map[string]any)["_id"] { case "2478e9f18ebcd3c684f3c14596b8bfeab2b0d6d4:*default": - eMp := map[string]interface{}{ + eMp := map[string]any{ utils.AccountField: "1001", utils.AnswerTime: "2013-11-07T08:42:26Z", utils.MetaOriginID: "2478e9f18ebcd3c684f3c14596b8bfeab2b0d6d4", @@ -306,11 +306,11 @@ func testElasticVerifyExports(t *testing.T) { utils.ToR: "*sms", utils.Usage: "1", } - if !reflect.DeepEqual(eMp, hit.(map[string]interface{})["_source"]) { - t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]interface{})["_source"]) + if !reflect.DeepEqual(eMp, hit.(map[string]any)["_source"]) { + t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]any)["_source"]) } case "dbafe9c8614c785a65aabd116dd3959c3c56f7f6:*default": - eMp := map[string]interface{}{ + eMp := map[string]any{ utils.AccountField: "1001", utils.AnswerTime: "2013-11-07T08:42:26Z", utils.MetaOriginID: "dbafe9c8614c785a65aabd116dd3959c3c56f7f6", @@ -326,11 +326,11 @@ func testElasticVerifyExports(t *testing.T) { utils.ToR: "*voice", utils.Usage: "10000000000", } - if !reflect.DeepEqual(eMp, hit.(map[string]interface{})["_source"]) { - t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]interface{})["_source"]) + if !reflect.DeepEqual(eMp, hit.(map[string]any)["_source"]) { + t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]any)["_source"]) } case utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()) + ":*default": - eMp := map[string]interface{}{ + eMp := map[string]any{ utils.MetaOriginID: utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaSMS, utils.Tenant: "cgrates.org", @@ -341,8 +341,8 @@ func testElasticVerifyExports(t *testing.T) { utils.MetaRunID: utils.MetaDefault, } - if !reflect.DeepEqual(eMp, hit.(map[string]interface{})["_source"]) { - t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]interface{})["_source"]) + if !reflect.DeepEqual(eMp, hit.(map[string]any)["_source"]) { + t.Errorf("Expected %+v, received: %+v", eMp, hit.(map[string]any)["_source"]) } } } diff --git a/ees/filecsv.go b/ees/filecsv.go index 05bc47e38..512fd7e5b 100644 --- a/ees/filecsv.go +++ b/ees/filecsv.go @@ -110,7 +110,7 @@ func (fCsv *FileCSVee) Cfg() *config.EventExporterCfg { return fCsv.cfg } func (fCsv *FileCSVee) Connect() (_ error) { return } -func (fCsv *FileCSVee) ExportEvent(_ *context.Context, ev, _ interface{}) error { +func (fCsv *FileCSVee) ExportEvent(_ *context.Context, ev, _ any) error { fCsv.Lock() // make sure that only one event is writen in file at once defer fCsv.Unlock() return fCsv.csvWriter.Write(ev.([]string)) @@ -134,7 +134,7 @@ func (fCsv *FileCSVee) Close() (err error) { func (fCsv *FileCSVee) GetMetrics() *utils.SafeMapStorage { return fCsv.dc } -func (fCsv *FileCSVee) ExtraData(ev *utils.CGREvent) interface{} { return nil } +func (fCsv *FileCSVee) ExtraData(ev *utils.CGREvent) any { return nil } // Buffers cannot be closed, they just Reset. We implement our struct and used it for writer field in FileCSVee to be available for WriterCloser interface type buffer struct { diff --git a/ees/filecsv_it_test.go b/ees/filecsv_it_test.go index 58ec335d8..43c758b33 100644 --- a/ees/filecsv_it_test.go +++ b/ees/filecsv_it_test.go @@ -113,7 +113,7 @@ func testCsvExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", utils.OriginHost: "192.168.1.1", @@ -129,7 +129,7 @@ func testCsvExportEvent(t *testing.T) { utils.RunID: utils.MetaDefault, utils.Cost: 1.01, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -140,7 +140,7 @@ func testCsvExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "dataEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -157,7 +157,7 @@ func testCsvExportEvent(t *testing.T) { utils.RunID: utils.MetaDefault, utils.Cost: 0.012, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -168,7 +168,7 @@ func testCsvExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "SMSEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", utils.OriginHost: "192.168.1.1", @@ -184,7 +184,7 @@ func testCsvExportEvent(t *testing.T) { utils.RunID: utils.MetaDefault, utils.Cost: 0.15, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -236,7 +236,7 @@ func testCsvExportComposedEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, "ComposedOriginID1": "dsaf", "ComposedOriginID2": "dsaf", @@ -255,7 +255,7 @@ func testCsvExportComposedEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -266,7 +266,7 @@ func testCsvExportComposedEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "SMSEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaSMS, "ComposedOriginID1": "sdf", "ComposedOriginID2": "wer", @@ -285,7 +285,7 @@ func testCsvExportComposedEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -328,13 +328,13 @@ func testCsvVerifyComposedExports(t *testing.T) { func testCsvExportBufferedEvent(t *testing.T) { eventVoice := &ArchiveEventsArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaExporterID: "CSVExporterBuffered", utils.MetaUsage: 123 * time.Nanosecond, }, Events: []*utils.EventsWithOpts{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, "ComposedOriginID1": "dsaf", @@ -354,14 +354,14 @@ func testCsvExportBufferedEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.MetaChargers: true, utils.MetaRunID: "random_runID", }, }, { - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, utils.OriginHost: "192.168.1.1", @@ -379,14 +379,14 @@ func testCsvExportBufferedEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaOriginID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), utils.MetaUsage: 200 * time.Second, }, }, // this one will not match, because opts got another another ExporterID and it will be changed from the initial opt { - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1005", utils.Subject: "1005", @@ -395,13 +395,13 @@ func testCsvExportBufferedEvent(t *testing.T) { utils.RunID: "Default_charging_id22", utils.Cost: 0, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaOriginID: utils.Sha1("qwertyiopuu", time.Unix(1383813745, 0).UTC().String()), utils.MetaExporterID: "CSVExporterBuffered_CHanged", }, }, { - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, "ComposedOriginID1": "abcdefghh", @@ -419,13 +419,13 @@ func testCsvExportBufferedEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaOriginID: utils.Sha1("nlllo", time.Unix(1383813745, 0).UTC().String()), utils.MetaRates: true, }, }, { - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginHost: "127.0.0.1", utils.RequestType: utils.MetaPrepaid, @@ -440,7 +440,7 @@ func testCsvExportBufferedEvent(t *testing.T) { utils.RunID: "Default_charging_id", utils.Cost: 1.442234, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaOriginID: utils.Sha1("qwert", time.Unix(1383813745, 0).UTC().String()), utils.MetaStartTime: time.Date(2020, time.January, 7, 16, 60, 0, 0, time.UTC), }, @@ -491,12 +491,12 @@ func testCsvExportBufferedEventNoExports(t *testing.T) { // in this case, exported does not exist in config eventVoice := &ArchiveEventsArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaExporterID: "InexistentExport", }, Events: []*utils.EventsWithOpts{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "not_exported_Acc", }, }, @@ -512,12 +512,12 @@ func testCsvExportBufferedEventNoExports(t *testing.T) { // in this case, exporter exists but the events will not match our filters (filter for Account) eventVoice = &ArchiveEventsArgs{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaExporterID: "CSVExporterBuffered", }, Events: []*utils.EventsWithOpts{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, "ComposedOriginID1": "dsaf", @@ -528,12 +528,12 @@ func testCsvExportBufferedEventNoExports(t *testing.T) { utils.Category: "call", utils.AccountField: "DifferentAccount12", }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, }, { - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, utils.OriginHost: "192.168.1.1", @@ -542,7 +542,7 @@ func testCsvExportBufferedEventNoExports(t *testing.T) { utils.Category: "call", //for data CDR use different Tenant utils.AccountField: "DifferentAccount10", }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaOriginID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -561,7 +561,7 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -580,7 +580,7 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -591,7 +591,7 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "dataEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -610,7 +610,7 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -621,7 +621,7 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "SMSEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", @@ -640,7 +640,7 @@ func testCsvExportEventWithInflateTemplate(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -691,7 +691,7 @@ func testCsvExportNotFoundExporter(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -710,7 +710,7 @@ func testCsvExportNotFoundExporter(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, }, diff --git a/ees/filefwv.go b/ees/filefwv.go index ba6af2c29..18c95d1c2 100644 --- a/ees/filefwv.go +++ b/ees/filefwv.go @@ -112,7 +112,7 @@ func (fFwv *FileFWVee) Cfg() *config.EventExporterCfg { return fFwv.cfg } func (fFwv *FileFWVee) Connect() (_ error) { return } -func (fFwv *FileFWVee) ExportEvent(_ *context.Context, records, _ interface{}) (err error) { +func (fFwv *FileFWVee) ExportEvent(_ *context.Context, records, _ any) (err error) { fFwv.Lock() // make sure that only one event is writen in file at once defer fFwv.Unlock() for _, record := range records.([]string) { @@ -141,4 +141,4 @@ func (fFwv *FileFWVee) Close() (err error) { func (fFwv *FileFWVee) GetMetrics() *utils.SafeMapStorage { return fFwv.dc } -func (fFwv *FileFWVee) ExtraData(ev *utils.CGREvent) interface{} { return nil } +func (fFwv *FileFWVee) ExtraData(ev *utils.CGREvent) any { return nil } diff --git a/ees/filefwv_it_test.go b/ees/filefwv_it_test.go index 93a8895ab..2b602dccb 100644 --- a/ees/filefwv_it_test.go +++ b/ees/filefwv_it_test.go @@ -101,7 +101,7 @@ func testFwvExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OrderID: 1, utils.ToR: utils.MetaVoice, @@ -120,7 +120,7 @@ func testFwvExportEvent(t *testing.T) { utils.Cost: 2.34567, "ExtraFields": map[string]string{"field_extr1": "val_extr1", "fieldextr2": "valextr2"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Date(2013, 11, 7, 8, 42, 20, 0, time.UTC).String()), utils.RunID: utils.MetaDefault, }, diff --git a/ees/httpjsonmap.go b/ees/httpjsonmap.go index 4b17bfd33..286a9a6c4 100644 --- a/ees/httpjsonmap.go +++ b/ees/httpjsonmap.go @@ -78,7 +78,7 @@ func (httpEE *HTTPjsonMapEE) Cfg() *config.EventExporterCfg { return httpEE.cfg func (httpEE *HTTPjsonMapEE) Connect() (_ error) { return } -func (httpEE *HTTPjsonMapEE) ExportEvent(ctx *context.Context, content, _ interface{}) (err error) { +func (httpEE *HTTPjsonMapEE) ExportEvent(ctx *context.Context, content, _ any) (err error) { httpEE.reqs.get() defer httpEE.reqs.done() pReq := content.(*HTTPPosterRequest) @@ -94,9 +94,9 @@ func (httpEE *HTTPjsonMapEE) Close() (_ error) { return } func (httpEE *HTTPjsonMapEE) GetMetrics() *utils.SafeMapStorage { return httpEE.dc } -func (httpEE *HTTPjsonMapEE) ExtraData(ev *utils.CGREvent) interface{} { return nil } +func (httpEE *HTTPjsonMapEE) ExtraData(ev *utils.CGREvent) any { return nil } -func (httpEE *HTTPjsonMapEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (httpEE *HTTPjsonMapEE) PrepareMap(mp *utils.CGREvent) (any, error) { body, err := json.Marshal(mp.Event) return &HTTPPosterRequest{ Header: httpEE.hdr, @@ -104,8 +104,8 @@ func (httpEE *HTTPjsonMapEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) }, err } -func (httpEE *HTTPjsonMapEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { - valMp := make(map[string]interface{}) +func (httpEE *HTTPjsonMapEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { + valMp := make(map[string]any) for el := mp.GetFirstElement(); el != nil; el = el.Next() { path := el.Value nmIt, _ := mp.Field(path) @@ -119,7 +119,7 @@ func (httpEE *HTTPjsonMapEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (int }, err } -func prepareRequest(ctx *context.Context, addr, cType string, content interface{}, hdr http.Header) (req *http.Request, err error) { +func prepareRequest(ctx *context.Context, addr, cType string, content any, hdr http.Header) (req *http.Request, err error) { var body io.Reader if cType == utils.ContentForm { body = strings.NewReader(content.(url.Values).Encode()) diff --git a/ees/httpjsonmap_test.go b/ees/httpjsonmap_test.go index bddbb9b2f..7b897fdef 100644 --- a/ees/httpjsonmap_test.go +++ b/ees/httpjsonmap_test.go @@ -64,12 +64,12 @@ func TestHttpJsonMapExportEvent2(t *testing.T) { cgrCfg := config.NewDefaultCGRConfig() cgrCfg.EEsCfg().Exporters[0].Type = utils.MetaSQSjsonMap - bodyExpect := map[string]interface{}{ + bodyExpect := map[string]any{ "2": "*req.field2", } srv := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { defer r.Body.Close() - var body map[string]interface{} + var body map[string]any if err := json.NewDecoder(r.Body).Decode(&body); err != nil { t.Fatal(err) } diff --git a/ees/httppost.go b/ees/httppost.go index 054bcd8c0..2c5d105fd 100644 --- a/ees/httppost.go +++ b/ees/httppost.go @@ -52,7 +52,7 @@ type HTTPPostEE struct { } type HTTPPosterRequest struct { Header http.Header - Body interface{} + Body any } // Compose and cache the header @@ -78,7 +78,7 @@ func (httpPost *HTTPPostEE) Cfg() *config.EventExporterCfg { return httpPost.cfg func (httpPost *HTTPPostEE) Connect() (_ error) { return } -func (httpPost *HTTPPostEE) ExportEvent(ctx *context.Context, content, _ interface{}) (err error) { +func (httpPost *HTTPPostEE) ExportEvent(ctx *context.Context, content, _ any) (err error) { httpPost.reqs.get() defer httpPost.reqs.done() pReq := content.(*HTTPPosterRequest) @@ -94,9 +94,9 @@ func (httpPost *HTTPPostEE) Close() (_ error) { return } func (httpPost *HTTPPostEE) GetMetrics() *utils.SafeMapStorage { return httpPost.dc } -func (httpPost *HTTPPostEE) ExtraData(ev *utils.CGREvent) interface{} { return nil } +func (httpPost *HTTPPostEE) ExtraData(ev *utils.CGREvent) any { return nil } -func (httpPost *HTTPPostEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (httpPost *HTTPPostEE) PrepareMap(mp *utils.CGREvent) (any, error) { urlVals := url.Values{} for k, v := range mp.Event { urlVals.Set(k, utils.IfaceAsString(v)) @@ -107,7 +107,7 @@ func (httpPost *HTTPPostEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) }, nil } -func (httpPost *HTTPPostEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { +func (httpPost *HTTPPostEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { urlVals := url.Values{} for el := mp.GetFirstElement(); el != nil; el = el.Next() { path := el.Value diff --git a/ees/httppost_it_test.go b/ees/httppost_it_test.go index 2f50cbed0..01fe6b490 100644 --- a/ees/httppost_it_test.go +++ b/ees/httppost_it_test.go @@ -118,7 +118,7 @@ func testHTTPExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -137,7 +137,7 @@ func testHTTPExportEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.RunID: utils.MetaDefault, }, @@ -149,7 +149,7 @@ func testHTTPExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "dataEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -168,7 +168,7 @@ func testHTTPExportEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), utils.RunID: utils.MetaDefault, }, @@ -180,7 +180,7 @@ func testHTTPExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "SMSEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", @@ -199,7 +199,7 @@ func testHTTPExportEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), utils.RunID: utils.MetaDefault, }, @@ -211,7 +211,7 @@ func testHTTPExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "SMSEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaSMS, utils.OriginID: "sms2", @@ -222,7 +222,7 @@ func testHTTPExportEvent(t *testing.T) { utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()), utils.RunID: utils.MetaDefault, }, diff --git a/ees/httppost_test.go b/ees/httppost_test.go index 445c7a26d..477ab24c2 100644 --- a/ees/httppost_test.go +++ b/ees/httppost_test.go @@ -58,7 +58,7 @@ func TestHttpPostExportEvent(t *testing.T) { if err != nil { t.Error(err) } - cgrEv.Event = map[string]interface{}{ + cgrEv.Event = map[string]any{ "Test1": 3, } errExpect := `Post "/var/spool/cgrates/ees": unsupported protocol scheme ""` @@ -88,7 +88,7 @@ func TestHttpPostExportEvent2(t *testing.T) { if err != nil { t.Error(err) } - vals, err := httpPost.PrepareMap(&utils.CGREvent{Event: map[string]interface{}{"2": "*req.field2"}}) + vals, err := httpPost.PrepareMap(&utils.CGREvent{Event: map[string]any{"2": "*req.field2"}}) if err != nil { t.Fatal(err) } @@ -128,7 +128,7 @@ func TestHttpPostSync(t *testing.T) { } mp := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, @@ -184,7 +184,7 @@ func TestHttpPostSyncLimit(t *testing.T) { t.Error(err) } mp := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, diff --git a/ees/kafka.go b/ees/kafka.go index 84c8f194e..ec1495f9e 100644 --- a/ees/kafka.go +++ b/ees/kafka.go @@ -113,7 +113,7 @@ func (pstr *KafkaEE) Connect() (err error) { return } -func (pstr *KafkaEE) ExportEvent(ctx *context.Context, content interface{}, extraData interface{}) (err error) { +func (pstr *KafkaEE) ExportEvent(ctx *context.Context, content any, extraData any) (err error) { pstr.reqs.get() pstr.RLock() if pstr.writer == nil { @@ -142,7 +142,7 @@ func (pstr *KafkaEE) Close() (err error) { } func (pstr *KafkaEE) GetMetrics() *utils.SafeMapStorage { return pstr.dc } -func (pstr *KafkaEE) ExtraData(ev *utils.CGREvent) interface{} { +func (pstr *KafkaEE) ExtraData(ev *utils.CGREvent) any { return utils.ConcatenatedKey( utils.FirstNonEmpty(engine.MapEvent(ev.APIOpts).GetStringIgnoreErrors(utils.MetaOriginID), utils.GenUUID()), utils.FirstNonEmpty(engine.MapEvent(ev.APIOpts).GetStringIgnoreErrors(utils.MetaRunID), utils.MetaDefault), diff --git a/ees/kafka_it_test.go b/ees/kafka_it_test.go index 6c0b73626..a60410103 100644 --- a/ees/kafka_it_test.go +++ b/ees/kafka_it_test.go @@ -134,7 +134,7 @@ func testKafkaExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "KafkaEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "abcdef", utils.OriginHost: "192.168.1.1", @@ -153,7 +153,7 @@ func testKafkaExportEvent(t *testing.T) { }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := kafkaRpc.Call(utils.EeSv1ProcessEvent, event, &reply); err != nil { t.Error(err) } diff --git a/ees/libcdre.go b/ees/libcdre.go index cdf51989e..d64dc19c8 100644 --- a/ees/libcdre.go +++ b/ees/libcdre.go @@ -56,7 +56,7 @@ func NewFailoverPosterFromFile(filePath, providerType string) (failPoster utils. return } -func AsOptsEESConfig(opts map[string]interface{}) (*config.EventExporterOpts, error) { +func AsOptsEESConfig(opts map[string]any) (*config.EventExporterOpts, error) { optsCfg := new(config.EventExporterOpts) if len(opts) == 0 { return optsCfg, nil @@ -251,7 +251,7 @@ func AsOptsEESConfig(opts map[string]interface{}) (*config.EventExporterOpts, er optsCfg.RPCReplyTimeout = &t } if _, has := opts[utils.RPCAPIOpts]; has { - optsCfg.RPCAPIOpts = opts[utils.RPCAPIOpts].(map[string]interface{}) + optsCfg.RPCAPIOpts = opts[utils.RPCAPIOpts].(map[string]any) } return optsCfg, nil } @@ -262,13 +262,13 @@ type FailedExportersEEs struct { Path string Opts *config.EventExporterOpts Format string - Events []interface{} + Events []any failedPostsDir string module string } // AddEvent adds one event -func (expEv *FailedExportersEEs) AddEvent(ev interface{}) { +func (expEv *FailedExportersEEs) AddEvent(ev any) { expEv.lk.Lock() expEv.Events = append(expEv.Events, ev) expEv.lk.Unlock() diff --git a/ees/libcdre_it_test.go b/ees/libcdre_it_test.go index 9451efcaa..ac4f07ee4 100644 --- a/ees/libcdre_it_test.go +++ b/ees/libcdre_it_test.go @@ -71,7 +71,7 @@ func TestWriteToFile(t *testing.T) { } //populate the exportEvent struct exportEvent = &ExportEvents{ - Events: []interface{}{"something1", "something2"}, + Events: []any{"something1", "something2"}, Path: "path", Format: "test", } diff --git a/ees/libcdre_test.go b/ees/libcdre_test.go index faf919ef3..6903d3988 100644 --- a/ees/libcdre_test.go +++ b/ees/libcdre_test.go @@ -47,7 +47,7 @@ func TestAddFldPost(t *testing.T) { Path: "path1", Format: "format1", module: "module1", - Events: []interface{}{"1"}, + Events: []any{"1"}, Opts: &config.EventExporterOpts{}, } if !reflect.DeepEqual(eOut, failedPost) { @@ -72,7 +72,7 @@ func TestAddFldPost(t *testing.T) { Path: "path1", Format: "format1", module: "module1", - Events: []interface{}{"1", "2"}, + Events: []any{"1", "2"}, Opts: &config.EventExporterOpts{}, } if !reflect.DeepEqual(eOut, failedPost) { @@ -93,7 +93,7 @@ func TestAddFldPost(t *testing.T) { Path: "path2", Format: "format2", module: "module2", - Events: []interface{}{"3"}, + Events: []any{"3"}, Opts: &config.EventExporterOpts{ SQSQueueID: utils.StringPointer("qID"), }, @@ -139,13 +139,13 @@ func TestSetModule(t *testing.T) { func TestAddEvent(t *testing.T) { exportEvent := &ExportEvents{} - eOut := &ExportEvents{Events: []interface{}{"event1"}} + eOut := &ExportEvents{Events: []any{"event1"}} exportEvent.AddEvent("event1") if !reflect.DeepEqual(eOut, exportEvent) { t.Errorf("Expecting: %+v, received: %+v", eOut, exportEvent) } exportEvent = &ExportEvents{} - eOut = &ExportEvents{Events: []interface{}{"event1", "event2", "event3"}} + eOut = &ExportEvents{Events: []any{"event1", "event2", "event3"}} exportEvent.AddEvent("event1") exportEvent.AddEvent("event2") exportEvent.AddEvent("event3") diff --git a/ees/log.go b/ees/log.go index 7ba258f18..4d4760b0c 100644 --- a/ees/log.go +++ b/ees/log.go @@ -42,20 +42,20 @@ type LogEE struct { func (vEe *LogEE) Cfg() *config.EventExporterCfg { return vEe.cfg } func (vEe *LogEE) Connect() error { return nil } -func (vEe *LogEE) ExportEvent(_ *context.Context, mp, _ interface{}) error { +func (vEe *LogEE) ExportEvent(_ *context.Context, mp, _ any) error { utils.Logger.Info( fmt.Sprintf("<%s> <%s> exported: <%s>", utils.EEs, vEe.Cfg().ID, utils.ToJSON(mp))) return nil } -func (vEe *LogEE) Close() error { return nil } -func (vEe *LogEE) GetMetrics() *utils.SafeMapStorage { return vEe.dc } -func (vEe *LogEE) ExtraData(ev *utils.CGREvent) interface{} { return nil } -func (vEe *LogEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (vEe *LogEE) Close() error { return nil } +func (vEe *LogEE) GetMetrics() *utils.SafeMapStorage { return vEe.dc } +func (vEe *LogEE) ExtraData(ev *utils.CGREvent) any { return nil } +func (vEe *LogEE) PrepareMap(mp *utils.CGREvent) (any, error) { return mp.Event, nil } -func (vEe *LogEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { - valMp := make(map[string]interface{}) +func (vEe *LogEE) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { + valMp := make(map[string]any) for el := mp.GetFirstElement(); el != nil; el = el.Next() { path := el.Value nmIt, _ := mp.Field(path) diff --git a/ees/log_test.go b/ees/log_test.go index 321f8bd7a..b5d4619b7 100644 --- a/ees/log_test.go +++ b/ees/log_test.go @@ -54,7 +54,7 @@ func TestLogEEExportEvent(t *testing.T) { t.Error(err) } logEE := NewLogEE(cfg.EEsCfg().GetDefaultExporter(), dc) - mp := map[string]interface{}{ + mp := map[string]any{ "field1": 2, "field2": "value", } @@ -101,7 +101,7 @@ func TestLogEEPrepareMap(t *testing.T) { } logEE := NewLogEE(cfg.EEsCfg().GetDefaultExporter(), dc) mp := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "field1": 2, "field2": "value", }, @@ -129,7 +129,7 @@ func TestLogEEPrepareOrderMap(t *testing.T) { } mp.Append(fullPath, val) rcv, _ := logEE.PrepareOrderMap(mp) - expected := make(map[string]interface{}) + expected := make(map[string]any) expected["*path1"] = "payload" if !reflect.DeepEqual(rcv, expected) { t.Errorf("Expected %v \n but received \n %v", mp, rcv) diff --git a/ees/nats.go b/ees/nats.go index 97ede37f1..5c849703d 100644 --- a/ees/nats.go +++ b/ees/nats.go @@ -94,7 +94,7 @@ func (pstr *NatsEE) Connect() (err error) { return } -func (pstr *NatsEE) ExportEvent(ctx *context.Context, content, _ interface{}) (err error) { +func (pstr *NatsEE) ExportEvent(ctx *context.Context, content, _ any) (err error) { pstr.reqs.get() pstr.RLock() if pstr.poster == nil { @@ -124,7 +124,7 @@ func (pstr *NatsEE) Close() (err error) { func (pstr *NatsEE) GetMetrics() *utils.SafeMapStorage { return pstr.dc } -func (pstr *NatsEE) ExtraData(ev *utils.CGREvent) interface{} { return nil } +func (pstr *NatsEE) ExtraData(ev *utils.CGREvent) any { return nil } func GetNatsOpts(opts *config.EventExporterOpts, nodeID string, connTimeout time.Duration) (nop []nats.Option, err error) { nop = make([]nats.Option, 0, 7) diff --git a/ees/nats_it_test.go b/ees/nats_it_test.go index 773b12c7a..b168e0be9 100644 --- a/ees/nats_it_test.go +++ b/ees/nats_it_test.go @@ -101,7 +101,7 @@ func TestNatsEE(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, @@ -167,7 +167,7 @@ func TestNatsEE2(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, diff --git a/ees/posterjsonmap_it_test.go b/ees/posterjsonmap_it_test.go index adc935255..a376000ee 100644 --- a/ees/posterjsonmap_it_test.go +++ b/ees/posterjsonmap_it_test.go @@ -114,7 +114,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -133,7 +133,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.MetaEventType: utils.CDR, utils.RunID: utils.MetaDefault, @@ -146,7 +146,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "dataEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaData, utils.OriginID: "abcdef", @@ -165,7 +165,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("abcdef", time.Unix(1383813745, 0).UTC().String()), utils.MetaEventType: utils.CDR, utils.RunID: utils.MetaDefault, @@ -178,7 +178,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "SMSEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaSMS, utils.OriginID: "sdfwer", @@ -198,7 +198,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("sdfwer", time.Unix(1383813745, 0).UTC().String()), utils.MetaEventType: utils.CDR, utils.RunID: utils.MetaDefault, @@ -211,7 +211,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "SMSEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaSMS, utils.Tenant: "cgrates.org", @@ -219,7 +219,7 @@ func testHTTPJsonMapExportEvent(t *testing.T) { utils.AccountField: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("sms2", time.Unix(1383813745, 0).UTC().String()), utils.RunID: utils.MetaDefault, }, diff --git a/ees/rpc.go b/ees/rpc.go index b351b9ecc..7edc61f3f 100644 --- a/ees/rpc.go +++ b/ees/rpc.go @@ -67,7 +67,7 @@ func (e *RPCee) Connect() (err error) { return } -func (e *RPCee) ExportEvent(ctx *context.Context, args, _ interface{}) (err error) { +func (e *RPCee) ExportEvent(ctx *context.Context, args, _ any) (err error) { e.Lock() defer e.Unlock() var rply string @@ -84,17 +84,17 @@ func (e *RPCee) Close() (err error) { func (e *RPCee) GetMetrics() (mp *utils.SafeMapStorage) { return e.dc } -func (e *RPCee) ExtraData(ev *utils.CGREvent) interface{} { return nil } +func (e *RPCee) ExtraData(ev *utils.CGREvent) any { return nil } -func (e *RPCee) PrepareMap(mp *utils.CGREvent) (interface{}, error) { +func (e *RPCee) PrepareMap(mp *utils.CGREvent) (any, error) { for i, v := range e.Cfg().Opts.RPCAPIOpts { mp.APIOpts[i] = v } return mp, nil } -func (e *RPCee) PrepareOrderMap(oMp *utils.OrderedNavigableMap) (interface{}, error) { - mP := make(map[string]interface{}) +func (e *RPCee) PrepareOrderMap(oMp *utils.OrderedNavigableMap) (any, error) { + mP := make(map[string]any) for i := oMp.GetFirstElement(); i != nil; i = i.Next() { path := i.Value val, _ := oMp.Field(path) diff --git a/ees/rpc_test.go b/ees/rpc_test.go index e41a19fde..0c8be90a3 100644 --- a/ees/rpc_test.go +++ b/ees/rpc_test.go @@ -137,7 +137,7 @@ func TestRPCConnect(t *testing.T) { // rpcEe.serviceMethod = utils.APIerSv1ExportToFolder // args := &utils.TenantWithAPIOpts{ // Tenant: "cgrates.org", -// APIOpts: map[string]interface{}{}, +// APIOpts: map[string]any{}, // } // if err := rpcEe.ExportEvent(context.Background(), args, ""); err != nil { @@ -198,10 +198,10 @@ func TestRPCPrepareMap(t *testing.T) { exp := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 21, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: "*attributes", }, } @@ -209,10 +209,10 @@ func TestRPCPrepareMap(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 21, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: "*attributes", }, } diff --git a/ees/s3.go b/ees/s3.go index eef1b3f5a..86a2fa9a7 100644 --- a/ees/s3.go +++ b/ees/s3.go @@ -113,7 +113,7 @@ func (pstr *S3EE) Connect() (err error) { return } -func (pstr *S3EE) ExportEvent(ctx *context.Context, message, extraData interface{}) (err error) { +func (pstr *S3EE) ExportEvent(ctx *context.Context, message, extraData any) (err error) { pstr.reqs.get() pstr.RLock() sKey := extraData.(string) @@ -140,7 +140,7 @@ func (pstr *S3EE) Close() (_ error) { return } func (pstr *S3EE) GetMetrics() *utils.SafeMapStorage { return pstr.dc } -func (pstr *S3EE) ExtraData(ev *utils.CGREvent) interface{} { +func (pstr *S3EE) ExtraData(ev *utils.CGREvent) any { return utils.ConcatenatedKey( utils.FirstNonEmpty(engine.MapEvent(ev.APIOpts).GetStringIgnoreErrors(utils.MetaOriginID), utils.GenUUID()), utils.FirstNonEmpty(engine.MapEvent(ev.APIOpts).GetStringIgnoreErrors(utils.MetaRunID), utils.MetaDefault), diff --git a/ees/s3_it_test.go b/ees/s3_it_test.go index 6ec21795e..3e58b07f7 100644 --- a/ees/s3_it_test.go +++ b/ees/s3_it_test.go @@ -107,7 +107,7 @@ package ees // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "dataEvent", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.ToR: utils.MetaData, // utils.OriginID: "abcdef", // utils.OriginHost: "192.168.1.1", @@ -123,7 +123,7 @@ package ees // utils.RunID: utils.MetaDefault, // utils.Cost: 0.012, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaOriginID: originID, // }, // }, diff --git a/ees/sql.go b/ees/sql.go index 66b402499..b6a608658 100644 --- a/ees/sql.go +++ b/ees/sql.go @@ -61,7 +61,7 @@ type SQLEe struct { type sqlPosterRequest struct { Querry string - Values []interface{} + Values []any } func (sqlEe *SQLEe) initDialector() (err error) { @@ -132,7 +132,7 @@ func (sqlEe *SQLEe) Connect() (err error) { return } -func (sqlEe *SQLEe) ExportEvent(_ *context.Context, req, _ interface{}) error { +func (sqlEe *SQLEe) ExportEvent(_ *context.Context, req, _ any) error { sqlEe.reqs.get() sqlEe.RLock() defer func() { @@ -159,12 +159,12 @@ func (sqlEe *SQLEe) Close() (err error) { func (sqlEe *SQLEe) GetMetrics() *utils.SafeMapStorage { return sqlEe.dc } -func (sqlEe *SQLEe) ExtraData(ev *utils.CGREvent) interface{} { return nil } +func (sqlEe *SQLEe) ExtraData(ev *utils.CGREvent) any { return nil } -func (sqlEe *SQLEe) PrepareMap(mp *utils.CGREvent) (interface{}, error) { return nil, nil } +func (sqlEe *SQLEe) PrepareMap(mp *utils.CGREvent) (any, error) { return nil, nil } -func (sqlEe *SQLEe) PrepareOrderMap(mp *utils.OrderedNavigableMap) (interface{}, error) { - var vals []interface{} +func (sqlEe *SQLEe) PrepareOrderMap(mp *utils.OrderedNavigableMap) (any, error) { + var vals []any var colNames []string for el := mp.GetFirstElement(); el != nil; el = el.Next() { nmIt, _ := mp.Field(el.Value) diff --git a/ees/sql_it_test.go b/ees/sql_it_test.go index 42875239d..5a45d47c3 100644 --- a/ees/sql_it_test.go +++ b/ees/sql_it_test.go @@ -152,7 +152,7 @@ func testSqlEeExportEventFull(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -170,7 +170,7 @@ func testSqlEeExportEventFull(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.RunID: utils.MetaDefault, }, @@ -190,7 +190,7 @@ func testSqlEeExportEventPartial(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -208,7 +208,7 @@ func testSqlEeExportEventPartial(t *testing.T) { "ExtraFields": map[string]string{"extra1": "val_extra1", "extra2": "val_extra2", "extra3": "val_extra3"}, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("asd", time.Unix(1383813745, 0).UTC().String()), utils.RunID: utils.MetaDefault, }, @@ -283,7 +283,7 @@ func TestSQLExportEvent1(t *testing.T) { if err := sqlEe.Connect(); err != nil { t.Fatal(err) } - if err := sqlEe.ExportEvent(context.Background(), &sqlPosterRequest{Querry: "INSERT INTO cdrs VALUES (); ", Values: []interface{}{}}, ""); err != nil { + if err := sqlEe.ExportEvent(context.Background(), &sqlPosterRequest{Querry: "INSERT INTO cdrs VALUES (); ", Values: []any{}}, ""); err != nil { t.Error(err) } sqlEe.Close() diff --git a/ees/sqs.go b/ees/sqs.go index 85116e122..b18497559 100644 --- a/ees/sqs.go +++ b/ees/sqs.go @@ -130,7 +130,7 @@ func (pstr *SQSee) Connect() (err error) { return } -func (pstr *SQSee) ExportEvent(ctx *context.Context, message, _ interface{}) (err error) { +func (pstr *SQSee) ExportEvent(ctx *context.Context, message, _ any) (err error) { pstr.reqs.get() pstr.RLock() _, err = pstr.svc.SendMessageWithContext(ctx, @@ -148,4 +148,4 @@ func (pstr *SQSee) Close() (_ error) { return } func (pstr *SQSee) GetMetrics() *utils.SafeMapStorage { return pstr.dc } -func (pstr *SQSee) ExtraData(ev *utils.CGREvent) interface{} { return nil } +func (pstr *SQSee) ExtraData(ev *utils.CGREvent) any { return nil } diff --git a/ees/sqs_it_test.go b/ees/sqs_it_test.go index 5b9132141..6fa863195 100644 --- a/ees/sqs_it_test.go +++ b/ees/sqs_it_test.go @@ -109,7 +109,7 @@ func testSQSExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", utils.OriginHost: "192.168.1.1", @@ -125,7 +125,7 @@ func testSQSExportEvent(t *testing.T) { utils.RunID: utils.MetaDefault, utils.Cost: 1.01, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, }, diff --git a/ees/virtual_ee_it_test.go b/ees/virtual_ee_it_test.go index 0b6fb6830..0b0d8a90d 100644 --- a/ees/virtual_ee_it_test.go +++ b/ees/virtual_ee_it_test.go @@ -101,7 +101,7 @@ func testVirtExportSupplierEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -118,7 +118,7 @@ func testVirtExportSupplierEvent(t *testing.T) { utils.RunID: "SupplierRun", utils.Cost: 1.23, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, }, @@ -137,7 +137,7 @@ func testVirtExportEvents(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "voiceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), utils.ToR: utils.MetaVoice, utils.OriginID: "dsafdsaf", @@ -154,7 +154,7 @@ func testVirtExportEvents(t *testing.T) { utils.RunID: "SupplierRun", utils.Cost: 1.01, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: utils.Sha1("dsafdsaf", time.Unix(1383813745, 0).UTC().String()), }, }, diff --git a/ees/virtualee.go b/ees/virtualee.go index 4ed8e3829..382fbd6ff 100644 --- a/ees/virtualee.go +++ b/ees/virtualee.go @@ -37,13 +37,13 @@ type VirtualEE struct { dc *utils.SafeMapStorage } -func (vEe *VirtualEE) Cfg() *config.EventExporterCfg { return vEe.cfg } -func (vEe *VirtualEE) Connect() error { return nil } -func (vEe *VirtualEE) ExportEvent(*context.Context, interface{}, interface{}) error { return nil } -func (vEe *VirtualEE) Close() error { return nil } -func (vEe *VirtualEE) GetMetrics() *utils.SafeMapStorage { return vEe.dc } -func (vEe *VirtualEE) ExtraData(*utils.CGREvent) interface{} { return nil } -func (vEe *VirtualEE) PrepareMap(mp *utils.CGREvent) (interface{}, error) { return nil, nil } -func (vEe *VirtualEE) PrepareOrderMap(*utils.OrderedNavigableMap) (interface{}, error) { +func (vEe *VirtualEE) Cfg() *config.EventExporterCfg { return vEe.cfg } +func (vEe *VirtualEE) Connect() error { return nil } +func (vEe *VirtualEE) ExportEvent(*context.Context, any, any) error { return nil } +func (vEe *VirtualEE) Close() error { return nil } +func (vEe *VirtualEE) GetMetrics() *utils.SafeMapStorage { return vEe.dc } +func (vEe *VirtualEE) ExtraData(*utils.CGREvent) any { return nil } +func (vEe *VirtualEE) PrepareMap(mp *utils.CGREvent) (any, error) { return nil, nil } +func (vEe *VirtualEE) PrepareOrderMap(*utils.OrderedNavigableMap) (any, error) { return nil, nil } diff --git a/efs/efs_it_test.go b/efs/efs_it_test.go index 72c5cbd1e..384888fc7 100644 --- a/efs/efs_it_test.go +++ b/efs/efs_it_test.go @@ -155,14 +155,14 @@ func testEfsProcessEvent(t *testing.T) { Path: "localhost:9092", Event: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", }, }, FailedDir: "/var/spool/cgrates/failed_posts", Module: utils.Kafka, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.Level: efsCfg.LoggerCfg().Level, utils.Format: "TutorialTopic", utils.Conn: "localhost:9092", diff --git a/efs/failed_ees.go b/efs/failed_ees.go index fc960ca95..db934abda 100644 --- a/efs/failed_ees.go +++ b/efs/failed_ees.go @@ -34,14 +34,14 @@ type FailedExportersEEs struct { Path string Opts *config.EventExporterOpts Format string - Events []interface{} + Events []any failedPostsDir string module string connMngr *engine.ConnManager } -func AsOptsEESConfig(opts map[string]interface{}) (*config.EventExporterOpts, error) { +func AsOptsEESConfig(opts map[string]any) (*config.EventExporterOpts, error) { optsCfg := new(config.EventExporterOpts) if len(opts) == 0 { return optsCfg, nil @@ -236,13 +236,13 @@ func AsOptsEESConfig(opts map[string]interface{}) (*config.EventExporterOpts, er optsCfg.RPCReplyTimeout = &t } if _, has := opts[utils.RPCAPIOpts]; has { - optsCfg.RPCAPIOpts = opts[utils.RPCAPIOpts].(map[string]interface{}) + optsCfg.RPCAPIOpts = opts[utils.RPCAPIOpts].(map[string]any) } return optsCfg, nil } // AddEvent adds one event -func (expEv *FailedExportersEEs) AddEvent(ev interface{}) { +func (expEv *FailedExportersEEs) AddEvent(ev any) { expEv.lk.Lock() expEv.Events = append(expEv.Events, ev) expEv.lk.Unlock() diff --git a/efs/failed_loggs.go b/efs/failed_loggs.go index ce2e28f93..2074329dd 100644 --- a/efs/failed_loggs.go +++ b/efs/failed_loggs.go @@ -35,9 +35,9 @@ import ( type FailedExportersLogg struct { lk sync.RWMutex Path string - Opts map[string]interface{} // this is meta + Opts map[string]any // this is meta Format string - Events []interface{} + Events []any FailedPostsDir string Module string @@ -46,7 +46,7 @@ type FailedExportersLogg struct { } // AddEvent adds one event -func (expEv *FailedExportersLogg) AddEvent(ev interface{}) { +func (expEv *FailedExportersLogg) AddEvent(ev any) { expEv.lk.Lock() expEv.Events = append(expEv.Events, ev) expEv.lk.Unlock() diff --git a/efs/libefs.go b/efs/libefs.go index 2e00f8b7e..29095dadf 100644 --- a/efs/libefs.go +++ b/efs/libefs.go @@ -44,7 +44,7 @@ func SetFailedPostCacheTTL(ttl time.Duration) { failedPostCache = ltcache.NewCache(-1, ttl, true, writeFailedPosts) } -func writeFailedPosts(_ string, value interface{}) { +func writeFailedPosts(_ string, value any) { expEv, canConvert := value.(*FailedExportersLogg) if !canConvert { return diff --git a/engine/actionprofile.go b/engine/actionprofile.go index 39d490ba2..ac0e1e204 100644 --- a/engine/actionprofile.go +++ b/engine/actionprofile.go @@ -65,11 +65,11 @@ func (ap *ActionProfile) GetWeightFromDynamics(ctx *context.Context, // APAction defines action related information used within a ActionProfile type APAction struct { - ID string // Action ID - FilterIDs []string // Action FilterIDs - TTL time.Duration // Cancel Action if not executed within TTL - Type string // Type of Action - Opts map[string]interface{} // Extra options to pass depending on action type + ID string // Action ID + FilterIDs []string // Action FilterIDs + TTL time.Duration // Cancel Action if not executed within TTL + Type string // Type of Action + Opts map[string]any // Extra options to pass depending on action type Diktats []*APDiktat } @@ -91,10 +91,10 @@ func (dk *APDiktat) RSRValues(sep string) (_ config.RSRParsers, err error) { // ActionProfileWithAPIOpts is used in API calls type ActionProfileWithAPIOpts struct { *ActionProfile - APIOpts map[string]interface{} + APIOpts map[string]any } -func (aP *ActionProfile) Set(path []string, val interface{}, newBranch bool, _ string) (err error) { +func (aP *ActionProfile) Set(path []string, val any, newBranch bool, _ string) (err error) { switch len(path) { case 0: return utils.ErrWrongPath @@ -159,13 +159,13 @@ func (aP *ActionProfile) Set(path []string, val interface{}, newBranch bool, _ s } } if ac == nil { - ac = &APAction{ID: acID, Opts: make(map[string]interface{})} + ac = &APAction{ID: acID, Opts: make(map[string]any)} aP.Actions = append(aP.Actions, ac) } return ac.Set(path[1:], val, newBranch) } -func (aP *APAction) Set(path []string, val interface{}, newBranch bool) (err error) { +func (aP *APAction) Set(path []string, val any, newBranch bool) (err error) { switch len(path) { default: if path[0] == utils.Opts { @@ -217,7 +217,7 @@ func (aP *APAction) Set(path []string, val interface{}, newBranch bool) (err err return } -func (ap *ActionProfile) Merge(v2 interface{}) { +func (ap *ActionProfile) Merge(v2 any) { vi := v2.(*ActionProfile) if len(vi.Tenant) != 0 { ap.Tenant = vi.Tenant @@ -280,13 +280,13 @@ func (apAct *APAction) Merge(v2 *APAction) { func (ap *ActionProfile) String() string { return utils.ToJSON(ap) } func (ap *ActionProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = ap.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (ap *ActionProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (ap *ActionProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: @@ -364,13 +364,13 @@ func (ap *ActionProfile) FieldAsInterface(fldPath []string) (_ interface{}, err func (a *APAction) String() string { return utils.ToJSON(a) } func (a *APAction) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = a.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (ap *APAction) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (ap *APAction) FieldAsInterface(fldPath []string) (_ any, err error) { switch len(fldPath) { default: if fld, idxStr := utils.GetPathIndexString(fldPath[0]); fld == utils.Opts { @@ -452,13 +452,13 @@ func (ap *APAction) FieldAsInterface(fldPath []string) (_ interface{}, err error func (dk *APDiktat) String() string { return utils.ToJSON(dk) } func (dk *APDiktat) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = dk.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (dk *APDiktat) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (dk *APDiktat) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } diff --git a/engine/actionprofile_test.go b/engine/actionprofile_test.go index 7a1dc6de9..edc2978fc 100644 --- a/engine/actionprofile_test.go +++ b/engine/actionprofile_test.go @@ -188,7 +188,7 @@ func TestActionProfileSet(t *testing.T) { Type: "val1", FilterIDs: []string{"fltr1"}, TTL: 10, - Opts: map[string]interface{}{ + Opts: map[string]any{ "opt0": "val1", "opt1": "val1", "opt2": "val1", @@ -311,7 +311,7 @@ func TestActionProfileFieldAsInterface(t *testing.T) { Type: "val1", FilterIDs: []string{"fltr1"}, TTL: 10, - Opts: map[string]interface{}{ + Opts: map[string]any{ "opt0": "val1", "opt1": "val1", "opt2": "val1", @@ -593,7 +593,7 @@ func TestActionProfileMergeAPActionMerge(t *testing.T) { FilterIDs: []string{"FLTR1", "FLTR2", "FLTR3"}, TTL: time.Minute, Type: "type2", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "value1", "key2": "value2", }, @@ -622,7 +622,7 @@ func TestActionProfileMergeAPActionMerge(t *testing.T) { FilterIDs: []string{"FLTR1", "FLTR2", "FLTR3", "FLTR4"}, TTL: time.Minute, Type: "type2", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "value1", "key2": "value3", }, @@ -656,7 +656,7 @@ func TestActionProfileMergeAPActionMerge(t *testing.T) { ID: "APAct1", FilterIDs: []string{"FLTR4"}, Type: "", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key2": "value3", }, Diktats: []*APDiktat{ @@ -678,7 +678,7 @@ func TestActionProfileAPActionMergeEmptyV2(t *testing.T) { FilterIDs: []string{"FLTR1"}, TTL: time.Second, Type: "type", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key": "value", }, Diktats: []*APDiktat{ @@ -693,7 +693,7 @@ func TestActionProfileAPActionMergeEmptyV2(t *testing.T) { FilterIDs: []string{"FLTR1"}, TTL: time.Second, Type: "type", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key": "value", }, Diktats: []*APDiktat{ @@ -713,14 +713,14 @@ func TestActionProfileAPActionMergeEmptyV2(t *testing.T) { func TestActionProfileAPActionMergeEmptyV1(t *testing.T) { apAct := &APAction{ - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } expected := &APAction{ ID: "APAct1", FilterIDs: []string{"FLTR1"}, TTL: time.Second, Type: "type", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key": "value", }, Diktats: []*APDiktat{ @@ -736,7 +736,7 @@ func TestActionProfileAPActionMergeEmptyV1(t *testing.T) { FilterIDs: []string{"FLTR1"}, TTL: time.Second, Type: "type", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key": "value", }, Diktats: []*APDiktat{ @@ -758,7 +758,7 @@ func TestActionProfileAPActionMerge(t *testing.T) { FilterIDs: []string{"FLTR1"}, TTL: time.Second, Type: "type1", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "value1", }, Diktats: []*APDiktat{ @@ -773,7 +773,7 @@ func TestActionProfileAPActionMerge(t *testing.T) { FilterIDs: []string{"FLTR1", "FLTR2", "FLTR3"}, TTL: time.Minute, Type: "type2", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "value1", "key2": "value2", }, @@ -785,7 +785,7 @@ func TestActionProfileAPActionMerge(t *testing.T) { FilterIDs: []string{"FLTR2", "FLTR3"}, TTL: time.Minute, Type: "type2", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key2": "value2", }, Diktats: []*APDiktat{ @@ -805,7 +805,7 @@ func TestActionProfileAPActionMerge(t *testing.T) { FilterIDs: []string{"FLTR1", "FLTR2", "FLTR3", "FLTR4"}, TTL: time.Minute, Type: "type2", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "value1", "key2": "value3", }, @@ -821,7 +821,7 @@ func TestActionProfileAPActionMerge(t *testing.T) { ID: "APAct1", FilterIDs: []string{"FLTR4"}, Type: "", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key2": "value3", }, Diktats: []*APDiktat{ diff --git a/engine/attributes.go b/engine/attributes.go index d2b9c992d..b498072c3 100644 --- a/engine/attributes.go +++ b/engine/attributes.go @@ -195,7 +195,7 @@ func (alS *AttributeS) processEvent(ctx *context.Context, tnt string, args *util continue } } - var out interface{} + var out any if out, err = ParseAttribute(dynDP, utils.FirstNonEmpty(attribute.Type, utils.MetaVariable), utils.DynamicDataPrefix+attribute.Path, attribute.Value, alS.cfg.GeneralCfg().RoundingDecimals, alS.cfg.GeneralCfg().DefaultTimezone, time.RFC3339, alS.cfg.GeneralCfg().RSRSep); err != nil { rply = nil return @@ -370,7 +370,7 @@ func (alS *AttributeS) V1ProcessEvent(ctx *context.Context, args *utils.CGREvent } func ParseAttribute(dp utils.DataProvider, attrType, path string, value config.RSRParsers, roundingDec int, timeZone, layout, rsrSep string) ( - out interface{}, err error) { + out any, err error) { switch attrType { case utils.MetaNone: return @@ -403,25 +403,25 @@ func ParseAttribute(dp utils.DataProvider, attrType, path string, value config.R } out = tEnd.Sub(tStart).String() case utils.MetaSum: - var ifaceVals []interface{} + var ifaceVals []any if ifaceVals, err = value.GetIfaceFromValues(dp); err != nil { return } out, err = utils.Sum(ifaceVals...) case utils.MetaDifference: - var ifaceVals []interface{} + var ifaceVals []any if ifaceVals, err = value.GetIfaceFromValues(dp); err != nil { return } out, err = utils.Difference(timeZone, ifaceVals...) case utils.MetaMultiply: - var ifaceVals []interface{} + var ifaceVals []any if ifaceVals, err = value.GetIfaceFromValues(dp); err != nil { return } out, err = utils.Multiply(ifaceVals...) case utils.MetaDivide: - var ifaceVals []interface{} + var ifaceVals []any if ifaceVals, err = value.GetIfaceFromValues(dp); err != nil { return } diff --git a/engine/attributes_test.go b/engine/attributes_test.go index 2779f2d2d..2b4eb9311 100644 --- a/engine/attributes_test.go +++ b/engine/attributes_test.go @@ -467,13 +467,13 @@ func TestAttributeProfileForEventWeightFromDynamicsErr(t *testing.T) { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "AttributeProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -536,14 +536,14 @@ func TestAttributeProcessEventBlockerFromDynamicsErr(t *testing.T) { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "AttributeProfile1", "Account": "1010", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -600,10 +600,10 @@ func TestAttributeSProcessEventPassErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "PassField": "Test", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -667,10 +667,10 @@ func TestAttributeSProcessAttrBlockerFromDynamicsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "PassField": "Test", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -733,10 +733,10 @@ func TestAttributeSProcessSubstituteRmvBlockerTrue(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "PassField": "Test", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -805,10 +805,10 @@ func TestV1GetAttributeForEventAttrProfEventErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "AttributeProfile1", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var rply APIAttributeProfile expErr := "SERVER_ERROR: NOT_IMPLEMENTED:*stirng" @@ -854,10 +854,10 @@ func TestAttributesV1ProcessEventFieldMissingErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ "testfield": utils.MetaAttributes, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } diff --git a/engine/caches.go b/engine/caches.go index 0e5dc73b5..6f5e76142 100644 --- a/engine/caches.go +++ b/engine/caches.go @@ -84,10 +84,10 @@ func init() { gob.Register(new(StatAverage)) gob.Register(new(StatDistinct)) // others - gob.Register([]interface{}{}) - gob.Register([]map[string]interface{}{}) - gob.Register(map[string]interface{}{}) - gob.Register(map[string][]map[string]interface{}{}) + gob.Register([]any{}) + gob.Register([]map[string]any{}) + gob.Register(map[string]any{}) + gob.Register(map[string][]map[string]any{}) gob.Register(map[string]string{}) gob.Register(time.Duration(0)) gob.Register(time.Time{}) @@ -110,7 +110,7 @@ func NewCacheS(cfg *config.CGRConfig, dm *DataManager, connMgr *ConnManager, cpS k == utils.CacheCapsEvents { continue } - val.OnEvicted = func(itmID string, value interface{}) { + val.OnEvicted = func(itmID string, value any) { if err := connMgr.Call(context.TODO(), cfg.CacheCfg().ReplicationConns, utils.CacheSv1ReplicateRemove, &utils.ArgCacheReplicateRemove{ CacheID: k, @@ -149,14 +149,14 @@ type CacheS struct { // Set is an exported method from TransCache // handled Replicate functionality -func (chS *CacheS) Set(ctx *context.Context, chID, itmID string, value interface{}, +func (chS *CacheS) Set(ctx *context.Context, chID, itmID string, value any, groupIDs []string, commit bool, transID string) (err error) { chS.tCache.Set(chID, itmID, value, groupIDs, commit, transID) return chS.ReplicateSet(ctx, chID, itmID, value) } // ReplicateSet replicate an item to ReplicationConns -func (chS *CacheS) ReplicateSet(ctx *context.Context, chID, itmID string, value interface{}) (err error) { +func (chS *CacheS) ReplicateSet(ctx *context.Context, chID, itmID string, value any) (err error) { if len(chS.cfg.CacheCfg().ReplicationConns) == 0 || !chS.cfg.CacheCfg().Partitions[chID].Replicate { return @@ -172,7 +172,7 @@ func (chS *CacheS) ReplicateSet(ctx *context.Context, chID, itmID string, value // SetWithoutReplicate is an exported method from TransCache // handled Replicate functionality -func (chS *CacheS) SetWithoutReplicate(chID, itmID string, value interface{}, +func (chS *CacheS) SetWithoutReplicate(chID, itmID string, value any, groupIDs []string, commit bool, transID string) { chS.tCache.Set(chID, itmID, value, groupIDs, commit, transID) } @@ -195,12 +195,12 @@ func (chS *CacheS) HasItem(chID, itmID string) (has bool) { } // Get is an exported method from TransCache -func (chS *CacheS) Get(chID, itmID string) (interface{}, bool) { +func (chS *CacheS) Get(chID, itmID string) (any, bool) { return chS.tCache.Get(chID, itmID) } // GetWithRemote queries locally the cache, followed by remotes -func (chS *CacheS) GetWithRemote(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts) (itm interface{}, err error) { +func (chS *CacheS) GetWithRemote(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts) (itm any, err error) { var has bool if itm, has = chS.tCache.Get(args.CacheID, args.ItemID); has { return @@ -255,7 +255,7 @@ func (chS *CacheS) CommitTransaction(transID string) { } // GetCloned is an exported method from TransCache -func (chS *CacheS) GetCloned(chID, itmID string) (cln interface{}, err error) { +func (chS *CacheS) GetCloned(chID, itmID string) (cln any, err error) { return chS.tCache.GetCloned(chID, itmID) } @@ -305,7 +305,7 @@ func (chS *CacheS) V1HasItem(_ *context.Context, args *utils.ArgsGetCacheItemWit // V1GetItem returns a single item from the cache func (chS *CacheS) V1GetItem(_ *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) (err error) { + reply *any) (err error) { itmIface, has := chS.tCache.Get(args.CacheID, args.ItemID) if !has { return utils.ErrNotFound @@ -316,8 +316,8 @@ func (chS *CacheS) V1GetItem(_ *context.Context, args *utils.ArgsGetCacheItemWit // V1GetItemWithRemote queries the item from remote if not found locally func (chS *CacheS) V1GetItemWithRemote(ctx *context.Context, args *utils.ArgsGetCacheItemWithAPIOpts, - reply *interface{}) (err error) { - var itmIface interface{} + reply *any) (err error) { + var itmIface any if itmIface, err = chS.GetWithRemote(ctx, args); err != nil { return } diff --git a/engine/caches_test.go b/engine/caches_test.go index eb0565ae3..364d7a02c 100644 --- a/engine/caches_test.go +++ b/engine/caches_test.go @@ -59,8 +59,8 @@ func TestCacheSSetWithReplicateTrue(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(_ *context.Context, args, reply any) error { argCache, canCast := args.(*utils.ArgCacheReplicateSet) if !canCast { return errors.New("cannot cast") @@ -161,10 +161,10 @@ func TestCacheSGetWithRemote(t *testing.T) { } clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1GetItem: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1GetItem: func(_ *context.Context, args, reply any) error { var valBack string = "test_value_was_set" - *reply.(*interface{}) = valBack + *reply.(*any) = valBack return nil }, }, @@ -179,7 +179,7 @@ func TestCacheSGetWithRemote(t *testing.T) { // first we have to set the value in order to get it from our mock cacheS.Set(context.Background(), utils.CacheAccounts, "itemId", "test_value_was_set", []string{}, true, utils.NonTransactional) - var reply interface{} + var reply any expected := "test_value_was_set" if err := cacheS.V1GetItemWithRemote(context.Background(), args, &reply); err != nil { t.Error(err) @@ -224,7 +224,7 @@ func TestCacheSGetWithRemoteFalse(t *testing.T) { cacheS := NewCacheS(cfg, dm, connMgr, nil) - var reply interface{} = utils.OK + var reply any = utils.OK if err := cacheS.V1GetItemWithRemote(context.Background(), args, &reply); err == nil || err != utils.ErrNotFound { t.Errorf("Expected error <%v>, received error <%v>", utils.ErrNotFound, err) } @@ -297,7 +297,7 @@ func TestV1GetItemErr(t *testing.T) { cacheS := NewCacheS(cfg, dm, connMgr, nil) - var reply interface{} + var reply any if err := cacheS.V1GetItem(context.Background(), args, &reply); err == nil || err != utils.ErrNotFound { t.Errorf("Expected error <%v>, Received error <%v>", utils.ErrNotFound, err) } @@ -354,8 +354,8 @@ func TestCacheSGetWithRemoteQueryErr(t *testing.T) { } clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1GetItem: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1GetItem: func(_ *context.Context, args, reply any) error { return utils.ErrNotFound }, }, @@ -388,15 +388,15 @@ func TestCacheSGetWithRemoteTCacheGet(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) cfg.CacheCfg().RemoteConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.RemoteConnsCfg)} - var customRply interface{} = utils.ArgsGetCacheItem{ + var customRply any = utils.ArgsGetCacheItem{ CacheID: utils.Accounts, ItemID: "itemId", } clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1GetItem: func(_ *context.Context, args, reply interface{}) error { - *reply.(*interface{}) = customRply + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1GetItem: func(_ *context.Context, args, reply any) error { + *reply.(*any) = customRply return nil }, }, @@ -434,10 +434,10 @@ func TestCacheSV1ReplicateRemove(t *testing.T) { cfg.CacheCfg().ReplicationConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.ReplicationConnsCfg)} clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(_ *context.Context, args, reply any) error { var valBack string = utils.OK - *reply.(*interface{}) = valBack + *reply.(*any) = valBack return nil }, }, @@ -473,8 +473,8 @@ func TestCacheSReplicateRemove(t *testing.T) { } clientconn := make(chan birpc.ClientConnector, 1) clientconn <- &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(_ *context.Context, args, reply any) error { if err := Cache.Remove(context.Background(), utils.CacheAccounts, "itemId", true, utils.NonTransactional); err != nil { t.Error(err) } @@ -817,7 +817,7 @@ func TestCacheSV1RemoveGroup(t *testing.T) { args := &utils.ArgsGetGroupWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, ArgsGetGroup: utils.ArgsGetGroup{ CacheID: utils.CacheAccounts, GroupID: "Group", @@ -858,7 +858,7 @@ func TestV1GetCacheStats(t *testing.T) { cacheS := NewCacheS(cfg, dm, connMgr, nil) args := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{"cacheId1"}, @@ -893,7 +893,7 @@ func TestCacheSV1Clear(t *testing.T) { cacheS := NewCacheS(cfg, dm, connMgr, nil) args := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{"cacheId1", "cacheId2", "cacheId3", "cacheId4"}, @@ -1067,8 +1067,8 @@ func TestV1GetItemSingular(t *testing.T) { t.Error(err) } - exp := interface{}("valinterface") - var reply interface{} + exp := any("valinterface") + var reply any if err := cacheS.V1GetItem(context.Background(), args, &reply); err != nil { t.Error(err) } else if reply != exp { @@ -1147,7 +1147,7 @@ type ccCloner struct { mckField string } -func (cc *ccCloner) Clone() (interface{}, error) { +func (cc *ccCloner) Clone() (any, error) { cc.mckField = "value" return cc, nil } @@ -1224,7 +1224,7 @@ func TestCacheSV1PrecacheStatusDefault(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) args := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{}, @@ -1234,7 +1234,7 @@ func TestCacheSV1PrecacheStatusDefault(t *testing.T) { cacheS := NewCacheS(cfg, dm, connMgr, nil) expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{}, @@ -1269,7 +1269,7 @@ func TestCacheSV1PrecacheStatusErrUnknownCacheID(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) args := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{"Inproper ID"}, @@ -1298,7 +1298,7 @@ func TestCacheSV1PrecacheStatusMetaReady(t *testing.T) { dm := NewDataManager(db, cfg.CacheCfg(), nil) args := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{utils.MetaAccounts}, diff --git a/engine/caps.go b/engine/caps.go index 476873154..3773b1c94 100644 --- a/engine/caps.go +++ b/engine/caps.go @@ -84,7 +84,7 @@ type CapsStats struct { } // OnEvict the function that should be called on cache eviction -func (cs *CapsStats) OnEvict(itmID string, value interface{}) { +func (cs *CapsStats) OnEvict(itmID string, value any) { cs.st.RemEvent(itmID) } @@ -130,6 +130,6 @@ func (cs *CapsStats) GetAverage() (avg float64) { // floatDP should be only used by capstats type floatDP float64 -func (f floatDP) String() string { return strconv.FormatFloat(float64(f), 'f', -1, 64) } -func (f floatDP) FieldAsInterface(fldPath []string) (interface{}, error) { return float64(f), nil } -func (f floatDP) FieldAsString(fldPath []string) (string, error) { return f.String(), nil } +func (f floatDP) String() string { return strconv.FormatFloat(float64(f), 'f', -1, 64) } +func (f floatDP) FieldAsInterface(fldPath []string) (any, error) { return float64(f), nil } +func (f floatDP) FieldAsString(fldPath []string) (string, error) { return f.String(), nil } diff --git a/engine/cdrs.go b/engine/cdrs.go index 0c41776b4..89cf2982a 100644 --- a/engine/cdrs.go +++ b/engine/cdrs.go @@ -101,7 +101,7 @@ func (cdrS *CDRServer) chrgrSProcessEvent(ctx *context.Context, cgrEv *utils.CGR func (cdrS *CDRServer) attrSProcessEvent(ctx *context.Context, cgrEv *utils.CGREvent) (err error) { var rplyEv AttrSProcessEventReply if cgrEv.APIOpts == nil { - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) } cgrEv.APIOpts[utils.MetaSubsys] = utils.MetaCDRs cgrEv.APIOpts[utils.OptsContext] = utils.FirstNonEmpty( @@ -143,7 +143,7 @@ func (cdrS *CDRServer) accountSDebitEvent(ctx *context.Context, cgrEv *utils.CGR // accountSRefundCharges will refund the charges into Account func (cdrS *CDRServer) accountSRefundCharges(ctx *context.Context, tnt string, eChrgs *utils.EventCharges, - apiOpts map[string]interface{}) (err error) { + apiOpts map[string]any) (err error) { var rply string argsRefund := &utils.APIEventCharges{ Tenant: tnt, @@ -186,7 +186,7 @@ func (cdrS *CDRServer) statSProcessEvent(ctx *context.Context, cgrEv *utils.CGRE // eeSProcessEvent will process the event with the EEs component func (cdrS *CDRServer) eeSProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs) (err error) { - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err = cdrS.connMgr.Call(ctx, cdrS.cfg.CdrsCfg().EEsConns, utils.EeSv1ProcessEvent, cgrEv, &reply); err != nil && @@ -261,7 +261,7 @@ func (cdrS *CDRServer) processEvent(ctx *context.Context, ev *utils.CGREvent) (e if ecCostIface, wasCharged := cgrEv.APIOpts[utils.MetaAccountSCost]; wasCharged { // before converting into EventChargers, we must get the JSON encoding and Unmarshal it into an EventChargers var btsEvCh []byte - btsEvCh, err = json.Marshal(ecCostIface.(map[string]interface{})) + btsEvCh, err = json.Marshal(ecCostIface.(map[string]any)) if err != nil { return } @@ -428,7 +428,7 @@ func (cdrS *CDRServer) V1ProcessEventWithGet(ctx *context.Context, arg *utils.CG return nil } -func populateCost(cgrOpts map[string]interface{}) *utils.Decimal { +func populateCost(cgrOpts map[string]any) *utils.Decimal { // if the cost is already present, get out if _, has := cgrOpts[utils.MetaCost]; has { return nil diff --git a/engine/cdrs_test.go b/engine/cdrs_test.go index d7baa80ff..8f6503e31 100644 --- a/engine/cdrs_test.go +++ b/engine/cdrs_test.go @@ -70,7 +70,7 @@ func TestCDRsChrgrSProcessEventErrMsnConnIDs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -79,7 +79,7 @@ func TestCDRsChrgrSProcessEventErrMsnConnIDs(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, utils.MetaOriginID: "originID", }, @@ -103,7 +103,7 @@ func TestCDRsAttrSProcessEventNoOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -134,7 +134,7 @@ func TestCDRsAttrSProcessEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -143,7 +143,7 @@ func TestCDRsAttrSProcessEvent(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -168,7 +168,7 @@ func TestCDRsRateSCostForEventErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -177,7 +177,7 @@ func TestCDRsRateSCostForEventErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -202,7 +202,7 @@ func TestCDRsAccountSDebitEventErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -211,7 +211,7 @@ func TestCDRsAccountSDebitEventErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -236,7 +236,7 @@ func TestCDRsThdSProcessEventErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -268,7 +268,7 @@ func TestCDRsStatSProcessEventErrMsnConnIDs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -277,7 +277,7 @@ func TestCDRsStatSProcessEventErrMsnConnIDs(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -304,7 +304,7 @@ func TestCDRsEESProcessEventErrMsnConnIDs(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -313,7 +313,7 @@ func TestCDRsEESProcessEventErrMsnConnIDs(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, }, @@ -368,8 +368,8 @@ func TestCDRsAttrSProcessEventMock(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { *reply.(*AttrSProcessEventReply) = AttrSProcessEventReply{ AlteredFields: []*FieldsAltered{}, } @@ -385,7 +385,7 @@ func TestCDRsAttrSProcessEventMock(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -394,7 +394,7 @@ func TestCDRsAttrSProcessEventMock(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAttributes, }, } @@ -405,7 +405,7 @@ func TestCDRsAttrSProcessEventMock(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -414,7 +414,7 @@ func TestCDRsAttrSProcessEventMock(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaCDRs, utils.MetaSubsys: utils.MetaCDRs, }, @@ -448,8 +448,8 @@ func TestCDRsAttrSProcessEventMockNotFoundErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { *reply.(*AttrSProcessEventReply) = AttrSProcessEventReply{ AlteredFields: []*FieldsAltered{{ Fields: []string{}, @@ -467,7 +467,7 @@ func TestCDRsAttrSProcessEventMockNotFoundErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -476,7 +476,7 @@ func TestCDRsAttrSProcessEventMockNotFoundErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAttributes, }, } @@ -487,7 +487,7 @@ func TestCDRsAttrSProcessEventMockNotFoundErr(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -496,7 +496,7 @@ func TestCDRsAttrSProcessEventMockNotFoundErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaCDRs, utils.MetaSubsys: utils.MetaCDRs, }, @@ -530,8 +530,8 @@ func TestCDRsAttrSProcessEventMockNotEmptyAF(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { *reply.(*AttrSProcessEventReply) = AttrSProcessEventReply{ AlteredFields: []*FieldsAltered{{ Fields: []string{utils.AccountField}, @@ -539,7 +539,7 @@ func TestCDRsAttrSProcessEventMockNotEmptyAF(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), @@ -549,7 +549,7 @@ func TestCDRsAttrSProcessEventMockNotEmptyAF(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAttributes, utils.AccountField: "1001", }, @@ -567,7 +567,7 @@ func TestCDRsAttrSProcessEventMockNotEmptyAF(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), @@ -577,7 +577,7 @@ func TestCDRsAttrSProcessEventMockNotEmptyAF(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaAttributes, }, } @@ -588,7 +588,7 @@ func TestCDRsAttrSProcessEventMockNotEmptyAF(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), @@ -598,7 +598,7 @@ func TestCDRsAttrSProcessEventMockNotEmptyAF(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.AccountField: "1001", utils.MetaSubsys: utils.MetaAttributes, }, @@ -631,8 +631,8 @@ func TestCDRsChrgrSProcessEvent(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { *reply.(*[]*ChrgSProcessEventReply) = []*ChrgSProcessEventReply{ { ChargerSProfile: "string", @@ -650,7 +650,7 @@ func TestCDRsChrgrSProcessEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -659,7 +659,7 @@ func TestCDRsChrgrSProcessEvent(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -701,8 +701,8 @@ func TestCDRsRateProcessEventMock(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.RateSv1CostForEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.RateSv1CostForEvent: func(ctx *context.Context, args, reply any) error { *reply.(*utils.RateProfileCost) = utils.RateProfileCost{} return nil }, @@ -716,7 +716,7 @@ func TestCDRsRateProcessEventMock(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -725,7 +725,7 @@ func TestCDRsRateProcessEventMock(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaRates, }, } @@ -736,7 +736,7 @@ func TestCDRsRateProcessEventMock(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), @@ -746,7 +746,7 @@ func TestCDRsRateProcessEventMock(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRateSCost: utils.RateProfileCost{}, utils.MetaSubsys: utils.MetaRates, }, @@ -780,8 +780,8 @@ func TestCDRsAccountProcessEventMock(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1DebitAbstracts: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1DebitAbstracts: func(ctx *context.Context, args, reply any) error { *reply.(*utils.EventCharges) = utils.EventCharges{} return nil }, @@ -795,7 +795,7 @@ func TestCDRsAccountProcessEventMock(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), @@ -805,7 +805,7 @@ func TestCDRsAccountProcessEventMock(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAccountSCost: &utils.EventCharges{}, utils.MetaSubsys: utils.MetaAccounts, }, @@ -817,7 +817,7 @@ func TestCDRsAccountProcessEventMock(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), @@ -827,7 +827,7 @@ func TestCDRsAccountProcessEventMock(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAccountSCost: cgrEv.APIOpts[utils.MetaAccountSCost], utils.MetaSubsys: utils.MetaAccounts, }, @@ -861,8 +861,8 @@ func TestCDRsThdSProcessEventMock(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { *reply.(*[]string) = []string{"testID"} return nil }, @@ -876,7 +876,7 @@ func TestCDRsThdSProcessEventMock(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -894,7 +894,7 @@ func TestCDRsThdSProcessEventMock(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -934,8 +934,8 @@ func TestCDRsThdSProcessEventMockNotfound(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { return utils.ErrNotFound }, }, @@ -948,7 +948,7 @@ func TestCDRsThdSProcessEventMockNotfound(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -966,7 +966,7 @@ func TestCDRsThdSProcessEventMockNotfound(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1006,8 +1006,8 @@ func TestCDRsStatSProcessEventMock(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.StatSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.StatSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { *reply.(*[]string) = []string{"testID"} return utils.ErrNotFound }, @@ -1021,7 +1021,7 @@ func TestCDRsStatSProcessEventMock(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1039,7 +1039,7 @@ func TestCDRsStatSProcessEventMock(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1079,9 +1079,9 @@ func TestCDRsEESProcessEventMock(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1095,7 +1095,7 @@ func TestCDRsEESProcessEventMock(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1115,7 +1115,7 @@ func TestCDRsEESProcessEventMock(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1156,9 +1156,9 @@ func TestCDRsProcessEventMock(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1171,7 +1171,7 @@ func TestCDRsProcessEventMock(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1189,7 +1189,7 @@ func TestCDRsProcessEventMock(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1229,9 +1229,9 @@ func TestCDRsProcessEventMockSkipOpts(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1244,7 +1244,7 @@ func TestCDRsProcessEventMockSkipOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1262,7 +1262,7 @@ func TestCDRsProcessEventMockSkipOpts(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1321,9 +1321,9 @@ func TestCDRsProcessEventMockAttrsErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1336,7 +1336,7 @@ func TestCDRsProcessEventMockAttrsErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1345,7 +1345,7 @@ func TestCDRsProcessEventMockAttrsErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: true, "*context": utils.MetaCDRs, }, @@ -1385,9 +1385,9 @@ func TestCDRsProcessEventMockAttrsErrBoolOpts(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1400,7 +1400,7 @@ func TestCDRsProcessEventMockAttrsErrBoolOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1409,7 +1409,7 @@ func TestCDRsProcessEventMockAttrsErrBoolOpts(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: time.Second, "*context": utils.MetaCDRs, }, @@ -1449,9 +1449,9 @@ func TestCDRsProcessEventMockChrgsErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1464,7 +1464,7 @@ func TestCDRsProcessEventMockChrgsErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1473,7 +1473,7 @@ func TestCDRsProcessEventMockChrgsErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaChargers: true, "*context": utils.MetaCDRs, }, @@ -1514,9 +1514,9 @@ func TestCDRsProcessEventMockChrgsErrBoolOpts(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1529,7 +1529,7 @@ func TestCDRsProcessEventMockChrgsErrBoolOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1538,7 +1538,7 @@ func TestCDRsProcessEventMockChrgsErrBoolOpts(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaChargers: time.Second, "*context": utils.MetaCDRs, }, @@ -1579,9 +1579,9 @@ func TestCDRsProcessEventMockRateSErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1594,7 +1594,7 @@ func TestCDRsProcessEventMockRateSErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1603,7 +1603,7 @@ func TestCDRsProcessEventMockRateSErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRates: true, "*context": utils.MetaCDRs, }, @@ -1644,9 +1644,9 @@ func TestCDRsProcessEventMockRateSErrBoolOpts(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1659,7 +1659,7 @@ func TestCDRsProcessEventMockRateSErrBoolOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1668,7 +1668,7 @@ func TestCDRsProcessEventMockRateSErrBoolOpts(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRates: time.Second, "*context": utils.MetaCDRs, }, @@ -1709,9 +1709,9 @@ func TestCDRsProcessEventMockAcntsErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1724,7 +1724,7 @@ func TestCDRsProcessEventMockAcntsErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1733,7 +1733,7 @@ func TestCDRsProcessEventMockAcntsErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAccounts: true, "*context": utils.MetaCDRs, }, @@ -1774,9 +1774,9 @@ func TestCDRsProcessEventMockAcntsErrBoolOpts(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1789,7 +1789,7 @@ func TestCDRsProcessEventMockAcntsErrBoolOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1798,7 +1798,7 @@ func TestCDRsProcessEventMockAcntsErrBoolOpts(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAccounts: time.Second, "*context": utils.MetaCDRs, }, @@ -1840,9 +1840,9 @@ func TestCDRsProcessEventMockExportErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrExists }, }, @@ -1855,7 +1855,7 @@ func TestCDRsProcessEventMockExportErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1864,7 +1864,7 @@ func TestCDRsProcessEventMockExportErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: true, "*context": utils.MetaCDRs, }, @@ -1905,9 +1905,9 @@ func TestCDRsProcessEventMockExportErrBoolOpts(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrExists }, }, @@ -1920,7 +1920,7 @@ func TestCDRsProcessEventMockExportErrBoolOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1929,7 +1929,7 @@ func TestCDRsProcessEventMockExportErrBoolOpts(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: time.Second, "*context": utils.MetaCDRs, }, @@ -1970,9 +1970,9 @@ func TestCDRsProcessEventMockThdsErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -1985,7 +1985,7 @@ func TestCDRsProcessEventMockThdsErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1994,7 +1994,7 @@ func TestCDRsProcessEventMockThdsErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaThresholds: true, "*context": utils.MetaCDRs, }, @@ -2035,9 +2035,9 @@ func TestCDRsProcessEventMockThdsErrBoolOpts(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -2050,7 +2050,7 @@ func TestCDRsProcessEventMockThdsErrBoolOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2059,7 +2059,7 @@ func TestCDRsProcessEventMockThdsErrBoolOpts(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaThresholds: time.Second, "*context": utils.MetaCDRs, }, @@ -2100,9 +2100,9 @@ func TestCDRsProcessEventMockStatsErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrExists }, }, @@ -2115,7 +2115,7 @@ func TestCDRsProcessEventMockStatsErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2124,7 +2124,7 @@ func TestCDRsProcessEventMockStatsErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStats: true, "*context": utils.MetaCDRs, }, @@ -2165,9 +2165,9 @@ func TestCDRsProcessEventMockStatsErrGetBoolOpts(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrExists }, }, @@ -2180,7 +2180,7 @@ func TestCDRsProcessEventMockStatsErrGetBoolOpts(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2189,7 +2189,7 @@ func TestCDRsProcessEventMockStatsErrGetBoolOpts(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStats: time.Second, "*context": utils.MetaCDRs, }, @@ -2225,9 +2225,9 @@ func TestCDRsV1ProcessEventMock(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -2238,7 +2238,7 @@ func TestCDRsV1ProcessEventMock(t *testing.T) { utils.MetaEEs), utils.ThresholdSv1, rpcInternal) cgrEv := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2247,7 +2247,7 @@ func TestCDRsV1ProcessEventMock(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: true, "*context": utils.MetaCDRs, }, @@ -2260,7 +2260,7 @@ func TestCDRsV1ProcessEventMock(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2269,7 +2269,7 @@ func TestCDRsV1ProcessEventMock(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: true, "*context": utils.MetaCDRs, }, @@ -2304,9 +2304,9 @@ func TestCDRsV1ProcessEventMockErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -2319,7 +2319,7 @@ func TestCDRsV1ProcessEventMockErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2328,7 +2328,7 @@ func TestCDRsV1ProcessEventMockErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStats: true, utils.OptsCDRsExport: true, "*context": utils.MetaCDRs, @@ -2342,7 +2342,7 @@ func TestCDRsV1ProcessEventMockErr(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2351,7 +2351,7 @@ func TestCDRsV1ProcessEventMockErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStats: true, utils.OptsCDRsExport: true, "*context": utils.MetaCDRs, @@ -2386,9 +2386,9 @@ func TestCDRsV1ProcessEventMockCache(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -2401,7 +2401,7 @@ func TestCDRsV1ProcessEventMockCache(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2410,7 +2410,7 @@ func TestCDRsV1ProcessEventMockCache(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: true, "*context": utils.MetaCDRs, }, @@ -2428,7 +2428,7 @@ func TestCDRsV1ProcessEventMockCache(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2437,7 +2437,7 @@ func TestCDRsV1ProcessEventMockCache(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: true, "*context": utils.MetaCDRs, }, @@ -2470,9 +2470,9 @@ func TestCDRsV1ProcessEventWithGetMockCache(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -2483,7 +2483,7 @@ func TestCDRsV1ProcessEventWithGetMockCache(t *testing.T) { utils.MetaEEs), utils.ThresholdSv1, rpcInternal) cgrEv := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2492,7 +2492,7 @@ func TestCDRsV1ProcessEventWithGetMockCache(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: true, "*context": utils.MetaCDRs, }, @@ -2510,7 +2510,7 @@ func TestCDRsV1ProcessEventWithGetMockCache(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2519,7 +2519,7 @@ func TestCDRsV1ProcessEventWithGetMockCache(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: true, "*context": utils.MetaCDRs, }, @@ -2553,9 +2553,9 @@ func TestCDRsV1ProcessEventWithGetMockCacheErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -2568,7 +2568,7 @@ func TestCDRsV1ProcessEventWithGetMockCacheErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2577,7 +2577,7 @@ func TestCDRsV1ProcessEventWithGetMockCacheErr(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: true, utils.MetaAttributes: time.Second, "*context": utils.MetaCDRs, @@ -2619,8 +2619,8 @@ func TestCDRsChrgrSProcessEventEmptyChrgrs(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -2633,7 +2633,7 @@ func TestCDRsChrgrSProcessEventEmptyChrgrs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2642,7 +2642,7 @@ func TestCDRsChrgrSProcessEventEmptyChrgrs(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -2677,7 +2677,7 @@ func TestCDRsV1ProcessEventCacheGet(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Cost: 123, }, } @@ -2694,7 +2694,7 @@ func TestCDRsV1ProcessEventCacheGet(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Cost: 123, }, } @@ -2727,7 +2727,7 @@ func TestCDRsV1ProcessEventWithGetCacheGet(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Cost: 123, }, } @@ -2744,7 +2744,7 @@ func TestCDRsV1ProcessEventWithGetCacheGet(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Cost: 123, }, } @@ -2777,8 +2777,8 @@ func TestCDRServerAccountSRefundCharges(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1RefundCharges: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1RefundCharges: func(ctx *context.Context, args, reply any) error { *reply.(*string) = utils.OK return nil }, @@ -2789,7 +2789,7 @@ func TestCDRServerAccountSRefundCharges(t *testing.T) { newCDRSrv.connMgr.AddInternalConn(utils.ConcatenatedKey(utils.MetaInternal, utils.AccountSConnsCfg), utils.AccountSv1, rpcInternal) - apiOpts := map[string]interface{}{ + apiOpts := map[string]any{ utils.MetaAccountSCost: &utils.EventCharges{}, utils.MetaSubsys: utils.AccountSConnsCfg, } @@ -2857,8 +2857,8 @@ func TestCDRServerAccountSRefundChargesErr(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { *reply.(*string) = utils.OK return nil }, @@ -2869,7 +2869,7 @@ func TestCDRServerAccountSRefundChargesErr(t *testing.T) { newCDRSrv.connMgr.AddInternalConn(utils.ConcatenatedKey(utils.MetaInternal, utils.AccountSConnsCfg), utils.AccountSv1, rpcInternal) - apiOpts := map[string]interface{}{ + apiOpts := map[string]any{ utils.MetaAccountSCost: &utils.EventCharges{}, utils.MetaSubsys: utils.AccountSConnsCfg, } @@ -2889,10 +2889,10 @@ func TestPopulateCost(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAccountSCost: &utils.EventCharges{ Concretes: utils.NewDecimal(400, 0), }, @@ -2904,10 +2904,10 @@ func TestPopulateCost(t *testing.T) { } ev = &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRateSCost: utils.RateProfileCost{ @@ -2920,10 +2920,10 @@ func TestPopulateCost(t *testing.T) { } ev = &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: 102.1, }, @@ -2961,9 +2961,9 @@ func TestCDRsProcessEventMockThdsEcCostIface(t *testing.T) { storDBChan <- storDB newCDRSrv := NewCDRServer(cfg, storDBChan, dm, fltrs, connMng) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ + calls: map[string]func(ctx *context.Context, args any, reply any) error{ - utils.AccountSv1DebitAbstracts: func(ctx *context.Context, args, reply interface{}) error { + utils.AccountSv1DebitAbstracts: func(ctx *context.Context, args, reply any) error { *reply.(*utils.EventCharges) = utils.EventCharges{ Concretes: utils.NewDecimal(400, 0), } @@ -2979,7 +2979,7 @@ func TestCDRsProcessEventMockThdsEcCostIface(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2988,10 +2988,10 @@ func TestCDRsProcessEventMockThdsEcCostIface(t *testing.T) { utils.Usage: 135 * time.Second, utils.Cost: 123.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAccounts: true, "*context": utils.MetaCDRs, - utils.MetaAccountSCost: map[string]interface{}{ + utils.MetaAccountSCost: map[string]any{ "Concretes": utils.NewDecimal(400, 0), }, }, @@ -3030,10 +3030,10 @@ func TestCDRsProcessEventMockThdsEcCostIfaceMarshalErr(t *testing.T) { utils.MetaAccounts), utils.AccountSv1, rpcInternal) cgrEv := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAccounts: true, "*context": utils.MetaCDRs, - utils.MetaAccountSCost: map[string]interface{}{ + utils.MetaAccountSCost: map[string]any{ "Concretes": make(chan string), }, }, @@ -3072,10 +3072,10 @@ func TestCDRsProcessEventMockThdsEcCostIfaceUnmarshalErr(t *testing.T) { utils.MetaAccounts), utils.AccountSv1, rpcInternal) cgrEv := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAccounts: true, "*context": utils.MetaCDRs, - utils.MetaAccountSCost: map[string]interface{}{ + utils.MetaAccountSCost: map[string]any{ "Charges": "not unmarshable", }, }, @@ -3115,15 +3115,15 @@ func TestCDRsV1ProcessEventWithGetMockCacheErrResp(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Cost: 123, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } evs := []*utils.EventsWithOpts{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.Cost: 666, }, }, @@ -3139,7 +3139,7 @@ func TestCDRsV1ProcessEventWithGetMockCacheErrResp(t *testing.T) { expectedVal := []*utils.EventsWithOpts{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.Cost: 666, }, }, diff --git a/engine/chargers_test.go b/engine/chargers_test.go index 42a6eeaf4..602391e6b 100644 --- a/engine/chargers_test.go +++ b/engine/chargers_test.go @@ -195,20 +195,20 @@ func TestChargerMatchingChargerProfilesForEvent(t *testing.T) { { Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "200.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, }, { Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), }, @@ -216,7 +216,7 @@ func TestChargerMatchingChargerProfilesForEvent(t *testing.T) { { Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "DistinctMatch", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), }, @@ -368,20 +368,20 @@ func TestChargerProcessEvent(t *testing.T) { { Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "200.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, }, { Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), }, @@ -389,7 +389,7 @@ func TestChargerProcessEvent(t *testing.T) { { Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "DistinctMatch", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), }, @@ -535,13 +535,13 @@ func TestChargersmatchingChargerProfilesForEventChargerProfileNotFound(t *testin cgrEv := &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 1, 10, 0, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -581,13 +581,13 @@ func TestChargersmatchingChargerProfilesForEventDoesNotPass(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 1, 10, 0, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -631,13 +631,13 @@ func TestChargersmatchingChargerProfilesForEventErrGetChPrf(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 1, 10, 0, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -662,7 +662,7 @@ func TestChargersprocessEvent(t *testing.T) { } cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } @@ -752,8 +752,8 @@ func TestChargersmatchingChargerProfilesForEventCacheReadErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -809,8 +809,8 @@ func TestChargersmatchingChargerProfilesForEventWeightFromDynamicsErr(t *testing cgrEv := &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -867,8 +867,8 @@ func TestChargersmatchingChargerProfilesForEventBlockerFromDynamicsErr(t *testin cgrEv := &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -924,8 +924,8 @@ func TestChargersmatchingChargerProfilesForEventBlockerTrue(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } diff --git a/engine/connmanager.go b/engine/connmanager.go index dadddd958..173834d4b 100644 --- a/engine/connmanager.go +++ b/engine/connmanager.go @@ -149,7 +149,7 @@ func (cM *ConnManager) getConnWithConfig(ctx *context.Context, connID string, co // Call gets the connection calls the method on it func (cM *ConnManager) Call(ctx *context.Context, connIDs []string, - method string, arg, reply interface{}) (err error) { + method string, arg, reply any) (err error) { if len(connIDs) == 0 { return utils.NewErrMandatoryIeMissing("connIDs") } @@ -166,7 +166,7 @@ func (cM *ConnManager) Call(ctx *context.Context, connIDs []string, } // CallWithConnIDs will call the method only on specified rpcconns -func (cM *ConnManager) CallWithConnIDs(connIDs []string, ctx *context.Context, subsHostIDs utils.StringSet, method string, arg, reply interface{}) (err error) { +func (cM *ConnManager) CallWithConnIDs(connIDs []string, ctx *context.Context, subsHostIDs utils.StringSet, method string, arg, reply any) (err error) { if len(connIDs) == 0 { return utils.NewErrMandatoryIeMissing("connIDs") } diff --git a/engine/connmanager_test.go b/engine/connmanager_test.go index 203f035c6..12aac0b69 100644 --- a/engine/connmanager_test.go +++ b/engine/connmanager_test.go @@ -496,8 +496,8 @@ func TestCMCallWithConnIDsErrNotNetwork(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - "testMethod": func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + "testMethod": func(ctx *context.Context, args, reply any) error { return utils.ErrExists }, }, diff --git a/engine/datamanager_test.go b/engine/datamanager_test.go index 7c267137d..c5f98e55c 100644 --- a/engine/datamanager_test.go +++ b/engine/datamanager_test.go @@ -922,7 +922,7 @@ func TestDMSetAccountcheckFiltersErr(t *testing.T) { Blocker: true, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), ThresholdIDs: []string{utils.MetaNone}, } @@ -983,7 +983,7 @@ func TestDMSetAccountGetAccountErr(t *testing.T) { Blocker: true, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), ThresholdIDs: []string{utils.MetaNone}, } @@ -1049,7 +1049,7 @@ func TestDMSetAccountSetAccountDrvErr(t *testing.T) { Blocker: true, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), ThresholdIDs: []string{utils.MetaNone}, } @@ -1115,7 +1115,7 @@ func TestDMSetAccountupdatedIndexesErr(t *testing.T) { Blocker: true, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), ThresholdIDs: []string{utils.MetaNone}, } @@ -1184,7 +1184,7 @@ func TestDMSetAccountReplicateTrue(t *testing.T) { Blocker: true, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), ThresholdIDs: []string{utils.MetaNone}, } // tests replicete @@ -1540,8 +1540,8 @@ func TestDMGetThresholdCacheGetErr(t *testing.T) { // } // cc := &ccMock{ -// calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ -// utils.ReplicatorSv1GetThreshold: func(ctx *context.Context, args, reply interface{}) error { +// calls: map[string]func(ctx *context.Context, args any, reply any) error{ +// utils.ReplicatorSv1GetThreshold: func(ctx *context.Context, args, reply any) error { // rplCast, canCast := reply.(*Threshold) // if !canCast { // t.Errorf("Wrong argument type : %T", reply) @@ -1583,8 +1583,8 @@ func TestDMGetThresholdSetThCacheSetErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -1764,8 +1764,8 @@ func TestDMRemoveStatQueueReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetStatQueue: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetStatQueue: func(ctx *context.Context, args, reply any) error { return nil }, @@ -1841,7 +1841,7 @@ func TestDMGetStatQueueProfileErrNilCacheRead(t *testing.T) { tntID := utils.ConcatenatedKey(utils.CGRateSorg, "sqp99") - var setVal interface{} + var setVal any if err := Cache.Set(context.Background(), utils.CacheStatQueueProfiles, tntID, setVal, []string{}, true, utils.NonTransactional); err != nil { t.Error(err) } @@ -1872,8 +1872,8 @@ func TestDMGetStatQueueProfileErrRemote(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetStatQueueProfile: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetStatQueueProfile: func(ctx *context.Context, args, reply any) error { return nil }, @@ -1937,8 +1937,8 @@ func TestDMGetStatQueueProfileErrCacheWrite(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -2001,8 +2001,8 @@ func TestDMGetStatQueueProfileErr2CacheWrite(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -2062,8 +2062,8 @@ func TestDMGetThresholdProfileSetThErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -2153,8 +2153,8 @@ func TestDMGetThresholdProfileDMErr(t *testing.T) { // } // cc := &ccMock{ -// calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ -// utils.ReplicatorSv1GetThresholdProfile: func(ctx *context.Context, args, reply interface{}) error { +// calls: map[string]func(ctx *context.Context, args any, reply any) error{ +// utils.ReplicatorSv1GetThresholdProfile: func(ctx *context.Context, args, reply any) error { // rplCast, canCast := reply.(*Threshold) // if !canCast { // t.Errorf("Wrong argument type : %T", reply) @@ -2196,8 +2196,8 @@ func TestDMGetThresholdProfileSetThPrfErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -2234,8 +2234,8 @@ func TestDMGetThresholdProfileSetThPrfErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -2697,13 +2697,13 @@ func TestDMCacheDataFromDBDispatcherProfilePrefix(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -3479,8 +3479,8 @@ func TestDMGetAccountReplicate(t *testing.T) { data := NewInternalDB(nil, nil, cfg.DataDbCfg().Items) cc := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetAccount: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetAccount: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -3526,7 +3526,7 @@ func TestDMGetAccountReplicate(t *testing.T) { Blocker: true, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), ThresholdIDs: []string{utils.MetaNone}, } @@ -3718,7 +3718,7 @@ func TestDMCheckFiltersErrBrokenReferenceCache(t *testing.T) { cM := NewConnManager(cfg) dm := NewDataManager(data, cfg.CacheCfg(), cM) - var val interface{} + var val any if err := Cache.Set(context.Background(), utils.CacheFilters, utils.ConcatenatedKey(utils.CGRateSorg, "fltr1"), val, []string{}, true, utils.NonTransactional); err != nil { t.Error(err) } @@ -3812,8 +3812,8 @@ func TestGetAPIBanErrSingleCacheWrite(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -3882,8 +3882,8 @@ func TestGetAPIBanErrMultipleCacheWrite(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -3953,8 +3953,8 @@ func TestGetAPIBanErrNoBanCacheSet(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -4076,8 +4076,8 @@ func TestDMSetIndexesReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetIndexes: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetIndexes: func(ctx *context.Context, args, reply any) error { return nil }, @@ -4119,8 +4119,8 @@ func TestDMGetIndexesErrSetIdxDrv(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetIndexes: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetIndexes: func(ctx *context.Context, args, reply any) error { return nil }, @@ -4169,8 +4169,8 @@ func TestDMGetIndexesErrCacheSet(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -4206,8 +4206,8 @@ func TestDMGetIndexesErrCacheWriteSet(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -4379,8 +4379,8 @@ func TestDMGetThresholdSetThPrflDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetThresholdProfile: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetThresholdProfile: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -4616,8 +4616,8 @@ func TestDMSetThresholdProfileReplicateErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetThresholdProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetThresholdProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -4700,8 +4700,8 @@ func TestDMGetStatQueueNewStoredStatQueueErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetStatQueue: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetStatQueue: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -4753,8 +4753,8 @@ func TestDMGetStatQueueSetStatQueueDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetStatQueue: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetStatQueue: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -4797,8 +4797,8 @@ func TestDMGetStatQueueCacheWriteErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -5094,8 +5094,8 @@ func TestDMGetResourceSetResourceDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetResource: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetResource: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -5138,8 +5138,8 @@ func TestDMGetResourceCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -5175,8 +5175,8 @@ func TestDMGetResourceCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -5294,8 +5294,8 @@ func TestDMRemoveResourceReplicateErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveResource: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1RemoveResource: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -5362,8 +5362,8 @@ func TestDMGetResourceProfileSetResourceProfileDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetResourceProfile: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetResourceProfile: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -5406,8 +5406,8 @@ func TestDMGetResourceProfileCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -5443,8 +5443,8 @@ func TestDMGetResourceProfileCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -5495,8 +5495,8 @@ func TestDMGetFilterSetFilterDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetFilter: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetFilter: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -5536,8 +5536,8 @@ func TestDMGetFilterCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -5573,8 +5573,8 @@ func TestDMGetFilterCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -5623,8 +5623,8 @@ func TestDMGetThresholdSetThresholdDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetThreshold: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetThreshold: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -5759,8 +5759,8 @@ func TestDMSetResourceProfileErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetResourceProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetResourceProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -5961,8 +5961,8 @@ func TestDMRemoveResourceProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetResourceProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetResourceProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -6105,8 +6105,8 @@ func TestDMGetRouteProfileSetRouteProfileDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetRouteProfile: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetRouteProfile: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -6167,8 +6167,8 @@ func TestDMGetRouteProfileCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -6211,8 +6211,8 @@ func TestDMGetRouteProfileCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -6490,8 +6490,8 @@ func TestDMSetRouteProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetRouteProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetRouteProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -6754,8 +6754,8 @@ func TestDMRemoveRouteProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveRouteProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1RemoveRouteProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -6961,8 +6961,8 @@ func TestDMRemoveAttributeProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveRouteProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1RemoveRouteProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -7171,8 +7171,8 @@ func TestDMRemoveChargerProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveChargerProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1RemoveChargerProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -7219,13 +7219,13 @@ func TestDMRemoveDispatcherProfileGetDispatcherProfileErr(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -7258,13 +7258,13 @@ func TestDMRemoveDispatcherProfileRemoveDispatcherProfileDrvErr(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -7316,13 +7316,13 @@ func TestDMRemoveDispatcherProfileRmvItemFromFiltrIndexErr(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -7346,13 +7346,13 @@ func TestDMRemoveDispatcherProfileRmvIndexFiltersItemErr(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -7389,13 +7389,13 @@ func TestDMRemoveDispatcherProfileReplicate(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -7409,8 +7409,8 @@ func TestDMRemoveDispatcherProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveDispatcherProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1RemoveDispatcherProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -7715,8 +7715,8 @@ func TestDMRemoveRateProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveRateProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1RemoveRateProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -7853,8 +7853,8 @@ func TestDMRemoveActionProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveActionProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1RemoveActionProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -8024,8 +8024,8 @@ func TestDMSetAttributeProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetAttributeProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetAttributeProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -8085,8 +8085,8 @@ func TestDMGetAttributeProfileSetAttributeProfileDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetAttributeProfile: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetAttributeProfile: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -8298,8 +8298,8 @@ func TestDMSetChargerProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetChargerProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetChargerProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -8343,13 +8343,13 @@ func TestDMSetDispatcherProfileCheckFiltersErr(t *testing.T) { FilterIDs: []string{"*string*req.Account1001"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -8379,13 +8379,13 @@ func TestDMSetDispatcherProfileGetDispatcherProfileErr(t *testing.T) { FilterIDs: []string{"*string*req.Account1001"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -8414,13 +8414,13 @@ func TestDMSetDispatcherProfileSetDispatcherProfileDrvErr(t *testing.T) { FilterIDs: []string{"*string*req.Account1001"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -8450,13 +8450,13 @@ func TestDMSetDispatcherProfileUpdatedIndexesErr(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1001"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -8481,13 +8481,13 @@ func TestDMSetDispatcherProfileReplicate(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1001"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -8501,8 +8501,8 @@ func TestDMSetDispatcherProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetDispatcherProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetDispatcherProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -8689,8 +8689,8 @@ func TestDMSetActionProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetActionProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetActionProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -8910,8 +8910,8 @@ func TestDMSetRateProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetRateProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetRateProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -9025,8 +9025,8 @@ func TestDMGetActionProfileSetActionProfileDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetActionProfile: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetActionProfile: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -9075,8 +9075,8 @@ func TestDMGetActionProfileCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -9117,8 +9117,8 @@ func TestDMGetActionProfileCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -9201,8 +9201,8 @@ func TestDMGetAttributeProfileCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -9245,8 +9245,8 @@ func TestDMGetAttributeProfileCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -9386,8 +9386,8 @@ func TestDMSetStatQueueProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1SetStatQueueProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1SetStatQueueProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -9717,8 +9717,8 @@ func TestDMRemoveStatQueueProfileReplicate(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1RemoveStatQueueProfile: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1RemoveStatQueueProfile: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -9764,8 +9764,8 @@ func TestDMGetStatQueueCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -9818,8 +9818,8 @@ func TestDMGetChargerProfileSetChargerProfileDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetChargerProfile: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetChargerProfile: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -9867,8 +9867,8 @@ func TestDMGetChargerProfileCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -9909,8 +9909,8 @@ func TestDMGetChargerProfileCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -9982,13 +9982,13 @@ func TestDMGetDispatcherProfileCacheGet(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1001"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -10030,13 +10030,13 @@ func TestDMGetDispatcherProfileSetDispatcherProfileDrvErr(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1001"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -10050,8 +10050,8 @@ func TestDMGetDispatcherProfileSetDispatcherProfileDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetDispatcherProfile: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetDispatcherProfile: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -10079,13 +10079,13 @@ func TestDMGetDispatcherProfileCacheWriteErr1(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1001"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -10105,8 +10105,8 @@ func TestDMGetDispatcherProfileCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -10149,8 +10149,8 @@ func TestDMGetDispatcherProfileCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -10164,13 +10164,13 @@ func TestDMGetDispatcherProfileCacheWriteErr2(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1001"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, }, @@ -10295,8 +10295,8 @@ func TestDMGetDispatcherHostSetDispatcherHostDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetDispatcherHost: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetDispatcherHost: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -10350,8 +10350,8 @@ func TestDMGetDispatcherHostCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -10394,8 +10394,8 @@ func TestDMGetDispatcherHostCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -10461,8 +10461,8 @@ func TestDMGetItemLoadIDsSetSetLoadIDsDrvErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ReplicatorSv1GetItemLoadIDs: func(ctx *context.Context, args, reply interface{}) error { return nil }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ReplicatorSv1GetItemLoadIDs: func(ctx *context.Context, args, reply any) error { return nil }, }, } @@ -10506,8 +10506,8 @@ func TestDMGetItemLoadIDsCacheWriteErr1(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -10551,8 +10551,8 @@ func TestDMGetItemLoadIDsCacheWriteErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } diff --git a/engine/dispatcherprfl.go b/engine/dispatcherprfl.go index 8a63241f7..5e9eb9f78 100644 --- a/engine/dispatcherprfl.go +++ b/engine/dispatcherprfl.go @@ -33,9 +33,9 @@ import ( type DispatcherHostProfile struct { ID string FilterIDs []string - Weight float64 // applied in case of multiple connections need to be ordered - Params map[string]interface{} // additional parameters stored for a session - Blocker bool // no connection after this one + Weight float64 // applied in case of multiple connections need to be ordered + Params map[string]any // additional parameters stored for a session + Blocker bool // no connection after this one } func (dC *DispatcherHostProfile) Clone() (cln *DispatcherHostProfile) { @@ -48,7 +48,7 @@ func (dC *DispatcherHostProfile) Clone() (cln *DispatcherHostProfile) { cln.FilterIDs = utils.CloneStringSlice(dC.FilterIDs) } if dC.Params != nil { - cln.Params = make(map[string]interface{}) + cln.Params = make(map[string]any) for k, v := range dC.Params { cln.Params[k] = v } @@ -104,7 +104,7 @@ type DispatcherProfile struct { ID string FilterIDs []string Strategy string - StrategyParams map[string]interface{} // ie for distribution, set here the pool weights + StrategyParams map[string]any // ie for distribution, set here the pool weights Weight float64 // used for profile sorting on match Hosts DispatcherHostProfiles // dispatch to these connections } @@ -112,7 +112,7 @@ type DispatcherProfile struct { // DispatcherProfileWithAPIOpts is used in replicatorV1 for dispatcher type DispatcherProfileWithAPIOpts struct { *DispatcherProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (dP *DispatcherProfile) TenantID() string { @@ -137,7 +137,7 @@ type DispatcherHost struct { // DispatcherHostWithOpts is used in replicatorV1 for dispatcher type DispatcherHostWithAPIOpts struct { *DispatcherHost - APIOpts map[string]interface{} + APIOpts map[string]any } // TenantID returns the tenant concatenated with the ID @@ -190,7 +190,7 @@ func (dHPrflIDs DispatcherHostIDs) Clone() (cln DispatcherHostIDs) { return } -func (dP *DispatcherProfile) Set(path []string, val interface{}, newBranch bool, _ string) (err error) { +func (dP *DispatcherProfile) Set(path []string, val any, newBranch bool, _ string) (err error) { switch len(path) { default: return utils.ErrWrongPath @@ -228,7 +228,7 @@ func (dP *DispatcherProfile) Set(path []string, val interface{}, newBranch bool, dP.StrategyParams[path[1]] = val case utils.Hosts: if len(dP.Hosts) == 0 || newBranch { - dP.Hosts = append(dP.Hosts, &DispatcherHostProfile{Params: make(map[string]interface{})}) + dP.Hosts = append(dP.Hosts, &DispatcherHostProfile{Params: make(map[string]any)}) } switch path[1] { case utils.ID: @@ -260,14 +260,14 @@ func (dP *DispatcherProfile) Set(path []string, val interface{}, newBranch bool, return utils.ErrWrongPath } if len(dP.Hosts) == 0 || newBranch { - dP.Hosts = append(dP.Hosts, &DispatcherHostProfile{Params: make(map[string]interface{})}) + dP.Hosts = append(dP.Hosts, &DispatcherHostProfile{Params: make(map[string]any)}) } dP.Hosts[len(dP.Hosts)-1].Params[path[2]] = val } return } -func (dH *DispatcherHost) Set(path []string, val interface{}, newBranch bool, _ string) (err error) { +func (dH *DispatcherHost) Set(path []string, val any, newBranch bool, _ string) (err error) { if len(path) != 1 { return utils.ErrWrongPath } @@ -310,7 +310,7 @@ func (dH *DispatcherHost) Set(path []string, val interface{}, newBranch bool, _ return } -func (dP *DispatcherProfile) Merge(v2 interface{}) { +func (dP *DispatcherProfile) Merge(v2 any) { vi := v2.(*DispatcherProfile) if len(vi.Tenant) != 0 { dP.Tenant = vi.Tenant @@ -363,7 +363,7 @@ func (dspHost *DispatcherHostProfile) Merge(v2 *DispatcherHostProfile) { } } -func (dH *DispatcherHost) Merge(v2 interface{}) { +func (dH *DispatcherHost) Merge(v2 any) { vi := v2.(*DispatcherHost) if len(vi.Tenant) != 0 { dH.Tenant = vi.Tenant @@ -408,13 +408,13 @@ func (dH *DispatcherHost) Merge(v2 interface{}) { func (dH *DispatcherHost) String() string { return utils.ToJSON(dH) } func (dH *DispatcherHost) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = dH.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (dH *DispatcherHost) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (dH *DispatcherHost) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -452,13 +452,13 @@ func (dH *DispatcherHost) FieldAsInterface(fldPath []string) (_ interface{}, err func (dP *DispatcherProfile) String() string { return utils.ToJSON(dP) } func (dP *DispatcherProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = dP.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (dP *DispatcherProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (dP *DispatcherProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: @@ -530,13 +530,13 @@ func (dP *DispatcherProfile) FieldAsInterface(fldPath []string) (_ interface{}, func (dC *DispatcherHostProfile) String() string { return utils.ToJSON(dC) } func (dC *DispatcherHostProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = dC.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (dC *DispatcherHostProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (dC *DispatcherHostProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: diff --git a/engine/dispatcherprfl_test.go b/engine/dispatcherprfl_test.go index 0c4e763b6..de023d370 100644 --- a/engine/dispatcherprfl_test.go +++ b/engine/dispatcherprfl_test.go @@ -33,13 +33,13 @@ func TestDispatcherHostProfileClone(t *testing.T) { ID: "DSP_1", Weight: 30, FilterIDs: []string{"*string:Usage:10"}, - Params: map[string]interface{}{"param1": 1}, + Params: map[string]any{"param1": 1}, } eConn := &DispatcherHostProfile{ ID: "DSP_1", Weight: 30, FilterIDs: []string{"*string:Usage:10"}, - Params: map[string]interface{}{"param1": 1}, + Params: map[string]any{"param1": 1}, } d2Conn := dConn.Clone() d2Conn.ID = "DSP_4" @@ -278,7 +278,7 @@ func TestDispatcherProfileSet(t *testing.T) { FilterIDs: []string{"fltr1", "*string:~*req.Account:1001"}, Weight: 10, Strategy: utils.MetaRandom, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ "opt1": "val1", "opt2": "val1", "opt3": "val1", @@ -289,13 +289,13 @@ func TestDispatcherProfileSet(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 10, Blocker: true, - Params: map[string]interface{}{ + Params: map[string]any{ "param1": "val1", "param2": "val1", }, }, { - Params: map[string]interface{}{ + Params: map[string]any{ "param3": "val1", }, }, @@ -451,7 +451,7 @@ func TestDispatcherProfileAsInterface(t *testing.T) { FilterIDs: []string{"fltr1", "*string:~*req.Account:1001"}, Weight: 10, Strategy: utils.MetaRandom, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ "opt1": "val1", "opt2": "val1", "opt3": "val1", @@ -462,13 +462,13 @@ func TestDispatcherProfileAsInterface(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 10, Blocker: true, - Params: map[string]interface{}{ + Params: map[string]any{ "param1": "val1", "param2": "val1", }, }, { - Params: map[string]interface{}{ + Params: map[string]any{ "param3": "val1", }, }, @@ -621,7 +621,7 @@ func TestDispatcherProfileAsInterface(t *testing.T) { func TestDispatcherProfileMerge(t *testing.T) { dp := &DispatcherProfile{ - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), } exp := &DispatcherProfile{ Tenant: "cgrates.org", @@ -629,20 +629,20 @@ func TestDispatcherProfileMerge(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, { ID: "C2", FilterIDs: []string{"fltr3"}, Weight: 10, - Params: map[string]interface{}{ + Params: map[string]any{ "param3": "value3", }, Blocker: false, @@ -655,20 +655,20 @@ func TestDispatcherProfileMerge(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{}, + Params: map[string]any{}, Blocker: true, }, { ID: "C2", FilterIDs: []string{"fltr3"}, Weight: 10, - Params: map[string]interface{}{ + Params: map[string]any{ "param3": "value3", }, Blocker: false, @@ -681,7 +681,7 @@ func TestDispatcherProfileMerge(t *testing.T) { func TestDispatcherProfileMergeEmptyHostId(t *testing.T) { dp := &DispatcherProfile{ - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Hosts: DispatcherHostProfiles{ { ID: utils.EmptyString, @@ -694,13 +694,13 @@ func TestDispatcherProfileMergeEmptyHostId(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{ + Params: map[string]any{ "param4": "value4", }, Blocker: false, @@ -713,13 +713,13 @@ func TestDispatcherProfileMergeEmptyHostId(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"fltr2"}, Weight: 20, - Params: map[string]interface{}{ + Params: map[string]any{ "param4": "value4", }, Blocker: false, @@ -731,13 +731,13 @@ func TestDispatcherProfileMergeEmptyHostId(t *testing.T) { } func TestDispatcherProfileMergeEqualHosts(t *testing.T) { dp := &DispatcherProfile{ - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"dpFltr1"}, Weight: 20, - Params: map[string]interface{}{ + Params: map[string]any{ "param4": "value4", }, Blocker: false, @@ -750,13 +750,13 @@ func TestDispatcherProfileMergeEqualHosts(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"dpFltr1", "newFltr2"}, Weight: 20, - Params: map[string]interface{}{ + Params: map[string]any{ "param4": "value4", }, Blocker: false, @@ -769,13 +769,13 @@ func TestDispatcherProfileMergeEqualHosts(t *testing.T) { FilterIDs: []string{"fltr1"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C3", FilterIDs: []string{"newFltr2"}, Weight: 20, - Params: map[string]interface{}{ + Params: map[string]any{ "param4": "value4", }, Blocker: false, @@ -947,14 +947,14 @@ func TestDispatcherHostGetConnErr(t *testing.T) { func TestDispatcherHostProfileMerge(t *testing.T) { dspHost := &DispatcherHostProfile{ - Params: map[string]interface{}{ + Params: map[string]any{ "opt1": "val1", }, } dspHostV2 := &DispatcherHostProfile{ ID: "DispatcherId", - Params: map[string]interface{}{ + Params: map[string]any{ "opt1": "val1", "opt2": "val1", @@ -976,7 +976,7 @@ type cMock struct { rcvM string } -func (*cMock) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) error { +func (*cMock) Call(ctx *context.Context, serviceMethod string, args, reply any) error { return nil } func TestDispatcherHostGetConnExistingConn(t *testing.T) { diff --git a/engine/dynamicdp.go b/engine/dynamicdp.go index c2123e1bb..3696d1601 100644 --- a/engine/dynamicdp.go +++ b/engine/dynamicdp.go @@ -69,7 +69,7 @@ var initialDPPrefixes = utils.NewStringSet([]string{ utils.MetaHdr, utils.MetaTrl, utils.MetaCfg, utils.MetaTenant, utils.MetaTmp}) -func (dDP *dynamicDP) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (dDP *dynamicDP) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) == 0 { return nil, utils.ErrNotFound } @@ -84,7 +84,7 @@ func (dDP *dynamicDP) FieldAsInterface(fldPath []string) (val interface{}, err e return } -func (dDP *dynamicDP) fieldAsInterface(fldPath []string) (val interface{}, err error) { +func (dDP *dynamicDP) fieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) < 2 { return nil, fmt.Errorf("invalid fieldname <%s>", fldPath) } @@ -163,7 +163,7 @@ func (dDP *libphonenumberDP) FieldAsString(fldPath []string) (string, error) { return utils.IfaceAsString(val), nil } -func (dDP *libphonenumberDP) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (dDP *libphonenumberDP) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) == 0 { dDP.setDefaultFields() val = dDP.cache @@ -175,7 +175,7 @@ func (dDP *libphonenumberDP) FieldAsInterface(fldPath []string) (val interface{} return } -func (dDP *libphonenumberDP) fieldAsInterface(fldPath []string) (val interface{}, err error) { +func (dDP *libphonenumberDP) fieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) != 1 { return nil, fmt.Errorf("invalid field path <%+v> for libphonenumberDP", fldPath) } diff --git a/engine/dynamicdp_test.go b/engine/dynamicdp_test.go index ca5e92ad3..56538f0b9 100644 --- a/engine/dynamicdp_test.go +++ b/engine/dynamicdp_test.go @@ -319,82 +319,82 @@ func TestLibphonenumberDPfieldAsInterface(t *testing.T) { dDP.pNumber.Extension = utils.StringPointer("+") dDP.pNumber.PreferredDomesticCarrierCode = utils.StringPointer("49 172") - exp := interface{}(pInt) + exp := any(pInt) if rcv, err := dDP.fieldAsInterface([]string{"CountryCode"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}(nNum) + exp = any(nNum) if rcv, err := dDP.fieldAsInterface([]string{"NationalNumber"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}("DE") + exp = any("DE") if rcv, err := dDP.fieldAsInterface([]string{"Region"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}(phonenumbers.PhoneNumberType(11)) + exp = any(phonenumbers.PhoneNumberType(11)) if rcv, err := dDP.fieldAsInterface([]string{"NumberType"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v><%t>", exp, rcv, rcv) } - exp = interface{}("Deutschland") + exp = any("Deutschland") if rcv, err := dDP.fieldAsInterface([]string{"GeoLocation"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}("Vodafone") + exp = any("Vodafone") if rcv, err := dDP.fieldAsInterface([]string{"Carrier"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v><%T>", exp, rcv, rcv) } - exp = interface{}(0) + exp = any(0) if rcv, err := dDP.fieldAsInterface([]string{"LengthOfNationalDestinationCode"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}("+49 17222020") + exp = any("+49 17222020") if rcv, err := dDP.fieldAsInterface([]string{"RawInput"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}("+") + exp = any("+") if rcv, err := dDP.fieldAsInterface([]string{"Extension"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}(leadingZeros) + exp = any(leadingZeros) if rcv, err := dDP.fieldAsInterface([]string{"NumberOfLeadingZeros"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}(false) + exp = any(false) if rcv, err := dDP.fieldAsInterface([]string{"ItalianLeadingZero"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}("49 172") + exp = any("49 172") if rcv, err := dDP.fieldAsInterface([]string{"PreferredDomesticCarrierCode"}); err != nil { t.Error(err) } else if rcv != exp { t.Errorf("Expected <%+v>, Received <%v>", exp, rcv) } - exp = interface{}(phonenumbers.PhoneNumber_FROM_NUMBER_WITH_PLUS_SIGN) + exp = any(phonenumbers.PhoneNumber_FROM_NUMBER_WITH_PLUS_SIGN) if rcv, err := dDP.fieldAsInterface([]string{"CountryCodeSource"}); err != nil { t.Error(err) } else if !reflect.DeepEqual(rcv, exp) { @@ -425,7 +425,7 @@ func TestDynamicDPfieldAsInterfaceMetaLibPhoneNumber(t *testing.T) { if err != nil { t.Error(err) } - exp := interface{}(expAsField) + exp := any(expAsField) if rcv, err := dDP.fieldAsInterface([]string{utils.MetaLibPhoneNumber, "+4917642092123"}); err != nil { t.Error(err) } else if !reflect.DeepEqual(rcv, exp) { @@ -479,8 +479,8 @@ func TestDynamicDPfieldAsInterfaceErrMetaStats(t *testing.T) { cfg := config.NewDefaultCGRConfig() cc := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.StatSv1GetQueueDecimalMetrics: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.StatSv1GetQueueDecimalMetrics: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, @@ -510,8 +510,8 @@ func TestDynamicDPfieldAsInterfaceErrMetaResources(t *testing.T) { cfg := config.NewDefaultCGRConfig() cc := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ResourceSv1GetResourceWithConfig: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ResourceSv1GetResourceWithConfig: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, @@ -541,8 +541,8 @@ func TestDynamicDPfieldAsInterfaceErrMetaAccounts(t *testing.T) { cfg := config.NewDefaultCGRConfig() cc := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1GetAccount: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1GetAccount: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, @@ -599,8 +599,8 @@ func TestDynamicDPfieldAsInterfaceMetaAccounts(t *testing.T) { } cc := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1GetAccount: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1GetAccount: func(ctx *context.Context, args, reply any) error { rplCast, canCast := reply.(*utils.Account) if !canCast { t.Errorf("Wrong argument type : %T", reply) @@ -668,8 +668,8 @@ func TestDynamicDPfieldAsInterfaceMetaResources(t *testing.T) { } cc := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ResourceSv1GetResourceWithConfig: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ResourceSv1GetResourceWithConfig: func(ctx *context.Context, args, reply any) error { rplCast, canCast := reply.(*ResourceWithConfig) if !canCast { t.Errorf("Wrong argument type : %T", reply) @@ -715,8 +715,8 @@ func TestDynamicDPfieldAsInterfaceMetaStats(t *testing.T) { } cc := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.StatSv1GetQueueDecimalMetrics: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.StatSv1GetQueueDecimalMetrics: func(ctx *context.Context, args, reply any) error { rplCast, canCast := reply.(*map[string]*utils.Decimal) if !canCast { t.Errorf("Wrong argument type : %T", reply) diff --git a/engine/exportrequest.go b/engine/exportrequest.go index 88413d0b9..17f745956 100644 --- a/engine/exportrequest.go +++ b/engine/exportrequest.go @@ -55,7 +55,7 @@ func (eeR *ExportRequest) String() string { } // FieldAsInterface implements utils.DataProvider -func (eeR *ExportRequest) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (eeR *ExportRequest) FieldAsInterface(fldPath []string) (val any, err error) { switch fldPath[0] { default: var dp utils.DataProvider @@ -88,7 +88,7 @@ func (eeR *ExportRequest) FieldAsInterface(fldPath []string) (val interface{}, e // FieldAsString implements utils.DataProvider func (eeR *ExportRequest) FieldAsString(fldPath []string) (val string, err error) { - var iface interface{} + var iface any if iface, err = eeR.FieldAsInterface(fldPath); err != nil { return } @@ -105,7 +105,7 @@ func (eeR *ExportRequest) SetFields(ctx *context.Context, tplFlds []*config.FCTe continue } - var out interface{} + var out any out, err = eeR.ParseField(tplFld) if err != nil { if err == utils.ErrNotFound { @@ -167,7 +167,7 @@ func (eeR *ExportRequest) SetAsSlice(fullPath *utils.FullPath, val *utils.DataLe // ParseField outputs the value based on the template item func (eeR *ExportRequest) ParseField( - cfgFld *config.FCTemplate) (out interface{}, err error) { + cfgFld *config.FCTemplate) (out any, err error) { tmpType := cfgFld.Type switch tmpType { case utils.MetaFiller: @@ -215,7 +215,7 @@ func (eeR *ExportRequest) Compose(fullPath *utils.FullPath, val *utils.DataLeaf) switch prfx := fullPath.PathSlice[0]; prfx { case utils.MetaUCH: path := fullPath.Path[5:] - var prv interface{} + var prv any if prvI, ok := Cache.Get(utils.CacheUCH, path); !ok { prv = val.Data } else { @@ -223,7 +223,7 @@ func (eeR *ExportRequest) Compose(fullPath *utils.FullPath, val *utils.DataLeaf) } return Cache.Set(context.TODO(), utils.CacheUCH, path, prv, nil, true, utils.NonTransactional) case utils.MetaOpts: - var prv interface{} + var prv any if prv, err = eeR.inData[utils.MetaOpts].FieldAsInterface(fullPath.PathSlice[1:]); err != nil { if err != utils.ErrNotFound { return diff --git a/engine/filterhelpers.go b/engine/filterhelpers.go index 48293ea50..c2b7164b8 100644 --- a/engine/filterhelpers.go +++ b/engine/filterhelpers.go @@ -57,7 +57,7 @@ func MatchingItemIDsForEvent(ctx *context.Context, ev utils.MapStorage, stringFl fieldIDs = &allFieldIDs } for _, fldName := range *fieldIDs { - var fieldValIf interface{} + var fieldValIf any fieldValIf, err = ev.FieldAsInterface(utils.SplitPath(fldName, utils.NestingSep[0], -1)) if err == nil && filterIndexTypes[i] == utils.MetaNotExists { continue // field should not exist in our event in order to check index diff --git a/engine/filterhelpers_test.go b/engine/filterhelpers_test.go index e32b62887..7f5f24fa3 100644 --- a/engine/filterhelpers_test.go +++ b/engine/filterhelpers_test.go @@ -100,7 +100,7 @@ func TestBlockerFromDynamicsErr(t *testing.T) { func TestMatchingItemIDsForEventGetKeysForPrefixErr(t *testing.T) { - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "Field": "profile", }} @@ -119,7 +119,7 @@ func TestMatchingItemIDsForEventGetKeysForPrefixErr(t *testing.T) { } func TestMatchingItemIDsForEventFilterIndexTypeNotNone(t *testing.T) { - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "Fiel..d": "profile", }} diff --git a/engine/filters.go b/engine/filters.go index c7eddd2d2..9833a3506 100644 --- a/engine/filters.go +++ b/engine/filters.go @@ -203,7 +203,7 @@ type Filter struct { // FilterWithOpts the arguments for the replication type FilterWithAPIOpts struct { *Filter - APIOpts map[string]interface{} + APIOpts map[string]any } // TenantID returns the tenant wit the ID @@ -714,7 +714,7 @@ func (fltr *FilterRule) passNever(dDP utils.DataProvider) (bool, error) { return false, nil } -func (fltr *Filter) Set(path []string, val interface{}, newBranch bool, _ string) (err error) { +func (fltr *Filter) Set(path []string, val any, newBranch bool, _ string) (err error) { switch len(path) { default: return utils.ErrWrongPath @@ -762,7 +762,7 @@ func (fltr *Filter) Compress() { fltr.Rules = newRules } -func (fltr *Filter) Merge(v2 interface{}) { +func (fltr *Filter) Merge(v2 any) { vi := v2.(*Filter) if len(vi.Tenant) != 0 { fltr.Tenant = vi.Tenant @@ -779,13 +779,13 @@ func (fltr *Filter) Merge(v2 interface{}) { func (fltr *Filter) String() string { return utils.ToJSON(fltr) } func (fltr *Filter) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = fltr.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (fltr *Filter) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (fltr *Filter) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: @@ -820,13 +820,13 @@ func (fltr *Filter) FieldAsInterface(fldPath []string) (_ interface{}, err error func (fltr *FilterRule) String() string { return utils.ToJSON(fltr) } func (fltr *FilterRule) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = fltr.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (fltr *FilterRule) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (fltr *FilterRule) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } diff --git a/engine/filters_test.go b/engine/filters_test.go index a3ad89804..dae11d12d 100644 --- a/engine/filters_test.go +++ b/engine/filters_test.go @@ -42,7 +42,7 @@ func TestRatesCostFiltering(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEv1", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", "OriginID": "TestEv1", @@ -51,13 +51,13 @@ func TestRatesCostFiltering(t *testing.T) { "ToR": "*voice", "Usage": 60000000000, }, - APIOpts: map[string]interface{}{ - utils.MetaRateSCost: map[string]interface{}{ + APIOpts: map[string]any{ + utils.MetaRateSCost: map[string]any{ utils.Cost: 0.4, - "CostIntervals": []map[string]interface{}{ + "CostIntervals": []map[string]any{ { "CompressFactor": 1, - "Increments": []map[string]interface{}{ + "Increments": []map[string]any{ { "CompressFactor": 2, "RateID": "Rate1", @@ -68,8 +68,8 @@ func TestRatesCostFiltering(t *testing.T) { }, }, "ID": "RT_RETAIL1", - "Rates": map[string]interface{}{ - "Rate1": map[string]interface{}{ + "Rates": map[string]any{ + "Rate1": map[string]any{ "Increment": 30000000000, "IntervalStart": 0, "RecurrentFee": 0.4, @@ -392,10 +392,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { cfg: cfg, dm: dmFilterPass, } - failEvent := map[string]interface{}{ + failEvent := map[string]any{ "Account": "1001", } - passEvent := map[string]interface{}{ + passEvent := map[string]any{ "Account": "1007", } fEv := utils.MapStorage{} @@ -427,10 +427,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ "Account": "2001", } - passEvent = map[string]interface{}{ + passEvent = map[string]any{ "Account": "1007", } fEv = utils.MapStorage{} @@ -468,10 +468,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ "Tenant": "anotherTenant.org", } - passEvent = map[string]interface{}{ + passEvent = map[string]any{ "Tenant": "cgrates.org", } fEv = utils.MapStorage{} @@ -497,10 +497,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ utils.Weight: 10, } - passEvent = map[string]interface{}{ + passEvent = map[string]any{ utils.Weight: 20, } fEv = utils.MapStorage{} @@ -520,7 +520,7 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", true, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ "EmptyString": "nonEmpty", "EmptySlice": []string{""}, "EmptyMap": map[string]string{"": ""}, @@ -528,7 +528,7 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { "EmptyPtrMap": &map[string]string{"": ""}, } var testnil *struct{} = nil - passEvent = map[string]interface{}{ + passEvent = map[string]any{ "EmptyString": "", "EmptySlice": []string{}, "EmptyMap": map[string]string{}, @@ -569,10 +569,10 @@ func TestInlineFilterPassFiltersForEvent(t *testing.T) { t.Errorf("For NewKey expecting: %+v, received: %+v", true, pass) } - failEvent = map[string]interface{}{ + failEvent = map[string]any{ "Account": "1001", } - passEvent = map[string]interface{}{ + passEvent = map[string]any{ "Account": "1007", } fEv = utils.MapStorage{} @@ -643,13 +643,13 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { cfg: cfg, dm: dmFilterPass, } - passEvent1 := map[string]interface{}{ + passEvent1 := map[string]any{ utils.Tenant: "cgrates.org", utils.AccountField: "1010", utils.Destination: "+49", utils.Weight: 10, } - passEvent2 := map[string]interface{}{ + passEvent2 := map[string]any{ utils.Tenant: "itsyscom.com", utils.AccountField: "dan", utils.Destination: "+4986517174963", @@ -671,7 +671,7 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { } else if !pass { t.Errorf("Expecting: %+v, received: %+v", true, pass) } - ev := map[string]interface{}{ + ev := map[string]any{ "Test": "MultipleCharacter", } pEv := utils.MapStorage{} @@ -682,7 +682,7 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - ev = map[string]interface{}{ + ev = map[string]any{ "Test": "MultipleCharacter123456789MoreThan30Character", } pEv = utils.MapStorage{} @@ -694,8 +694,8 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", true, pass) } - ev = map[string]interface{}{ - "Test": map[string]interface{}{ + ev = map[string]any{ + "Test": map[string]any{ "Test2": "MultipleCharacter", }, } @@ -707,8 +707,8 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { } else if pass { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - ev = map[string]interface{}{ - "Test": map[string]interface{}{ + ev = map[string]any{ + "Test": map[string]any{ "Test2": "MultipleCharacter123456789MoreThan30Character", }, } @@ -721,7 +721,7 @@ func TestPassFiltersForEventWithEmptyFilter(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", false, pass) } - ev = map[string]interface{}{ + ev = map[string]any{ utils.AccountField: "1003", utils.Subject: "1003", utils.Destination: "1002", @@ -752,7 +752,7 @@ func TestPassFilterMaxCost(t *testing.T) { dm: dmFilterPass, } //check with max usage -1 should fail - passEvent1 := map[string]interface{}{ + passEvent1 := map[string]any{ "MaxUsage": -1, } pEv := utils.MapStorage{} @@ -764,7 +764,7 @@ func TestPassFilterMaxCost(t *testing.T) { t.Errorf("Expecting: false , received: %+v", pass) } //check with max usage 0 should fail - passEvent2 := map[string]interface{}{ + passEvent2 := map[string]any{ "MaxUsage": 0, } pEv = utils.MapStorage{} @@ -776,7 +776,7 @@ func TestPassFilterMaxCost(t *testing.T) { t.Errorf("Expecting: false, received: %+v", pass) } //check with max usage 123 should pass - passEvent3 := map[string]interface{}{ + passEvent3 := map[string]any{ "MaxUsage": 123, } pEv = utils.MapStorage{} @@ -804,7 +804,7 @@ func TestPassFilterMissingField(t *testing.T) { dm: dmFilterPass, } - passEvent1 := map[string]interface{}{ + passEvent1 := map[string]any{ "test": "call", } pEv := utils.MapStorage{} @@ -816,7 +816,7 @@ func TestPassFilterMissingField(t *testing.T) { t.Errorf("Expecting: true , received: %+v", pass) } - passEvent2 := map[string]interface{}{ + passEvent2 := map[string]any{ "Category": "", } pEv = utils.MapStorage{} @@ -828,7 +828,7 @@ func TestPassFilterMissingField(t *testing.T) { t.Errorf("Expecting: true , received: %+v", pass) } - passEvent3 := map[string]interface{}{ + passEvent3 := map[string]any{ "Category": "call", } pEv = utils.MapStorage{} @@ -901,7 +901,7 @@ func TestPassPartial(t *testing.T) { cfg: cfg, dm: dmFilterPass, } - passEvent := map[string]interface{}{ + passEvent := map[string]any{ "Account": "1007", } fEv := utils.MapStorage{} @@ -981,7 +981,7 @@ func TestActivationIntervalPass(t *testing.T) { cfg: cfg, dm: dmFilterPass, } - passEvent := map[string]interface{}{ + passEvent := map[string]any{ "CustomTime": time.Date(2013, time.July, 1, 0, 0, 0, 0, time.UTC), } fEv := utils.MapStorage{} @@ -1359,7 +1359,7 @@ func TestFiltersPassGreaterThanErrIncomparable(t *testing.T) { t.Fatal(err) } ev := utils.MapStorage{ - utils.MetaReq: map[string]interface{}{ + utils.MetaReq: map[string]any{ utils.Usage: nil, }, } @@ -2078,7 +2078,7 @@ func TestPassPartialErr(t *testing.T) { cfg: cfg, dm: dmFilterPass, } - passEvent := map[string]interface{}{ + passEvent := map[string]any{ "Account": "1007", } fEv := utils.MapStorage{} diff --git a/engine/kafka_logger.go b/engine/kafka_logger.go index 83cd43f5d..bedb46b67 100644 --- a/engine/kafka_logger.go +++ b/engine/kafka_logger.go @@ -88,7 +88,7 @@ func (el *ExportLogger) Close() (err error) { func (el *ExportLogger) call(m string, level int) (err error) { eventExport := &utils.CGREvent{ Tenant: el.Tenant, - Event: map[string]interface{}{ + Event: map[string]any{ utils.NodeID: el.NodeID, utils.Message: m, utils.Severity: level, @@ -261,8 +261,8 @@ func (el *ExportLogger) Warning(m string) (err error) { return } -func (el *ExportLogger) GetMeta() map[string]interface{} { - return map[string]interface{}{ +func (el *ExportLogger) GetMeta() map[string]any { + return map[string]any{ utils.Tenant: el.Tenant, utils.NodeID: el.NodeID, utils.Level: el.LogLevel, diff --git a/engine/kafka_logger_test.go b/engine/kafka_logger_test.go index 69c439845..a8612aee2 100644 --- a/engine/kafka_logger_test.go +++ b/engine/kafka_logger_test.go @@ -139,8 +139,8 @@ func TestExportLoggerCallErrWriter(t *testing.T) { rpcInternal := make(chan birpc.ClientConnector, 1) rpcInternal <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EfSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EfSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -202,8 +202,8 @@ func TestLoggerExportEmergNil(t *testing.T) { // rpcInternal := make(chan birpc.ClientConnector, 1) // rpcInternal <- &ccMock{ -// calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ -// utils.EfSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { +// calls: map[string]func(ctx *context.Context, args any, reply any) error{ +// utils.EfSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { // return nil // }, // }, @@ -249,9 +249,9 @@ func TestLoggerExportEmergNil(t *testing.T) { Cache = NewCacheS(cfg, dm, nil, nil) newCDRSrv := NewCDRServer(cfg, dm, fltrs, cM) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { - *reply.(*map[string]map[string]interface{}) = map[string]map[string]interface{}{} + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { + *reply.(*map[string]map[string]any) = map[string]map[string]any{} return utils.ErrNotFound }, }, @@ -283,13 +283,13 @@ func TestLoggerExportEmergNil(t *testing.T) { Cache = NewCacheS(cfg, nil, nil) cM := NewConnManager(cfg) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { delete(args.(*utils.CGREventWithEeIDs).Event, "Timestamp") exp := &utils.CGREventWithEeIDs{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.NodeID: "123", "Message": "Critical message", "Severity": utils.LOGLEVEL_CRITICAL, @@ -330,13 +330,13 @@ func TestLoggerExportEmergNil(t *testing.T) { // Cache = NewCacheS(cfg, nil, nil, nil) // cM := NewConnManager(cfg) // ccM := &ccMock{ -// calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ -// utils.EfSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { +// calls: map[string]func(ctx *context.Context, args any, reply any) error{ +// utils.EfSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { // delete(args.(*utils.CGREventWithEeIDs).Event, "Timestamp") // exp := &utils.CGREventWithEeIDs{ // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.NodeID: "123", // "Message": "Error message", // "Severity": utils.LOGLEVEL_ERROR, @@ -378,13 +378,13 @@ func TestLoggerExportWarning(t *testing.T) { Cache = NewCacheS(cfg, nil, nil) cM := NewConnManager(cfg) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { delete(args.(*utils.CGREventWithEeIDs).Event, "Timestamp") exp := &utils.CGREventWithEeIDs{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.NodeID: "123", "Message": "Warning message", "Severity": utils.LOGLEVEL_WARNING, @@ -425,13 +425,13 @@ func TestLoggerExportNotice(t *testing.T) { Cache = NewCacheS(cfg, nil, nil) cM := NewConnManager(cfg) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { delete(args.(*utils.CGREventWithEeIDs).Event, "Timestamp") exp := &utils.CGREventWithEeIDs{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.NodeID: "123", "Message": "Notice message", "Severity": utils.LOGLEVEL_NOTICE, @@ -472,13 +472,13 @@ func TestLoggerExportInfo(t *testing.T) { Cache = NewCacheS(cfg, nil, nil) cM := NewConnManager(cfg) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { delete(args.(*utils.CGREventWithEeIDs).Event, "Timestamp") exp := &utils.CGREventWithEeIDs{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.NodeID: "123", "Message": "Info message", "Severity": utils.LOGLEVEL_INFO, @@ -519,13 +519,13 @@ func TestLoggerExportDebug(t *testing.T) { Cache = NewCacheS(cfg, nil, nil) cM := NewConnManager(cfg) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { delete(args.(*utils.CGREventWithEeIDs).Event, "Timestamp") exp := &utils.CGREventWithEeIDs{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.NodeID: "123", "Message": "Debug message", "Severity": utils.LOGLEVEL_DEBUG, @@ -590,13 +590,13 @@ func TestLoggerExportWrite(t *testing.T) { Cache = NewCacheS(cfg, nil, nil) cM := NewConnManager(cfg) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.EeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { delete(args.(*utils.CGREventWithEeIDs).Event, "Timestamp") exp := &utils.CGREventWithEeIDs{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.NodeID: "123", "Message": "message", "Severity": 8, diff --git a/engine/libattributes.go b/engine/libattributes.go index dfff33121..62eee0e24 100644 --- a/engine/libattributes.go +++ b/engine/libattributes.go @@ -53,7 +53,7 @@ type AttributeProfile struct { // AttributeProfileWithAPIOpts is used in replicatorV1 for dispatcher type AttributeProfileWithAPIOpts struct { *AttributeProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (ap *AttributeProfile) compileSubstitutes() (err error) { @@ -108,7 +108,7 @@ type APIAttributeProfile struct { type APIAttributeProfileWithAPIOpts struct { *APIAttributeProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func NewAPIAttributeProfile(attr *AttributeProfile) (ext *APIAttributeProfile) { @@ -191,7 +191,7 @@ func NewAttributeFromInline(tenant, inlnRule string) (attr *AttributeProfile, er return } -func (ap *AttributeProfile) Set(path []string, val interface{}, newBranch bool, rsrSep string) (err error) { +func (ap *AttributeProfile) Set(path []string, val any, newBranch bool, rsrSep string) (err error) { switch len(path) { case 1: switch path[0] { @@ -245,7 +245,7 @@ func (ap *AttributeProfile) Set(path []string, val interface{}, newBranch bool, return } -func (ap *AttributeProfile) Merge(v2 interface{}) { +func (ap *AttributeProfile) Merge(v2 any) { vi := v2.(*AttributeProfile) if len(vi.Tenant) != 0 { ap.Tenant = vi.Tenant @@ -269,13 +269,13 @@ func (ap *AttributeProfile) Merge(v2 interface{}) { func (ap *AttributeProfile) String() string { return utils.ToJSON(ap) } func (ap *AttributeProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = ap.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (ap *AttributeProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (ap *AttributeProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: @@ -322,14 +322,14 @@ func (ap *AttributeProfile) FieldAsInterface(fldPath []string) (_ interface{}, e func (at *Attribute) String() string { return utils.ToJSON(at) } func (at *Attribute) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = at.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (at *Attribute) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (at *Attribute) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } diff --git a/engine/libchargers.go b/engine/libchargers.go index aded7cafe..0013af7bc 100644 --- a/engine/libchargers.go +++ b/engine/libchargers.go @@ -39,7 +39,7 @@ type ChargerProfile struct { // ChargerProfileWithAPIOpts is used in replicatorV1 for dispatcher type ChargerProfileWithAPIOpts struct { *ChargerProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (cP *ChargerProfile) TenantID() string { @@ -54,7 +54,7 @@ func (cps ChargerProfiles) Sort() { sort.Slice(cps, func(i, j int) bool { return cps[i].weight > cps[j].weight }) } -func (cp *ChargerProfile) Set(path []string, val interface{}, newBranch bool, _ string) (err error) { +func (cp *ChargerProfile) Set(path []string, val any, newBranch bool, _ string) (err error) { if len(path) != 1 { return utils.ErrWrongPath } @@ -87,7 +87,7 @@ func (cp *ChargerProfile) Set(path []string, val interface{}, newBranch bool, _ return } -func (cp *ChargerProfile) Merge(v2 interface{}) { +func (cp *ChargerProfile) Merge(v2 any) { vi := v2.(*ChargerProfile) if len(vi.Tenant) != 0 { cp.Tenant = vi.Tenant @@ -106,13 +106,13 @@ func (cp *ChargerProfile) Merge(v2 interface{}) { func (cp *ChargerProfile) String() string { return utils.ToJSON(cp) } func (cp *ChargerProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = cp.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (cp *ChargerProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (cp *ChargerProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } diff --git a/engine/libdynopts.go b/engine/libdynopts.go index f510a2600..1019fb209 100644 --- a/engine/libdynopts.go +++ b/engine/libdynopts.go @@ -177,8 +177,8 @@ func GetBoolOpts(ctx *context.Context, tnt string, dP utils.DataProvider, fS *Fi if err != nil { return false, err } - var opts map[string]interface{} - opts, canCast := values.(map[string]interface{}) + var opts map[string]any + opts, canCast := values.(map[string]any) if !canCast { return false, utils.ErrCastFailed } @@ -223,10 +223,10 @@ func GetDecimalBigOpts(ctx *context.Context, tnt string, ev *utils.CGREvent, fS return dftOpt, nil // return the default value if there are no options and none of the filters pass } -// GetInterfaceOpts checks the specified option names in order among the keys in APIOpts returning the first value it finds as interface{}, otherwise it +// GetInterfaceOpts checks the specified option names in order among the keys in APIOpts returning the first value it finds as any, otherwise it // returns the config option if at least one filter passes or the default value if none of them do func GetInterfaceOpts(ctx *context.Context, tnt string, ev *utils.CGREvent, fS *FilterS, dynOpts []*utils.DynamicInterfaceOpt, - dftOpt interface{}, optNames ...string) (cfgOpt interface{}, err error) { + dftOpt any, optNames ...string) (cfgOpt any, err error) { for _, optName := range optNames { if opt, has := ev.APIOpts[optName]; has { return opt, nil @@ -275,7 +275,7 @@ func GetIntPointerOpts(ctx *context.Context, tnt string, ev *utils.CGREvent, fS // GetDurationPointerOptsFromMultipleMaps checks the specified option names in order among the keys in APIOpts, then in startOpts, returning the first value it finds as *time.Duration, // otherwise it returns the config option if at least one filter passes or NOT_FOUND if none of them do -func GetDurationPointerOptsFromMultipleMaps(ctx *context.Context, tnt string, eventStart, apiOpts, startOpts map[string]interface{}, fS *FilterS, +func GetDurationPointerOptsFromMultipleMaps(ctx *context.Context, tnt string, eventStart, apiOpts, startOpts map[string]any, fS *FilterS, dynOpts []*utils.DynamicDurationPointerOpt, optName string) (cfgOpt *time.Duration, err error) { var value time.Duration if opt, has := apiOpts[optName]; has { @@ -308,7 +308,7 @@ func GetDurationPointerOptsFromMultipleMaps(ctx *context.Context, tnt string, ev // GetDurationOptsFromMultipleMaps checks the specified option names in order among the keys in APIOpts, then in startOpts, returning the first value it finds as time.Duration, // otherwise it returns the config option if at least one filter passes or the default one if none of them do -func GetDurationOptsFromMultipleMaps(ctx *context.Context, tnt string, eventStart, apiOpts, startOpts map[string]interface{}, fS *FilterS, dynOpts []*utils.DynamicDurationOpt, +func GetDurationOptsFromMultipleMaps(ctx *context.Context, tnt string, eventStart, apiOpts, startOpts map[string]any, fS *FilterS, dynOpts []*utils.DynamicDurationOpt, dftOpt time.Duration, optName string) (cfgOpt time.Duration, err error) { var value time.Duration if opt, has := apiOpts[optName]; has { diff --git a/engine/libdynopts_test.go b/engine/libdynopts_test.go index 2057b1eba..4027fc28d 100644 --- a/engine/libdynopts_test.go +++ b/engine/libdynopts_test.go @@ -37,10 +37,10 @@ func TestLibFiltersGetFloat64OptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicFloat64Opt{ // tenant will not be recognized, will ignore this opt @@ -79,10 +79,10 @@ func TestLibFiltersGetFloat64OptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicFloat64Opt{ // function will return error after trying to parse the filter @@ -109,10 +109,10 @@ func TestLibFiltersGetFloat64OptsReturnDefaultOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicFloat64Opt{ // filter will not pass, will ignore this opt @@ -139,10 +139,10 @@ func TestLibFiltersGetFloat64OptsReturnOptFromAPIOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUnits: 6, }, } @@ -173,10 +173,10 @@ func TestLibFiltersGetStringOptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicStringOpt{ // tenant will not be recognized, will ignore this opt @@ -215,10 +215,10 @@ func TestLibFiltersGetStringOptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicStringOpt{ // function will return error after trying to parse the filter @@ -245,10 +245,10 @@ func TestLibFiltersGetStringOptsReturnDefaultOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicStringOpt{ // filter will not pass, will ignore this opt @@ -275,10 +275,10 @@ func TestLibFiltersGetStringOptsReturnOptFromAPIOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "value4", }, } @@ -309,10 +309,10 @@ func TestLibFiltersGetDurationOptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicDurationOpt{ // tenant will not be recognized, will ignore this opt @@ -351,10 +351,10 @@ func TestLibFiltersGetDurationOptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicDurationOpt{ // function will return error after trying to parse the filter @@ -381,10 +381,10 @@ func TestLibFiltersGetDurationOptsReturnDefaultOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicDurationOpt{ // filter will not pass, will ignore this opt @@ -411,10 +411,10 @@ func TestLibFiltersGetDurationOptsReturnOptFromAPIOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageTTL: time.Hour, }, } @@ -445,10 +445,10 @@ func TestLibFiltersGetIntOptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicIntOpt{ // tenant will not be recognized, will ignore this opt @@ -487,10 +487,10 @@ func TestLibFiltersGetIntOptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicIntOpt{ // function will return error after trying to parse the filter @@ -517,10 +517,10 @@ func TestLibFiltersGetIntOptsReturnDefaultOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicIntOpt{ // filter will not pass, will ignore this opt @@ -547,10 +547,10 @@ func TestLibFiltersGetIntOptsReturnOptFromAPIOptsOK(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 6, }, } @@ -581,10 +581,10 @@ func TestLibFiltersGetIntOptsReturnOptFromAPIOptsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: true, }, } @@ -613,10 +613,10 @@ func TestLibFiltersGetTimeOptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicStringOpt{ // tenant will not be recognized, will ignore this opt @@ -655,10 +655,10 @@ func TestLibFiltersGetTimeOptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicStringOpt{ // function will return error after trying to parse the filter @@ -685,10 +685,10 @@ func TestLibFiltersGetTimeOptsReturnDefaultOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicStringOpt{ // filter will not pass, will ignore this opt @@ -719,10 +719,10 @@ func TestLibFiltersGetTimeOptsReturnOptFromAPIOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesStartTime: "*yearly", }, } @@ -759,10 +759,10 @@ func TestLibFiltersGetBoolOptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicBoolOpt{ // tenant will not be recognized, will ignore this opt @@ -801,10 +801,10 @@ func TestLibFiltersGetBoolOptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicBoolOpt{ // function will return error after trying to parse the filter @@ -831,10 +831,10 @@ func TestLibFiltersGetBoolOptsReturnDefaultOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicBoolOpt{ // filter will not pass, will ignore this opt @@ -861,10 +861,10 @@ func TestLibFiltersGetBoolOptsReturnOptFromAPIOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaProfileIgnoreFilters: true, }, } @@ -895,10 +895,10 @@ func TestLibFiltersGetInterfaceOptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicInterfaceOpt{ // tenant will not be recognized, will ignore this opt @@ -937,10 +937,10 @@ func TestLibFiltersGetInterfaceOptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicInterfaceOpt{ // function will return error after trying to parse the filter @@ -967,10 +967,10 @@ func TestLibFiltersGetInterfaceOptsReturnDefaultOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicInterfaceOpt{ // filter will not pass, will ignore this opt @@ -997,10 +997,10 @@ func TestLibFiltersGetInterfaceOptsReturnOptFromAPIOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesMaxCost: 4, }, } @@ -1031,10 +1031,10 @@ func TestLibFiltersGetStringSliceOptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicStringSliceOpt{ // tenant will not be recognized, will ignore this opt @@ -1073,10 +1073,10 @@ func TestLibFiltersGetStringSliceOptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicStringSliceOpt{ // function will return error after trying to parse the filter @@ -1103,10 +1103,10 @@ func TestLibFiltersGetStringSliceOptsReturnDefaultOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicStringSliceOpt{ // filter will not pass, will ignore this opt @@ -1133,10 +1133,10 @@ func TestLibFiltersGetStringSliceOptsReturnOptFromAPIOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{"value4"}, }, } @@ -1167,10 +1167,10 @@ func TestLibFiltersGetDecimalBigOptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicDecimalBigOpt{ // tenant will not be recognized, will ignore this opt @@ -1209,10 +1209,10 @@ func TestLibFiltersGetDecimalBigOptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicDecimalBigOpt{ // function will return error after trying to parse the filter @@ -1239,10 +1239,10 @@ func TestLibFiltersGetDecimalBigOptsReturnDefaultOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicDecimalBigOpt{ // filter will not pass, will ignore this opt @@ -1269,10 +1269,10 @@ func TestLibFiltersGetDecimalBigOptsReturnOptFromAPIOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesUsage: decimal.New(4321, 5), }, } @@ -1303,10 +1303,10 @@ func TestLibFiltersGetIntPointerOptsReturnConfigOpt(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicIntPointerOpt{ // tenant will not be recognized, will ignore this opt @@ -1345,10 +1345,10 @@ func TestLibFiltersGetIntPointerOptsFilterCheckErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicIntPointerOpt{ // function will return error after trying to parse the filter @@ -1375,10 +1375,10 @@ func TestLibFiltersGetIntPointerOptsReturnDft(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } dynOpts := []*utils.DynamicIntPointerOpt{ // filter will not pass, will ignore this opt @@ -1405,10 +1405,10 @@ func TestLibFiltersGetIntPointerOptsReturnOptFromAPIOptsOK(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 6, }, } @@ -1439,10 +1439,10 @@ func TestLibFiltersGetIntPointerOptsReturnOptFromAPIOptsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: true, }, } @@ -1468,11 +1468,11 @@ func TestLibFiltersGetDurationOptsFromMultipleMapsReturnConfigOpt(t *testing.T) dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{} + apiOpts := map[string]any{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationOpt{ // tenant will not be recognized, will ignore this opt { @@ -1507,11 +1507,11 @@ func TestLibFiltersGetDurationOptsFromMultipleMapsFilterCheckErr(t *testing.T) { dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{} + apiOpts := map[string]any{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationOpt{ // function will return error after trying to parse the filter { @@ -1534,11 +1534,11 @@ func TestLibFiltersGetDurationOptsFromMultipleMapsErrNotFound(t *testing.T) { dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{} + apiOpts := map[string]any{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationOpt{ // filter will not pass, will ignore this opt { @@ -1561,13 +1561,13 @@ func TestLibFiltersGetDurationOptsFromMultipleMapsReturnOptFromAPIOptsOK(t *test dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{ + apiOpts := map[string]any{ utils.OptsSesTTL: time.Hour, } - startOpts := map[string]interface{}{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationOpt{ // will never get to this opt because it will return once it // finds the one set in APIOpts @@ -1592,13 +1592,13 @@ func TestLibFiltersGetDurationOptsFromMultipleMapsReturnOptFromAPIOptsErr(t *tes dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{ + apiOpts := map[string]any{ utils.OptsSesTTL: true, } - startOpts := map[string]interface{}{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationOpt{ // will never get to this opt because it will return once it // finds the one set in APIOpts @@ -1621,11 +1621,11 @@ func TestLibFiltersGetDurationOptsFromMultipleMapsReturnOptFromStartOptsOK(t *te dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{ + apiOpts := map[string]any{} + startOpts := map[string]any{ utils.OptsSesTTL: time.Hour, } dynOpts := []*utils.DynamicDurationOpt{ @@ -1652,11 +1652,11 @@ func TestLibFiltersGetDurationOptsFromMultipleMapsReturnOptFromStartOptsErr(t *t dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{ + apiOpts := map[string]any{} + startOpts := map[string]any{ utils.OptsSesTTL: true, } dynOpts := []*utils.DynamicDurationOpt{ @@ -1681,11 +1681,11 @@ func TestLibFiltersGetDurationPointerOptsFromMultipleMapsReturnConfigOpt(t *test dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{} + apiOpts := map[string]any{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationPointerOpt{ // tenant will not be recognized, will ignore this opt { @@ -1720,11 +1720,11 @@ func TestLibFiltersGetDurationPointerOptsFromMultipleMapsFilterCheckErr(t *testi dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{} + apiOpts := map[string]any{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationPointerOpt{ // function will return error after trying to parse the filter { @@ -1747,11 +1747,11 @@ func TestLibFiltersGetDurationPointerOptsFromMultipleMapsReturnDft(t *testing.T) dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{} + apiOpts := map[string]any{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationPointerOpt{ // filter will not pass, will ignore this opt { @@ -1772,13 +1772,13 @@ func TestLibFiltersGetDurationPointerOptsFromMultipleMapsReturnOptFromAPIOptsOK( dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{ + apiOpts := map[string]any{ utils.OptsSesTTLUsage: time.Hour, } - startOpts := map[string]interface{}{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationPointerOpt{ // will never get to this opt because it will return once it // finds the one set in APIOpts @@ -1803,13 +1803,13 @@ func TestLibFiltersGetDurationPointerOptsFromMultipleMapsReturnOptFromAPIOptsErr dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{ + apiOpts := map[string]any{ utils.OptsSesTTLUsage: true, } - startOpts := map[string]interface{}{} + startOpts := map[string]any{} dynOpts := []*utils.DynamicDurationPointerOpt{ // will never get to this opt because it will return once it // finds the one set in APIOpts @@ -1832,11 +1832,11 @@ func TestLibFiltersGetDurationPointerOptsFromMultipleMapsReturnOptFromStartOptsO dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{ + apiOpts := map[string]any{} + startOpts := map[string]any{ utils.OptsSesTTLUsage: time.Hour, } dynOpts := []*utils.DynamicDurationPointerOpt{ @@ -1863,11 +1863,11 @@ func TestLibFiltersGetDurationPointerOptsFromMultipleMapsReturnOptFromStartOptsE dataDB := NewInternalDB(nil, nil, nil) dm := NewDataManager(dataDB, cfg.CacheCfg(), nil) fS := NewFilterS(cfg, nil, dm) - eventStart := map[string]interface{}{ + eventStart := map[string]any{ utils.AccountField: 1001, } - apiOpts := map[string]interface{}{} - startOpts := map[string]interface{}{ + apiOpts := map[string]any{} + startOpts := map[string]any{ utils.OptsSesTTLUsage: true, } dynOpts := []*utils.DynamicDurationPointerOpt{ diff --git a/engine/libengine.go b/engine/libengine.go index a023ee546..2296f1974 100644 --- a/engine/libengine.go +++ b/engine/libengine.go @@ -38,7 +38,7 @@ import ( func NewRPCPool(ctx *context.Context, dispatchStrategy string, keyPath, certPath, caPath string, connAttempts, reconnects int, maxReconnectInterval, connectTimeout, replyTimeout time.Duration, rpcConnCfgs []*config.RemoteHost, internalConnChan chan birpc.ClientConnector, lazyConnect bool, - biRPCClient interface{}, poolID string, connCache *ltcache.Cache) (rpcPool *rpcclient.RPCPool, err error) { + biRPCClient any, poolID string, connCache *ltcache.Cache) (rpcPool *rpcclient.RPCPool, err error) { var rpcClient birpc.ClientConnector var atLestOneConnected bool // If one connected we don't longer return errors rpcPool = rpcclient.NewRPCPool(dispatchStrategy, replyTimeout) @@ -69,7 +69,7 @@ func NewRPCPool(ctx *context.Context, dispatchStrategy string, keyPath, certPath // connCache is used to cache the connection with ID func NewRPCConnection(ctx *context.Context, cfg *config.RemoteHost, keyPath, certPath, caPath string, connAttempts, reconnects int, maxReconnectInterval, connectTimeout, replyTimeout time.Duration, internalConnChan chan birpc.ClientConnector, lazyConnect bool, - biRPCClient interface{}, poolID, connID string, connCache *ltcache.Cache) (client birpc.ClientConnector, err error) { + biRPCClient any, poolID, connID string, connCache *ltcache.Cache) (client birpc.ClientConnector, err error) { var id string if connID != utils.EmptyString { id = poolID + utils.ConcatenatedKeySep + connID @@ -121,7 +121,7 @@ func (s RPCClientSet) GetInternalChanel() chan birpc.ClientConnector { } // Call the implementation of the birpc.ClientConnector interface -func (s RPCClientSet) Call(ctx *context.Context, method string, args interface{}, reply interface{}) error { +func (s RPCClientSet) Call(ctx *context.Context, method string, args any, reply any) error { methodSplit := strings.Split(method, ".") if len(methodSplit) != 2 { return rpcclient.ErrUnsupporteServiceMethod @@ -145,11 +145,11 @@ func (s RPCClientSet) Call(ctx *context.Context, method string, args interface{} return conn.Call(ctx, method, args, reply) } -func NewService(val interface{}) (_ IntService, err error) { +func NewService(val any) (_ IntService, err error) { return NewServiceWithName(val, utils.EmptyString, false) } -func NewServiceWithName(val interface{}, name string, useName bool) (_ IntService, err error) { +func NewServiceWithName(val any, name string, useName bool) (_ IntService, err error) { var srv *birpc.Service if srv, err = birpc.NewService(val, name, useName); err != nil { return @@ -182,7 +182,7 @@ func NewServiceWithName(val interface{}, name string, useName bool) (_ IntServic return s, nil } -func NewDispatcherService(val interface{}) (_ IntService, err error) { +func NewDispatcherService(val any) (_ IntService, err error) { var srv *birpc.Service if srv, err = birpc.NewService(val, utils.EmptyString, false); err != nil { return @@ -283,7 +283,7 @@ func NewDispatcherService(val interface{}) (_ IntService, err error) { type IntService map[string]*birpc.Service -func (s IntService) Call(ctx *context.Context, serviceMethod string, args, reply interface{}) error { +func (s IntService) Call(ctx *context.Context, serviceMethod string, args, reply any) error { service, has := s[strings.Split(serviceMethod, utils.NestingSep)[0]] if !has { return errors.New("rpc: can't find service " + serviceMethod) @@ -291,7 +291,7 @@ func (s IntService) Call(ctx *context.Context, serviceMethod string, args, reply return service.Call(ctx, serviceMethod, args, reply) } -func ping(_ interface{}, _ *context.Context, _ *utils.CGREvent, reply *string) error { +func ping(_ any, _ *context.Context, _ *utils.CGREvent, reply *string) error { *reply = utils.Pong return nil } diff --git a/engine/libengine_test.go b/engine/libengine_test.go index af0527e0a..4a183f78c 100644 --- a/engine/libengine_test.go +++ b/engine/libengine_test.go @@ -107,14 +107,14 @@ func TestLibengineNewRPCConnectionInternal(t *testing.T) { type TestRPCSrvMock struct{} // exported for service -func (TestRPCSrvMock) Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCSrvMock) V1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCSrvMock) V2Do(*context.Context, interface{}, *string) error { return nil } +func (TestRPCSrvMock) Do(*context.Context, any, *string) error { return nil } +func (TestRPCSrvMock) V1Do(*context.Context, any, *string) error { return nil } +func (TestRPCSrvMock) V2Do(*context.Context, any, *string) error { return nil } type TestRPCSrvMockS struct{} // exported for service -func (TestRPCSrvMockS) V1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCSrvMockS) V2Do(*context.Context, interface{}, *string) error { return nil } +func (TestRPCSrvMockS) V1Do(*context.Context, any, *string) error { return nil } +func (TestRPCSrvMockS) V2Do(*context.Context, any, *string) error { return nil } func getMethods(s IntService) (methods map[string][]string) { methods = map[string][]string{} @@ -184,28 +184,28 @@ func TestIntServiceNewService(t *testing.T) { type TestRPCDspMock struct{} // exported for service -func (TestRPCDspMock) AccountSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) ActionSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) AttributeSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) CacheSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) ChargerSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) ConfigSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) DispatcherSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) GuardianSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) RateSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) ReplicatorSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) ResourceSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) RouteSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) SessionSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) StatSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) ThresholdSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) CDRsv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) EeSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) CoreSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) AnalyzerSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) AdminSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) LoaderSv1Do(*context.Context, interface{}, *string) error { return nil } -func (TestRPCDspMock) ServiceManagerv1Do(*context.Context, interface{}, *string) error { return nil } +func (TestRPCDspMock) AccountSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) ActionSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) AttributeSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) CacheSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) ChargerSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) ConfigSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) DispatcherSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) GuardianSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) RateSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) ReplicatorSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) ResourceSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) RouteSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) SessionSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) StatSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) ThresholdSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) CDRsv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) EeSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) CoreSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) AnalyzerSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) AdminSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) LoaderSv1Do(*context.Context, any, *string) error { return nil } +func (TestRPCDspMock) ServiceManagerv1Do(*context.Context, any, *string) error { return nil } func TestIntServiceNewDispatcherService(t *testing.T) { expErrMsg := `rpc.Register: no service name for type struct {}` @@ -358,8 +358,8 @@ func TestRPCClientSetCallErrCtxTimeOut(t *testing.T) { cfg.GeneralCfg().ConnectTimeout = 1 * time.Millisecond config.SetCgrConfig(cfg) - var args interface{} - var reply interface{} + var args any + var reply any expErr := "context deadline exceeded" if err := s.Call(context.Background(), "test.bad", args, reply); err == nil || expErr != err.Error() { t.Errorf("Expected error <%v>, Received error <%v>", expErr, err) @@ -374,8 +374,8 @@ func TestRPCClientSetCallErrBadMethod(t *testing.T) { "test": connChan, } - var args interface{} - var reply interface{} + var args any + var reply any expErr := rpcclient.ErrUnsupporteServiceMethod if err := s.Call(context.Background(), "bad method", args, reply); err == nil || expErr != err { t.Errorf("Expected error <%v>, Received error <%v>", expErr, err) @@ -390,8 +390,8 @@ func TestRPCClientSetCallErr2BadMethod(t *testing.T) { "test": connChan, } - var args interface{} - var reply interface{} + var args any + var reply any expErr := rpcclient.ErrUnsupporteServiceMethod if err := s.Call(context.Background(), "bad.method", args, reply); err == nil || expErr != err { t.Errorf("Expected error <%v>, Received error <%v>", expErr, err) diff --git a/engine/libindex_health.go b/engine/libindex_health.go index e1c5d08b8..6ef4d5382 100644 --- a/engine/libindex_health.go +++ b/engine/libindex_health.go @@ -41,7 +41,7 @@ type IndexHealthArgs struct { FilterCacheLimit int FilterCacheTTL time.Duration FilterCacheStaticTTL bool - APIOpts map[string]interface{} // Only for dispatcher. + APIOpts map[string]any // Only for dispatcher. } type FilterIHReply struct { diff --git a/engine/libindex_test.go b/engine/libindex_test.go index 0f7fa2c85..11551f617 100644 --- a/engine/libindex_test.go +++ b/engine/libindex_test.go @@ -2066,7 +2066,7 @@ func TestUpdateFilterIndexActionProfilesIndex(t *testing.T) { FilterIDs: []string{"FLTR1", "FLTR2", "FLTR3"}, TTL: time.Minute, Type: "type2", - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "value1", "key2": "value2", }, @@ -2482,13 +2482,13 @@ func TestUpdateFilterIndexDispatcherIndex(t *testing.T) { FilterIDs: []string{"fltr_test"}, Weight: 65, Strategy: utils.MetaLoad, - StrategyParams: map[string]interface{}{"k": "v"}, + StrategyParams: map[string]any{"k": "v"}, Hosts: DispatcherHostProfiles{ { ID: "C2", FilterIDs: []string{"fltr3"}, Weight: 10, - Params: map[string]interface{}{ + Params: map[string]any{ "param3": "value3", }, Blocker: false, @@ -2699,8 +2699,8 @@ func TestRemoveIndexFiltersItemCacheRemoveErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -2772,8 +2772,8 @@ func TestAddIndexFiltersItemCacheRemoveErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -2886,8 +2886,8 @@ func TestAddItemToFilterIndexCacheRemoveErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, @@ -2934,8 +2934,8 @@ func TestRemoveItemFromFilterIndexCacheRemoveErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, diff --git a/engine/libroutes.go b/engine/libroutes.go index c307e4fc6..4eac07645 100644 --- a/engine/libroutes.go +++ b/engine/libroutes.go @@ -32,7 +32,7 @@ import ( type SortedRoute struct { RouteID string RouteParameters string - SortingData map[string]interface{} // store here extra info like cost or stats (can contain the data that we do not use to sort after) + SortingData map[string]any // store here extra info like cost or stats (can contain the data that we do not use to sort after) sortingDataDecimal map[string]*utils.Decimal // only the data we sort after } diff --git a/engine/libroutes_test.go b/engine/libroutes_test.go index 9ab9b78c3..ae58268e5 100644 --- a/engine/libroutes_test.go +++ b/engine/libroutes_test.go @@ -72,7 +72,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -84,7 +84,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 20.0, }, @@ -96,7 +96,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.05), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.Weight: 10.0, }, @@ -113,7 +113,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.05), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.Weight: 10.0, }, @@ -125,7 +125,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 20.0, }, @@ -137,7 +137,7 @@ func TestLibSuppliersSortCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -159,7 +159,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -169,7 +169,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -179,7 +179,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.5), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.5, }, RouteParameters: "param3", @@ -194,7 +194,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -204,7 +204,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.5), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.5, }, RouteParameters: "param3", @@ -214,7 +214,7 @@ func TestLibRoutesSortWeight(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -237,7 +237,7 @@ func TestSortedRoutesDigest(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -247,7 +247,7 @@ func TestSortedRoutesDigest(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -271,7 +271,7 @@ func TestSortedRoutesDigest2(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(30.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 30.0, }, RouteParameters: "param1", @@ -281,7 +281,7 @@ func TestSortedRoutesDigest2(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -317,7 +317,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(15.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 15.0, }, @@ -329,7 +329,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.2), utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.2, utils.Weight: 20.0, }, @@ -341,7 +341,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.05), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.Weight: 10.0, }, @@ -358,7 +358,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.2), utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.2, utils.Weight: 20.0, }, @@ -370,7 +370,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(15.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 15.0, }, @@ -382,7 +382,7 @@ func TestLibRoutesSortHighestCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.05), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.Weight: 10.0, }, @@ -409,7 +409,7 @@ func TestLibRoutesSortQOS(t *testing.T) { utils.MetaACD: utils.NewDecimalFromFloat64(0.5), utils.MetaTCD: utils.NewDecimalFromFloat64(1.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.5, utils.Weight: 10.0, utils.MetaACD: 0.5, @@ -425,7 +425,7 @@ func TestLibRoutesSortQOS(t *testing.T) { utils.MetaACD: utils.NewDecimalFromFloat64(0.5), utils.MetaTCD: utils.NewDecimalFromFloat64(4.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 15.0, utils.MetaACD: 0.5, @@ -441,7 +441,7 @@ func TestLibRoutesSortQOS(t *testing.T) { utils.MetaACD: utils.NewDecimalFromFloat64(0.4), utils.MetaTCD: utils.NewDecimalFromFloat64(5.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 1.1, utils.Weight: 17.8, utils.MetaACD: 0.4, @@ -477,7 +477,7 @@ func TestLibRoutesSortQOS2(t *testing.T) { utils.MetaACD: utils.NewDecimalFromFloat64(0.5), utils.MetaTCD: utils.NewDecimalFromFloat64(1.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, utils.MetaACD: 0.5, utils.MetaTCD: 1.1, @@ -493,7 +493,7 @@ func TestLibRoutesSortQOS2(t *testing.T) { utils.MetaACD: utils.NewDecimalFromFloat64(0.5), utils.MetaTCD: utils.NewDecimalFromFloat64(1.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 17.0, utils.MetaACD: 0.5, utils.MetaTCD: 1.1, @@ -507,7 +507,7 @@ func TestLibRoutesSortQOS2(t *testing.T) { utils.MetaACD: utils.NewDecimalFromFloat64(0.7), utils.MetaTCD: utils.NewDecimalFromFloat64(1.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.5, utils.Weight: 10.0, utils.MetaACD: 0.7, @@ -543,7 +543,7 @@ func TestLibRoutesSortQOS3(t *testing.T) { utils.MetaPDD: utils.NewDecimalFromFloat64(0.7), utils.MetaTCD: utils.NewDecimalFromFloat64(1.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.MetaPDD: 0.7, utils.MetaTCD: 1.1, @@ -557,7 +557,7 @@ func TestLibRoutesSortQOS3(t *testing.T) { utils.MetaPDD: utils.NewDecimalFromFloat64(1.2), utils.MetaTCD: utils.NewDecimalFromFloat64(1.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, utils.MetaPDD: 1.2, utils.MetaTCD: 1.1, @@ -571,7 +571,7 @@ func TestLibRoutesSortQOS3(t *testing.T) { utils.MetaPDD: utils.NewDecimalFromFloat64(0.7), utils.MetaTCD: utils.NewDecimalFromFloat64(10.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, utils.MetaPDD: 0.7, utils.MetaTCD: 10.1, @@ -602,7 +602,7 @@ func TestLibRoutesSortQOS4(t *testing.T) { utils.MetaTCD: utils.NewDecimalFromFloat64(15.0), utils.MetaASR: utils.NewDecimalFromFloat64(1.2), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.2, utils.MetaTCD: 15.0, utils.MetaASR: 1.2, @@ -615,7 +615,7 @@ func TestLibRoutesSortQOS4(t *testing.T) { utils.MetaTCD: utils.NewDecimalFromFloat64(20.0), utils.MetaASR: utils.NewDecimalFromFloat64(-1.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.2, utils.MetaTCD: 20.0, utils.MetaASR: -1.0, @@ -628,7 +628,7 @@ func TestLibRoutesSortQOS4(t *testing.T) { utils.MetaTCD: utils.NewDecimalFromFloat64(10.0), utils.MetaASR: utils.NewDecimalFromFloat64(1.2), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.1, utils.MetaTCD: 10.0, utils.MetaASR: 1.2, @@ -660,7 +660,7 @@ func TestLibRoutesSortQOS5(t *testing.T) { utils.MetaASR: utils.NewDecimalFromFloat64(-1.0), utils.MetaTCC: utils.NewDecimalFromFloat64(10.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.2, utils.MetaTCD: 15.0, utils.MetaASR: -1.0, @@ -675,7 +675,7 @@ func TestLibRoutesSortQOS5(t *testing.T) { utils.MetaASR: utils.NewDecimalFromFloat64(1.2), utils.MetaTCC: utils.NewDecimalFromFloat64(10.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.2, utils.MetaTCD: 20.0, utils.MetaASR: 1.2, @@ -690,7 +690,7 @@ func TestLibRoutesSortQOS5(t *testing.T) { utils.MetaASR: utils.NewDecimalFromFloat64(1.2), utils.MetaTCC: utils.NewDecimalFromFloat64(10.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 0.1, utils.MetaTCD: 10.0, utils.MetaASR: 1.2, @@ -721,7 +721,7 @@ func TestLibRoutesSortQOS6(t *testing.T) { utils.Weight: utils.NewDecimalFromFloat64(15.0), utils.MetaACD: utils.NewDecimalFromFloat64(0.2), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.MetaACD: 0.2, }, @@ -732,7 +732,7 @@ func TestLibRoutesSortQOS6(t *testing.T) { utils.Weight: utils.NewDecimalFromFloat64(25.0), utils.MetaACD: utils.NewDecimalFromFloat64(0.2), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.MetaACD: 0.2, }, @@ -743,7 +743,7 @@ func TestLibRoutesSortQOS6(t *testing.T) { utils.Weight: utils.NewDecimalFromFloat64(20.0), utils.MetaACD: utils.NewDecimalFromFloat64(0.1), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, utils.MetaACD: 0.1, }, @@ -772,7 +772,7 @@ func TestLibRoutesSortQOS7(t *testing.T) { utils.Weight: utils.NewDecimalFromFloat64(15.0), utils.MetaACD: utils.NewDecimalFromFloat64(-1.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.MetaACD: -1.0, }, @@ -783,7 +783,7 @@ func TestLibRoutesSortQOS7(t *testing.T) { utils.Weight: utils.NewDecimalFromFloat64(25.0), utils.MetaACD: utils.NewDecimalFromFloat64(-1.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.MetaACD: -1.0, }, @@ -794,7 +794,7 @@ func TestLibRoutesSortQOS7(t *testing.T) { utils.Weight: utils.NewDecimalFromFloat64(20.0), utils.MetaACD: utils.NewDecimalFromFloat64(-1.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, utils.MetaACD: -1.0, }, @@ -823,7 +823,7 @@ func TestLibRoutesSortQOS8(t *testing.T) { utils.Weight: utils.NewDecimalFromFloat64(15.0), utils.MetaACD: utils.NewDecimalFromFloat64(-1.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.MetaACD: -1.0, }, @@ -834,7 +834,7 @@ func TestLibRoutesSortQOS8(t *testing.T) { utils.Weight: utils.NewDecimalFromFloat64(25.0), utils.MetaACD: utils.NewDecimalFromFloat64(-1.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.MetaACD: -1.0, }, @@ -845,7 +845,7 @@ func TestLibRoutesSortQOS8(t *testing.T) { utils.Weight: utils.NewDecimalFromFloat64(20.0), utils.MetaACD: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, utils.MetaACD: 10.0, }, @@ -875,7 +875,7 @@ func TestLibRoutesSortLoadDistribution(t *testing.T) { utils.Ratio: utils.NewDecimalFromFloat64(4.0), utils.Load: utils.NewDecimalFromFloat64(3.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.Ratio: 4.0, utils.Load: 3.0, @@ -888,7 +888,7 @@ func TestLibRoutesSortLoadDistribution(t *testing.T) { utils.Ratio: utils.NewDecimalFromFloat64(10.0), utils.Load: utils.NewDecimalFromFloat64(5.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 15.0, utils.Ratio: 10.0, utils.Load: 5.0, @@ -901,7 +901,7 @@ func TestLibRoutesSortLoadDistribution(t *testing.T) { utils.Ratio: utils.NewDecimalFromFloat64(1.0), utils.Load: utils.NewDecimalFromFloat64(1.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 25.0, utils.Ratio: 1.0, utils.Load: 1.0, @@ -925,7 +925,7 @@ func TestLibRoutesLCSameWeight(t *testing.T) { sSpls := &SortedRoutes{} sortedSlice := &SortedRoutes{} for i := 0; i <= 10; i++ { - route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]interface{}{ + route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }} @@ -947,7 +947,7 @@ func TestLibRoutesHCSameWeight(t *testing.T) { sSpls := &SortedRoutes{} sortedSlice := &SortedRoutes{} for i := 0; i <= 10; i++ { - route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]interface{}{ + route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }} @@ -975,7 +975,7 @@ func TestLibRoutesResAscSameWeight(t *testing.T) { utils.ResourceUsage: utils.NewDecimalFromFloat64(5.0), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 5.0, utils.Weight: 10.0, }, @@ -1004,7 +1004,7 @@ func TestLibRoutesResDescSameWeight(t *testing.T) { utils.ResourceUsage: utils.NewDecimalFromFloat64(5.0), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 5.0, utils.Weight: 10.0, }, @@ -1035,7 +1035,7 @@ func TestLibRoutesLoadDistSameWeight(t *testing.T) { utils.Load: utils.NewDecimalFromFloat64(3.0), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 4.0, utils.Load: 3.0, utils.Weight: 10.0, @@ -1059,7 +1059,7 @@ func TestLibRoutesQOSSameWeight(t *testing.T) { sSpls := &SortedRoutes{} sortedSlice := &SortedRoutes{} for i := 0; i <= 10; i++ { - route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]interface{}{ + route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]any{ utils.Weight: 10.0, utils.MetaACD: -1.0, }} @@ -1081,7 +1081,7 @@ func TestLibRoutesSameWeight(t *testing.T) { sSpls := &SortedRoutes{} sortedSlice := &SortedRoutes{} for i := 0; i <= 10; i++ { - route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]interface{}{ + route := &SortedRoute{RouteID: strconv.Itoa(i), SortingData: map[string]any{ utils.Weight: 10.0, }} sSpls.Routes = append(sSpls.Routes, route) @@ -1107,7 +1107,7 @@ func BenchmarkRouteSortCost(b *testing.B) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1119,7 +1119,7 @@ func BenchmarkRouteSortCost(b *testing.B) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1131,7 +1131,7 @@ func BenchmarkRouteSortCost(b *testing.B) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1154,7 +1154,7 @@ func TestRouteIDsGetIDs(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1166,7 +1166,7 @@ func TestRouteIDsGetIDs(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1178,7 +1178,7 @@ func TestRouteIDsGetIDs(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1204,7 +1204,7 @@ func TestSortHighestCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(11.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 11.0, }, @@ -1215,7 +1215,7 @@ func TestSortHighestCost(t *testing.T) { utils.Cost: utils.NewDecimalFromFloat64(0.1), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.Weight: 10.0, }, @@ -1238,7 +1238,7 @@ func TestSortResourceAscendentDescendent(t *testing.T) { utils.ResourceUsage: utils.NewDecimalFromFloat64(10.0), utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 10.0, utils.Weight: 10.0, }, @@ -1249,7 +1249,7 @@ func TestSortResourceAscendentDescendent(t *testing.T) { utils.ResourceUsage: utils.NewDecimalFromFloat64(10.0), utils.Weight: utils.NewDecimalFromFloat64(11.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 10.0, utils.Weight: 11.0, }, @@ -1294,7 +1294,7 @@ func TestSortLoadDistribution(t *testing.T) { utils.Load: utils.NewDecimalFromFloat64(10.0), utils.Weight: utils.NewDecimalFromFloat64(15.5), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 15.5, @@ -1307,7 +1307,7 @@ func TestSortLoadDistribution(t *testing.T) { utils.Load: utils.NewDecimalFromFloat64(10.0), utils.Weight: utils.NewDecimalFromFloat64(14.5), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 14.5, @@ -1331,7 +1331,7 @@ func TestSortedRouteAsNavigableMap(t *testing.T) { utils.Load: utils.NewDecimalFromFloat64(10.0), utils.Weight: utils.NewDecimalFromFloat64(15.5), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 15.5, @@ -1370,7 +1370,7 @@ func TestSortedRoutesAsNavigableMap(t *testing.T) { utils.Load: utils.NewDecimalFromFloat64(10.0), utils.Weight: utils.NewDecimalFromFloat64(15.5), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 6.0, utils.Load: 10.0, utils.Weight: 15.5, @@ -1383,7 +1383,7 @@ func TestSortedRoutesAsNavigableMap(t *testing.T) { utils.Ratio: utils.NewDecimalFromFloat64(7.0), utils.Load: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Ratio: 7.0, utils.Load: 10.0, }, @@ -1579,7 +1579,7 @@ func TestRouteLazyPassErr(t *testing.T) { ev := new(utils.CGREvent) data := utils.MapStorage{ - "FirstLevel": map[string]interface{}{}, + "FirstLevel": map[string]any{}, "AnotherFirstLevel": "ValAnotherFirstLevel", } diff --git a/engine/libstats.go b/engine/libstats.go index ab82b7b5d..7e0cabf3e 100644 --- a/engine/libstats.go +++ b/engine/libstats.go @@ -53,7 +53,7 @@ type StatQueueProfile struct { // StatQueueProfileWithAPIOpts is used in replicatorV1 for dispatcher type StatQueueProfileWithAPIOpts struct { *StatQueueProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (sqp *StatQueueProfile) TenantID() string { @@ -127,7 +127,7 @@ type StoredStatQueue struct { type StatQueueWithAPIOpts struct { StatQueue *StatQueue - APIOpts map[string]interface{} + APIOpts map[string]any } // SqID will compose the unique identifier for the StatQueue out of Tenant and ID @@ -523,7 +523,7 @@ func (ssq *StatQueueWithAPIOpts) MarshalJSON() (rply []byte, err error) { } type tmp struct { StatQueue - APIOpts map[string]interface{} + APIOpts map[string]any } rply, err = json.Marshal(tmp{ StatQueue: *ssq.StatQueue, @@ -539,7 +539,7 @@ func (ssq *StatQueueWithAPIOpts) UnmarshalJSON(data []byte) (err error) { return } i := struct { - APIOpts map[string]interface{} + APIOpts map[string]any }{} if err = json.Unmarshal(data, &i); err != nil { return @@ -549,7 +549,7 @@ func (ssq *StatQueueWithAPIOpts) UnmarshalJSON(data []byte) (err error) { return } -func (sqp *StatQueueProfile) Set(path []string, val interface{}, newBranch bool, _ string) (err error) { +func (sqp *StatQueueProfile) Set(path []string, val any, newBranch bool, _ string) (err error) { switch len(path) { default: return utils.ErrWrongPath @@ -626,7 +626,7 @@ func (sqp *StatQueueProfile) Set(path []string, val interface{}, newBranch bool, return } -func (sqp *StatQueueProfile) Merge(v2 interface{}) { +func (sqp *StatQueueProfile) Merge(v2 any) { vi := v2.(*StatQueueProfile) if len(vi.Tenant) != 0 { sqp.Tenant = vi.Tenant @@ -656,13 +656,13 @@ func (sqp *StatQueueProfile) Merge(v2 interface{}) { func (sqp *StatQueueProfile) String() string { return utils.ToJSON(sqp) } func (sqp *StatQueueProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = sqp.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (sqp *StatQueueProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (sqp *StatQueueProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: @@ -724,13 +724,13 @@ func (sqp *StatQueueProfile) FieldAsInterface(fldPath []string) (_ interface{}, func (mf *MetricWithFilters) String() string { return utils.ToJSON(mf) } func (mf *MetricWithFilters) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = mf.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (mf *MetricWithFilters) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (mf *MetricWithFilters) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } diff --git a/engine/libstats_test.go b/engine/libstats_test.go index 27decff6c..6abce0b7b 100644 --- a/engine/libstats_test.go +++ b/engine/libstats_test.go @@ -248,10 +248,10 @@ func TestStatAddStatEvent(t *testing.T) { t.Errorf("ASR: %v", asrMetric) } /* - ev1.Event = map[string]interface{}{ + ev1.Event = map[string]any{ utils.AnswerTime: time.Now()} */ - ev1.APIOpts = map[string]interface{}{ + ev1.APIOpts = map[string]any{ utils.MetaStartTime: time.Now()} sq.addStatEvent(context.Background(), ev1.Tenant, ev1.ID, nil, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}) if asr := asrMetric.GetValue(); asr.Compare(utils.NewDecimalFromFloat64(66.66666666666667)) != 0 { @@ -828,8 +828,8 @@ func (sMM statMetricMock) Clone() StatMetric { type mockMarshal string -func (m mockMarshal) Marshal(v interface{}) ([]byte, error) { return nil, errors.New(string(m)) } -func (m mockMarshal) Unmarshal(data []byte, v interface{}) error { return errors.New(string(m)) } +func (m mockMarshal) Marshal(v any) ([]byte, error) { return nil, errors.New(string(m)) } +func (m mockMarshal) Unmarshal(data []byte, v any) error { return errors.New(string(m)) } func TestStatQueueNewStoredStatQueue(t *testing.T) { sq := &StatQueue{ SQMetrics: map[string]StatMetric{ @@ -1288,7 +1288,7 @@ func TestStatQueueWithAPIOptsJSONMarshall(t *testing.T) { }, 1) exp2 := &StatQueueWithAPIOpts{ StatQueue: exp, - APIOpts: map[string]interface{}{"a": "a"}, + APIOpts: map[string]any{"a": "a"}, } if err != nil { t.Fatal(err) @@ -1696,7 +1696,7 @@ func TestStatQueueProfile_Set(t *testing.T) { } type args struct { path []string - val interface{} + val any newBranch bool in3 string } diff --git a/engine/loader_csv_test.go b/engine/loader_csv_test.go index 322a208b0..c1747973c 100644 --- a/engine/loader_csv_test.go +++ b/engine/loader_csv_test.go @@ -465,14 +465,14 @@ func TestLoadDispatcherProfiles(t *testing.T) { ID: "C1", FilterIDs: []string{"*gt:~*req.Usage:10"}, Weight: 10, - Params: []interface{}{"192.168.56.203"}, + Params: []any{"192.168.56.203"}, Blocker: false, }, { ID: "C2", FilterIDs: []string{"*lt:~*req.Usage:10"}, Weight: 10, - Params: []interface{}{"192.168.56.204"}, + Params: []any{"192.168.56.204"}, Blocker: false, }, }, diff --git a/engine/mapevent.go b/engine/mapevent.go index 97629fad2..9ff6cd316 100644 --- a/engine/mapevent.go +++ b/engine/mapevent.go @@ -25,21 +25,21 @@ import ( ) // NewMapEvent makes sure the content is not nil -func NewMapEvent(mp map[string]interface{}) (me MapEvent) { +func NewMapEvent(mp map[string]any) (me MapEvent) { if mp == nil { - mp = make(map[string]interface{}) + mp = make(map[string]any) } return MapEvent(mp) } -// MapEvent is a map[string]interface{} with convenience methods on top -type MapEvent map[string]interface{} +// MapEvent is a map[string]any with convenience methods on top +type MapEvent map[string]any func (me MapEvent) String() string { return utils.ToJSON(me) } -func (me MapEvent) FieldAsInterface(fldPath []string) (interface{}, error) { +func (me MapEvent) FieldAsInterface(fldPath []string) (any, error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } @@ -193,8 +193,8 @@ func (me MapEvent) AsMapString(ignoredFlds utils.StringSet) (mp map[string]strin return } -// Data returns the MapEvent as a map[string]interface{} -func (me MapEvent) Data() map[string]interface{} { +// Data returns the MapEvent as a map[string]any +func (me MapEvent) Data() map[string]any { return me } diff --git a/engine/mapevent_test.go b/engine/mapevent_test.go index 248a5cf07..76b81b7cc 100644 --- a/engine/mapevent_test.go +++ b/engine/mapevent_test.go @@ -26,7 +26,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -var mapEv = MapEvent(map[string]interface{}{ +var mapEv = MapEvent(map[string]any{ "test1": nil, "test2": 42, "test3": 42.3, @@ -39,10 +39,10 @@ var mapEv = MapEvent(map[string]interface{}{ }) func TestMapEventNewMapEvent(t *testing.T) { - if rply, expected := NewMapEvent(nil), MapEvent(make(map[string]interface{})); !reflect.DeepEqual(expected, rply) { + if rply, expected := NewMapEvent(nil), MapEvent(make(map[string]any)); !reflect.DeepEqual(expected, rply) { t.Errorf("Expecting %+v, received: %+v", expected, rply) } - mp := map[string]interface{}{ + mp := map[string]any{ "test1": nil, "test2": 42, "test3": 42.3, @@ -417,7 +417,7 @@ func TestMapEventData(t *testing.T) { testStruct := MapEvent{ "key1": "val1", } - expStruct := map[string]interface{}{ + expStruct := map[string]any{ "key1": "val1", } result := testStruct.Data() @@ -444,7 +444,7 @@ func TestMapEventGetBoolOrDefault(t *testing.T) { } me = MapEvent{ - fldName: interface{}("false"), + fldName: any("false"), } if out := me.GetBoolOrDefault(fldName, dflt); out != false { t.Errorf("Expected bool to same output as fldName , Received <%v>", out) diff --git a/engine/model_helpers.go b/engine/model_helpers.go index d3fa41794..6c544aab9 100644 --- a/engine/model_helpers.go +++ b/engine/model_helpers.go @@ -30,7 +30,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -func csvLoad(s interface{}, values []string) (interface{}, error) { +func csvLoad(s any, values []string) (any, error) { fieldValueMap := make(map[string]string) st := reflect.TypeOf(s) numFields := st.NumField() @@ -92,7 +92,7 @@ func csvLoad(s interface{}, values []string) (interface{}, error) { } // CsvDump receive and interface and convert it to a slice of string -func CsvDump(s interface{}) ([]string, error) { +func CsvDump(s any) ([]string, error) { fieldIndexMap := make(map[string]int) st := reflect.ValueOf(s) if st.Kind() == reflect.Ptr { @@ -131,7 +131,7 @@ func CsvDump(s interface{}) ([]string, error) { return result, nil } -func getColumnCount(s interface{}) int { +func getColumnCount(s any) int { st := reflect.TypeOf(s) numFields := st.NumField() count := 0 @@ -1476,7 +1476,7 @@ func (tps DispatcherProfileMdls) AsTPDispatcherProfiles() (result []*utils.TPDis return } -func paramsToString(sp []interface{}) (strategy string) { +func paramsToString(sp []any) (strategy string) { if len(sp) != 0 { strategy = sp[0].(string) for i := 1; i < len(sp); i++ { @@ -1551,7 +1551,7 @@ func APItoDispatcherProfile(tpDPP *utils.TPDispatcherProfile, timezone string) ( Weight: tpDPP.Weight, Strategy: tpDPP.Strategy, FilterIDs: make([]string, len(tpDPP.FilterIDs)), - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), Hosts: make(DispatcherHostProfiles, len(tpDPP.Hosts)), } copy(dpp.FilterIDs, tpDPP.FilterIDs) @@ -1566,7 +1566,7 @@ func APItoDispatcherProfile(tpDPP *utils.TPDispatcherProfile, timezone string) ( Weight: conn.Weight, Blocker: conn.Blocker, FilterIDs: make([]string, len(conn.FilterIDs)), - Params: make(map[string]interface{}), + Params: make(map[string]any), } copy(dpp.Hosts[i].FilterIDs, conn.FilterIDs) for j, param := range conn.Params { @@ -1590,7 +1590,7 @@ func DispatcherProfileToAPI(dpp *DispatcherProfile) (tpDPP *utils.TPDispatcherPr ID: dpp.ID, FilterIDs: make([]string, len(dpp.FilterIDs)), Strategy: dpp.Strategy, - StrategyParams: make([]interface{}, len(dpp.StrategyParams)), + StrategyParams: make([]any, len(dpp.StrategyParams)), Weight: dpp.Weight, Hosts: make([]*utils.TPDispatcherHostProfile, len(dpp.Hosts)), } @@ -1607,7 +1607,7 @@ func DispatcherProfileToAPI(dpp *DispatcherProfile) (tpDPP *utils.TPDispatcherPr ID: host.ID, FilterIDs: utils.CloneStringSlice(host.FilterIDs), Weight: host.Weight, - Params: make([]interface{}, len(host.Params)), + Params: make([]any, len(host.Params)), Blocker: host.Blocker, } idx := 0 @@ -2174,7 +2174,7 @@ func APItoActionProfile(tpAp *utils.TPActionProfile, timezone string) (ap *Actio return } if act.Opts != utils.EmptyString { - ap.Actions[i].Opts = make(map[string]interface{}) + ap.Actions[i].Opts = make(map[string]any) for _, opt := range strings.Split(act.Opts, utils.InfieldSep) { // example of opts: key1:val1;key2:val2;key3:val3 keyValSls := utils.SplitConcatenatedKey(opt) if len(keyValSls) != 2 { @@ -2466,7 +2466,7 @@ func APItoAccount(tpAcc *utils.TPAccount, timezone string) (acc *utils.Account, } } if bal.Opts != utils.EmptyString { - acc.Balances[id].Opts = make(map[string]interface{}) + acc.Balances[id].Opts = make(map[string]any) for _, opt := range strings.Split(bal.Opts, utils.InfieldSep) { // example of opts: key1:val1;key2:val2;key3:val3 keyValSls := utils.SplitConcatenatedKey(opt) if len(keyValSls) != 2 { diff --git a/engine/model_helpers_test.go b/engine/model_helpers_test.go index ed77c92f5..9da50bc00 100644 --- a/engine/model_helpers_test.go +++ b/engine/model_helpers_test.go @@ -1710,14 +1710,14 @@ func TestAPItoDispatcherProfile(t *testing.T) { ID: "Dsp", FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z", "FLTR_ACNT_dan", "FLTR_DST_DE"}, Strategy: utils.MetaFirst, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.203", "*ratio:2"}, + Params: []any{"192.168.54.203", "*ratio:2"}, Blocker: false, }, }, @@ -1728,14 +1728,14 @@ func TestAPItoDispatcherProfile(t *testing.T) { ID: "Dsp", FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z", "FLTR_ACNT_dan", "FLTR_DST_DE"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Weight: 20, Hosts: DispatcherHostProfiles{ &DispatcherHostProfile{ ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203", utils.MetaRatio: "2"}, + Params: map[string]any{"0": "192.168.54.203", utils.MetaRatio: "2"}, Blocker: false, }, }, @@ -1751,14 +1751,14 @@ func TestDispatcherProfileToAPI(t *testing.T) { ID: "Dsp", FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z", "FLTR_ACNT_dan", "FLTR_DST_DE"}, Strategy: utils.MetaFirst, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.203", "*ratio:2"}, + Params: []any{"192.168.54.203", "*ratio:2"}, Blocker: false, }, }, @@ -1768,14 +1768,14 @@ func TestDispatcherProfileToAPI(t *testing.T) { ID: "Dsp", FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z", "FLTR_ACNT_dan", "FLTR_DST_DE"}, Strategy: utils.MetaFirst, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"*ratio:2", "192.168.54.203"}, + Params: []any{"*ratio:2", "192.168.54.203"}, Blocker: false, }, }, @@ -1786,14 +1786,14 @@ func TestDispatcherProfileToAPI(t *testing.T) { ID: "Dsp", FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z", "FLTR_ACNT_dan", "FLTR_DST_DE"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Weight: 20, Hosts: DispatcherHostProfiles{ &DispatcherHostProfile{ ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203", utils.MetaRatio: "2"}, + Params: map[string]any{"0": "192.168.54.203", utils.MetaRatio: "2"}, Blocker: false, }, }, @@ -1810,21 +1810,21 @@ func TestAPItoModelTPDispatcher(t *testing.T) { ID: "Dsp", FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z", "FLTR_ACNT_dan", "FLTR_DST_DE"}, Strategy: utils.MetaFirst, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.203"}, + Params: []any{"192.168.54.203"}, Blocker: false, }, { ID: "C2", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.204"}, + Params: []any{"192.168.54.204"}, Blocker: false, }, }, @@ -3395,24 +3395,24 @@ func TestRateProfileMdlsCSVHeader(t *testing.T) { func TestDispatcherProfileToAPICase2(t *testing.T) { structTest := &DispatcherProfile{ FilterIDs: []string{"field1", "field2", "*ai:~*req.AnswerTime:2014-07-14T14:35:00Z|2014-07-15T14:35:00Z"}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ "Field1": "Params1", }, Hosts: []*DispatcherHostProfile{ { FilterIDs: []string{"fieldA", "fieldB"}, - Params: map[string]interface{}{}, + Params: map[string]any{}, }, }, } expStruct := &utils.TPDispatcherProfile{ FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z|2014-07-15T14:35:00Z", "field1", "field2"}, - StrategyParams: []interface{}{"Params1"}, + StrategyParams: []any{"Params1"}, Hosts: []*utils.TPDispatcherHostProfile{ { FilterIDs: []string{"fieldA", "fieldB"}, - Params: []interface{}{}, + Params: []any{}, }, }, } @@ -3427,19 +3427,19 @@ func TestDispatcherProfileToAPICase2(t *testing.T) { func TestAPItoDispatcherProfileCase2(t *testing.T) { structTest := &utils.TPDispatcherProfile{ FilterIDs: []string{}, - StrategyParams: []interface{}{"Param1"}, + StrategyParams: []any{"Param1"}, Hosts: []*utils.TPDispatcherHostProfile{{ - Params: []interface{}{"Param1"}, + Params: []any{"Param1"}, }}, } expStruct := &DispatcherProfile{ FilterIDs: []string{}, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ "0": "Param1", }, Hosts: DispatcherHostProfiles{{ FilterIDs: []string{}, - Params: map[string]interface{}{ + Params: map[string]any{ "0": "Param1", }, }, @@ -3461,7 +3461,7 @@ func TestAPItoModelTPDispatcherProfileNil(t *testing.T) { } func TestModelHelpersParamsToString(t *testing.T) { - testInterface := []interface{}{"Param1", "Param2"} + testInterface := []any{"Param1", "Param2"} result := paramsToString(testInterface) if !reflect.DeepEqual(result, "Param1;Param2") { t.Errorf("\nExpecting ,\n Received <%+v>", result) @@ -3477,7 +3477,7 @@ func TestModelHelpersAsTPDispatcherProfiles(t *testing.T) { } expStruct := []*utils.TPDispatcherProfile{{ FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-29T15:00:00Z|2014-08-29T15:00:00Z"}, - StrategyParams: []interface{}{"Param1"}, + StrategyParams: []any{"Param1"}, }, } result := structTest.AsTPDispatcherProfiles() @@ -3905,7 +3905,7 @@ func TestModelHelpersAPItoActionProfile(t *testing.T) { Diktats: []*APDiktat{{ Path: "test_path", }}, - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "val1", "key2": "val2", }, @@ -3989,7 +3989,7 @@ func TestModelHelpersActionProfileToAPI(t *testing.T) { Diktats: []*APDiktat{{ Path: "test_path", }}, - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "val1", }, }, @@ -4939,7 +4939,7 @@ func TestApitoAccountCase2(t *testing.T) { Type: utils.MetaVoice, Units: utils.NewDecimal(3600000000000, 0), RateProfileIDs: []string{"RTPRF1"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "val1", }, }}, @@ -5107,7 +5107,7 @@ func TestModelHelpersAccountToAPI(t *testing.T) { Factor: utils.NewDecimal(21, 0), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "val1", }, }}, @@ -5562,14 +5562,14 @@ func TestAPItoDispatcherProfileNoParams(t *testing.T) { ID: "Dsp", FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z", "FLTR_ACNT_dan", "FLTR_DST_DE"}, Strategy: utils.MetaFirst, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{""}, + Params: []any{""}, Blocker: false, }, }, @@ -5580,13 +5580,13 @@ func TestAPItoDispatcherProfileNoParams(t *testing.T) { ID: "Dsp", FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z", "FLTR_ACNT_dan", "FLTR_DST_DE"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{}, + StrategyParams: map[string]any{}, Weight: 20, Hosts: DispatcherHostProfiles{ &DispatcherHostProfile{ ID: "C1", FilterIDs: []string{}, - Params: make(map[string]interface{}), + Params: make(map[string]any), Weight: 10, Blocker: false, }, @@ -6036,21 +6036,21 @@ func TestCsvDumpForDispatcherModels(t *testing.T) { ID: "Dsp", FilterIDs: []string{"*ai:~*req.AnswerTime:2014-07-14T14:35:00Z", "FLTR_ACNT_dan", "FLTR_DST_DE"}, Strategy: utils.MetaFirst, - StrategyParams: []interface{}{}, + StrategyParams: []any{}, Weight: 20, Hosts: []*utils.TPDispatcherHostProfile{ { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.203"}, + Params: []any{"192.168.54.203"}, Blocker: false, }, { ID: "C2", FilterIDs: []string{}, Weight: 10, - Params: []interface{}{"192.168.54.204"}, + Params: []any{"192.168.54.204"}, Blocker: false, }, }, diff --git a/engine/models.go b/engine/models.go index 02a83be1a..4fcb8e0de 100644 --- a/engine/models.go +++ b/engine/models.go @@ -135,8 +135,8 @@ func (t CDRsql) TableName() string { return utils.CDRsTBL } -func (t CDRsql) AsMapStringInterface() (out map[string]interface{}) { - out = make(map[string]interface{}) +func (t CDRsql) AsMapStringInterface() (out map[string]any) { + out = make(map[string]any) // out["id"] = t.ID // ignore ID out["run_id"] = t.RunID diff --git a/engine/models_test.go b/engine/models_test.go index 57da99da8..fcdaa1709 100644 --- a/engine/models_test.go +++ b/engine/models_test.go @@ -53,7 +53,7 @@ func TestModelsAsMapStringInterface(t *testing.T) { UpdatedAt: time.Date(2021, 3, 3, 3, 3, 3, 3, time.UTC), DeletedAt: utils.TimePointer(time.Date(2021, 3, 3, 3, 3, 3, 3, time.UTC)), } - expected := map[string]interface{}{ + expected := map[string]any{ // "cgrid": testCdrSql.Cgrid, "run_id": testCdrSql.RunID, "origin_host": testCdrSql.OriginHost, diff --git a/engine/remoterepl.go b/engine/remoterepl.go index 3ad8afaa6..47deb7715 100644 --- a/engine/remoterepl.go +++ b/engine/remoterepl.go @@ -33,7 +33,7 @@ func UpdateReplicationFilters(objType, objID, connID string) { } // replicate will call Set/Remove APIs on ReplicatorSv1 -func replicate(ctx *context.Context, connMgr *ConnManager, connIDs []string, filtered bool, objType, objID, method string, args interface{}) (err error) { +func replicate(ctx *context.Context, connMgr *ConnManager, connIDs []string, filtered bool, objType, objID, method string, args any) (err error) { // the reply is string for Set/Remove APIs // ignored in favor of the error var reply string @@ -55,7 +55,7 @@ func replicate(ctx *context.Context, connMgr *ConnManager, connIDs []string, fil // replicateMultipleIDs will do the same thing as replicate but uses multiple objectIDs // used when setting the LoadIDs -func replicateMultipleIDs(ctx *context.Context, connMgr *ConnManager, connIDs []string, filtered bool, objType string, objIDs []string, method string, args interface{}) (err error) { +func replicateMultipleIDs(ctx *context.Context, connMgr *ConnManager, connIDs []string, filtered bool, objType string, objIDs []string, method string, args any) (err error) { // the reply is string for Set/Remove APIs // ignored in favor of the error var reply string diff --git a/engine/resources.go b/engine/resources.go index da2975990..dd4d28be6 100644 --- a/engine/resources.go +++ b/engine/resources.go @@ -56,7 +56,7 @@ type ResourceProfile struct { // ResourceProfileWithAPIOpts is used in replicatorV1 for dispatcher type ResourceProfileWithAPIOpts struct { *ResourceProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // TenantID returns unique identifier of the ResourceProfile in a multi-tenant environment @@ -167,7 +167,7 @@ func (r *Resource) isLocked() bool { // ResourceWithAPIOpts is used in replicatorV1 for dispatcher type ResourceWithAPIOpts struct { *Resource - APIOpts map[string]interface{} + APIOpts map[string]any } // TenantID returns the unique ID in a multi-tenant environment @@ -513,12 +513,12 @@ func (rS *ResourceS) storeMatchedResources(ctx *context.Context, mtcRLs Resource } // processThresholds will pass the event for resource to ThresholdS -func (rS *ResourceS) processThresholds(ctx *context.Context, rs Resources, opts map[string]interface{}) (err error) { +func (rS *ResourceS) processThresholds(ctx *context.Context, rs Resources, opts map[string]any) (err error) { if len(rS.cfg.ResourceSCfg().ThresholdSConns) == 0 { return } if opts == nil { - opts = make(map[string]interface{}) + opts = make(map[string]any) } opts[utils.MetaEventType] = utils.ResourceUpdate @@ -533,7 +533,7 @@ func (rS *ResourceS) processThresholds(ctx *context.Context, rs Resources, opts thEv := &utils.CGREvent{ Tenant: r.Tenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.ResourceUpdate, utils.ResourceID: r.ID, utils.Usage: r.TotalUsage(), @@ -1030,7 +1030,7 @@ func (rS *ResourceS) V1GetResourceWithConfig(ctx *context.Context, arg *utils.Te return } -func (rp *ResourceProfile) Set(path []string, val interface{}, _ bool, _ string) (err error) { +func (rp *ResourceProfile) Set(path []string, val any, _ bool, _ string) (err error) { if len(path) != 1 { return utils.ErrWrongPath } @@ -1069,7 +1069,7 @@ func (rp *ResourceProfile) Set(path []string, val interface{}, _ bool, _ string) return } -func (rp *ResourceProfile) Merge(v2 interface{}) { +func (rp *ResourceProfile) Merge(v2 any) { vi := v2.(*ResourceProfile) if len(vi.Tenant) != 0 { rp.Tenant = vi.Tenant @@ -1099,13 +1099,13 @@ func (rp *ResourceProfile) Merge(v2 interface{}) { func (rp *ResourceProfile) String() string { return utils.ToJSON(rp) } func (rp *ResourceProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = rp.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (rp *ResourceProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (rp *ResourceProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } diff --git a/engine/route_cost_sort.go b/engine/route_cost_sort.go index 45c85f3b2..0e9698196 100644 --- a/engine/route_cost_sort.go +++ b/engine/route_cost_sort.go @@ -50,7 +50,7 @@ func populateCostForRoutes(ctx *context.Context, cfg *config.CGRConfig, connMgr } srtRoute := &SortedRoute{ RouteID: route.ID, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: route.Weight, }, sortingDataDecimal: map[string]*utils.Decimal{ diff --git a/engine/route_cost_sort_test.go b/engine/route_cost_sort_test.go index 6e9214549..79b5382f0 100644 --- a/engine/route_cost_sort_test.go +++ b/engine/route_cost_sort_test.go @@ -46,10 +46,10 @@ func TestPopulateCostForRoutesConnRefused(t *testing.T) { } ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesProfileIDs: []string{}, }, } @@ -85,8 +85,8 @@ func TestLeastCostSorterSortRoutesOK(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1MaxAbstracts: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1MaxAbstracts: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -127,7 +127,7 @@ func TestLeastCostSorterSortRoutesOK(t *testing.T) { }, } ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 400, }, } @@ -139,7 +139,7 @@ func TestLeastCostSorterSortRoutesOK(t *testing.T) { { RouteID: "RouteId2", RouteParameters: "RouteParam2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountIDs: []string{}, utils.Cost: nil, utils.Weight: 10, @@ -148,7 +148,7 @@ func TestLeastCostSorterSortRoutesOK(t *testing.T) { { RouteID: "RouteId", RouteParameters: "RouteParam", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountIDs: []string{}, utils.Cost: nil, utils.Weight: 1, @@ -187,8 +187,8 @@ func TestHightCostSorterSortRoutesOK(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1MaxAbstracts: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1MaxAbstracts: func(ctx *context.Context, args, reply any) error { return nil }, }, @@ -230,7 +230,7 @@ func TestHightCostSorterSortRoutesOK(t *testing.T) { }, } ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 400, }, } @@ -242,7 +242,7 @@ func TestHightCostSorterSortRoutesOK(t *testing.T) { { RouteID: "RouteId", RouteParameters: "RouteParam", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountIDs: []string{}, utils.Cost: nil, utils.Weight: 10, @@ -251,7 +251,7 @@ func TestHightCostSorterSortRoutesOK(t *testing.T) { { RouteID: "RouteId2", RouteParameters: "RouteParam2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.AccountIDs: []string{}, utils.Cost: nil, utils.Weight: 1, @@ -293,10 +293,10 @@ func TestPopulateCostForRoutesGetDecimalBigOptsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } extraOpts := &optsGetRoutes{} @@ -332,10 +332,10 @@ func TestPopulateCostForRoutesMissingIdsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } extraOpts := &optsGetRoutes{} @@ -359,8 +359,8 @@ func TestPopulateCostForRoutesAccountSConnsIgnoreErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1MaxAbstracts: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1MaxAbstracts: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, @@ -382,10 +382,10 @@ func TestPopulateCostForRoutesAccountSConnsIgnoreErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } extraOpts := &optsGetRoutes{ ignoreErrors: true, @@ -414,8 +414,8 @@ func TestPopulateCostForRoutesAccountSConnsErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AccountSv1MaxAbstracts: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AccountSv1MaxAbstracts: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, @@ -437,10 +437,10 @@ func TestPopulateCostForRoutesAccountSConnsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } extraOpts := &optsGetRoutes{} diff --git a/engine/route_load_distribution.go b/engine/route_load_distribution.go index 700b29874..829aae7ae 100644 --- a/engine/route_load_distribution.go +++ b/engine/route_load_distribution.go @@ -60,7 +60,7 @@ func (ws *LoadDistributionSorter) SortRoutes(ctx *context.Context, prflID string } srtRoute := &SortedRoute{ RouteID: route.ID, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: route.Weight, }, sortingDataDecimal: map[string]*utils.Decimal{ diff --git a/engine/route_qos.go b/engine/route_qos.go index 52a3ce7eb..b278ed674 100644 --- a/engine/route_qos.go +++ b/engine/route_qos.go @@ -50,7 +50,7 @@ func (qos *QOSRouteSorter) SortRoutes(ctx *context.Context, prflID string, route for _, route := range routes { srtRoute := &SortedRoute{ RouteID: route.ID, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: route.Weight, }, sortingDataDecimal: map[string]*utils.Decimal{ diff --git a/engine/route_resource_sort.go b/engine/route_resource_sort.go index 2542971d2..102dc9099 100644 --- a/engine/route_resource_sort.go +++ b/engine/route_resource_sort.go @@ -43,7 +43,7 @@ func populateResourcesForRoutes(ctx *context.Context, cfg *config.CGRConfig, } srtRoute := &SortedRoute{ RouteID: route.ID, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: route.Weight, }, sortingDataDecimal: map[string]*utils.Decimal{ diff --git a/engine/route_weight.go b/engine/route_weight.go index 6be4c31aa..a70a9eddb 100644 --- a/engine/route_weight.go +++ b/engine/route_weight.go @@ -43,7 +43,7 @@ func (ws *WeightSorter) SortRoutes(ctx *context.Context, prflID string, for _, route := range routes { srtRoute := &SortedRoute{ RouteID: route.ID, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: route.Weight, }, sortingDataDecimal: map[string]*utils.Decimal{ diff --git a/engine/routes.go b/engine/routes.go index b2a4b96b2..5dd27800d 100644 --- a/engine/routes.go +++ b/engine/routes.go @@ -40,7 +40,7 @@ type Route struct { Blockers utils.DynamicBlockers // do not process further route after this one RouteParameters string - cacheRoute map[string]interface{} // cache["*ratio"]=ratio + cacheRoute map[string]any // cache["*ratio"]=ratio } // RouteProfile represents the configuration of a Route profile @@ -58,7 +58,7 @@ type RouteProfile struct { // RouteProfileWithAPIOpts is used in replicatorV1 for dispatcher type RouteProfileWithAPIOpts struct { *RouteProfile - APIOpts map[string]interface{} + APIOpts map[string]any } func (rp *RouteProfile) compileCacheParameters() error { @@ -76,7 +76,7 @@ func (rp *RouteProfile) compileCacheParameters() error { } // add the ratio for each route for _, route := range rp.Routes { - route.cacheRoute = make(map[string]interface{}) + route.cacheRoute = make(map[string]any) if ratioRoute, has := ratioMap[route.ID]; !has { // in case that ratio isn't defined for specific routes check for default if ratioDefault, has := ratioMap[utils.MetaDefault]; !has { // in case that *default ratio isn't defined take it from config route.cacheRoute[utils.MetaRatio] = config.CgrConfig().RouteSCfg().DefaultRatio @@ -228,7 +228,7 @@ func newOptsGetRoutes(ctx *context.Context, ev *utils.CGREvent, fS *FilterS, cfg opts.paginator.MaxItems = maxItems } - var maxCost interface{} + var maxCost any if maxCost, err = GetInterfaceOpts(ctx, ev.Tenant, ev, fS, cfgOpts.MaxCost, config.RoutesMaxCostDftOpt, utils.OptsRoutesMaxCost); err != nil { return @@ -281,7 +281,7 @@ func (rpS *RouteS) V1GetRoutes(ctx *context.Context, args *utils.CGREvent, reply tnt = rpS.cfg.GeneralCfg().DefaultTenant } if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } if len(rpS.cfg.RouteSCfg().AttributeSConns) != 0 { args.APIOpts[utils.MetaSubsys] = utils.MetaRoutes @@ -490,7 +490,7 @@ func (rpS *RouteS) V1GetRoutesList(ctx *context.Context, args *utils.CGREvent, r return } -func (rp *RouteProfile) Set(path []string, val interface{}, newBranch bool, _ string) (err error) { +func (rp *RouteProfile) Set(path []string, val any, newBranch bool, _ string) (err error) { switch len(path) { default: return utils.ErrWrongPath @@ -574,7 +574,7 @@ func (rp *RouteProfile) Set(path []string, val interface{}, newBranch bool, _ st return } -func (rp *RouteProfile) Merge(v2 interface{}) { +func (rp *RouteProfile) Merge(v2 any) { vi := v2.(*RouteProfile) if len(vi.Tenant) != 0 { rp.Tenant = vi.Tenant @@ -623,13 +623,13 @@ func (route *Route) Merge(v2 *Route) { func (rp *RouteProfile) String() string { return utils.ToJSON(rp) } func (rp *RouteProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = rp.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (rp *RouteProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (rp *RouteProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: @@ -685,13 +685,13 @@ func (rp *RouteProfile) FieldAsInterface(fldPath []string) (_ interface{}, err e func (rt *Route) String() string { return utils.ToJSON(rt) } func (rt *Route) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = rt.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (rt *Route) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (rt *Route) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } diff --git a/engine/routes_test.go b/engine/routes_test.go index 660cdd9bf..e37d6e1e8 100644 --- a/engine/routes_test.go +++ b/engine/routes_test.go @@ -89,49 +89,49 @@ var ( { //matching RouteProfile1 Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, { //matching RouteProfile2 Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, { //matching RouteProfilePrefix Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfilePrefix", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, { //matching Tenant: "cgrates.org", ID: "CGR", - Event: map[string]interface{}{ + Event: map[string]any{ "UsageInterval": "1s", "PddInterval": "1s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, @@ -266,7 +266,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -290,7 +290,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(30.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 30.0, }, RouteParameters: "param1", @@ -300,7 +300,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -310,7 +310,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param3", @@ -335,7 +335,7 @@ func TestRoutesSortedForEvent(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param1", @@ -371,7 +371,7 @@ func TestRoutesSortedForEventWithLimit(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(30.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 30.0, }, RouteParameters: "param1", @@ -381,7 +381,7 @@ func TestRoutesSortedForEventWithLimit(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -420,7 +420,7 @@ func TestRoutesSortedForEventWithOffset(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10.0, }, RouteParameters: "param3", @@ -458,7 +458,7 @@ func TestRoutesSortedForEventWithLimitAndOffset(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(20.0), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20.0, }, RouteParameters: "param2", @@ -479,7 +479,7 @@ func TestRoutesSortedForEventWithLimitAndOffset(t *testing.T) { func TestRoutesNewOptsGetRoutes(t *testing.T) { ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesMaxCost: 10, utils.OptsRoutesIgnoreErrors: true, }, @@ -501,7 +501,7 @@ func TestRoutesNewOptsGetRoutes(t *testing.T) { func TestRoutesNewOptsGetRoutesFromCfg(t *testing.T) { config.CgrConfig().RouteSCfg().Opts.IgnoreErrors = []*utils.DynamicBoolOpt{{Value: true}} ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } spl := &optsGetRoutes{ ignoreErrors: true, @@ -518,7 +518,7 @@ func TestRoutesNewOptsGetRoutesFromCfg(t *testing.T) { func TestRoutesNewOptsGetRoutesIgnoreErrors(t *testing.T) { ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesIgnoreErrors: true, }, } @@ -627,8 +627,8 @@ func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{utils.OptsRoutesProfilesCount: 3}, + Event: map[string]any{}, + APIOpts: map[string]any{utils.OptsRoutesProfilesCount: 3}, } cfg := config.NewDefaultCGRConfig() @@ -661,7 +661,7 @@ func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(10.), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10., }, RouteParameters: "param1", @@ -677,7 +677,7 @@ func TestRoutesSortedForEventWithLimitAndOffset2(t *testing.T) { sortingDataDecimal: map[string]*utils.Decimal{ utils.Weight: utils.NewDecimalFromFloat64(30.), }, - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 30., }, RouteParameters: "param1", @@ -706,7 +706,7 @@ func TestRoutesV1GetRoutesMsnStructFieldIDError(t *testing.T) { var reply SortedRoutesList args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{}, + Event: map[string]any{}, } err := routeService.V1GetRoutes(context.Background(), args, &reply) if err == nil || err.Error() != "MANDATORY_IE_MISSING: [ID]" { @@ -743,7 +743,7 @@ func TestRoutesV1GetRoutesNotFoundError(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "CGREvent1", - Event: map[string]interface{}{}, + Event: map[string]any{}, } err := routeService.V1GetRoutes(context.Background(), args, &reply) if err == nil || err.Error() != utils.NotFoundCaps { @@ -761,7 +761,7 @@ func TestRoutesV1GetRoutesNoTenantNotFoundError(t *testing.T) { var reply SortedRoutesList args := &utils.CGREvent{ ID: "CGREvent1", - Event: map[string]interface{}{}, + Event: map[string]any{}, } err := routeService.V1GetRoutes(context.Background(), args, &reply) if err == nil || err.Error() != utils.NotFoundCaps { @@ -782,7 +782,7 @@ func TestRoutesV1GetRoutesAttrConnError(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "CGREvent1", - Event: map[string]interface{}{}, + Event: map[string]any{}, } err := routeService.V1GetRoutes(context.Background(), args, &reply) if err == nil || err.Error() != "ROUTES_ERROR:%!s()" { @@ -801,7 +801,7 @@ func TestRoutesV1GetRouteProfilesForEventError(t *testing.T) { var reply []*RouteProfile args := &utils.CGREvent{ ID: "CGREvent1", - Event: map[string]interface{}{}, + Event: map[string]any{}, } err := routeService.V1GetRouteProfilesForEvent(context.Background(), args, &reply) if err == nil || err.Error() != utils.NotFoundCaps { @@ -820,7 +820,7 @@ func TestRoutesV1GetRouteProfilesForEventMsnIDError(t *testing.T) { var reply []*RouteProfile args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{}, + Event: map[string]any{}, } err := routeService.V1GetRouteProfilesForEvent(context.Background(), args, &reply) if err == nil || err.Error() != "MANDATORY_IE_MISSING: [ID]" { @@ -1406,14 +1406,14 @@ func TestRouteSMatchingRouteProfilesForEventGetRouteProfileErr1(t *testing.T) { { Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, @@ -1449,8 +1449,8 @@ func TestRouteSMatchingRouteProfilesForEventGetRouteProfileErr2(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } @@ -1465,14 +1465,14 @@ func TestRouteSMatchingRouteProfilesForEventGetRouteProfileErr2(t *testing.T) { { Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, @@ -1532,14 +1532,14 @@ func TestRouteSMatchingRouteProfilesForEventPassErr(t *testing.T) { { Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, @@ -1603,14 +1603,14 @@ func TestRouteSMatchingRPSForEventWeightFromDynamicsErr(t *testing.T) { { Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, @@ -1688,14 +1688,14 @@ func TestRouteSMatchingRPSForEventBlockerFromDynamicsErr(t *testing.T) { { Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, @@ -1778,10 +1778,10 @@ func TestNewOptsGetRoutesGetBoolOptsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expErr := `inline parse error for string: <*string.invalid:filter>` @@ -1811,10 +1811,10 @@ func TestNewOptsGetRoutesGetIntPointerOptsLimitErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expErr := `inline parse error for string: <*string.invalid:filter>` @@ -1844,10 +1844,10 @@ func TestNewOptsGetRoutesGetIntPointerOptsOffsetErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expErr := `inline parse error for string: <*string.invalid:filter>` @@ -1877,10 +1877,10 @@ func TestNewOptsGetRoutesGetIntPointerOptsMaxItemsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expErr := `inline parse error for string: <*string.invalid:filter>` @@ -1910,10 +1910,10 @@ func TestNewOptsGetRoutesGetInterfaceOptsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } expErr := `inline parse error for string: <*string.invalid:filter>` @@ -1949,14 +1949,14 @@ func TestSortedRoutesForEventsortedRoutesForProfileErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -2038,14 +2038,14 @@ func TestSortedRoutesForEventGetIntPointerOptsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := dm.SetFilter(context.Background(), &Filter{ @@ -2125,14 +2125,14 @@ func TestSortedRoutesForEventNewOptsGetRoutesErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := dm.SetFilter(context.Background(), &Filter{ @@ -2217,14 +2217,14 @@ func TestSortedRoutesForEventExceedMaxItemsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if err := dm.SetFilter(context.Background(), &Filter{ @@ -2304,14 +2304,14 @@ func TestRouteSV1GetRoutesGetStringOptsErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply *SortedRoutesList @@ -2339,8 +2339,8 @@ func TestRoutesV1GetRoutesCallWithAlteredFields(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { *reply.(*AttrSProcessEventReply) = AttrSProcessEventReply{ AlteredFields: []*FieldsAltered{{ Fields: []string{utils.AccountField}, @@ -2348,14 +2348,14 @@ func TestRoutesV1GetRoutesCallWithAlteredFields(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, }, @@ -2375,14 +2375,14 @@ func TestRoutesV1GetRoutesCallWithAlteredFields(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -2416,7 +2416,7 @@ func TestRoutesV1GetRoutesCallWithAlteredFields(t *testing.T) { { RouteID: "route1", RouteParameters: "param1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10, }, }, @@ -2459,14 +2459,14 @@ func TestRoutesV1GetRoutesSortedRoutesForEventErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -2516,14 +2516,14 @@ func TestV1GetRouteProfilesForEventMatchingRouteProfErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -2640,14 +2640,14 @@ func TestRoutessortedRoutesForProfileLazyPassErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -2701,13 +2701,13 @@ func TestRoutessortedRoutesForProfileLazyPassFalse(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -2762,14 +2762,14 @@ func TestRoutessortedRoutesForProfileWeightFromDynamicsErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -2824,14 +2824,14 @@ func TestRoutessortedRoutesForProfileBlockerFromDynamicsErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -2886,13 +2886,13 @@ func TestRoutessortedRoutesForProfileSortHasBlocker(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -2922,7 +2922,7 @@ func TestRoutessortedRoutesForProfileSortHasBlocker(t *testing.T) { { RouteID: "route1", RouteParameters: "param1", - SortingData: map[string]interface{}{utils.Blocker: true, utils.Weight: 10}}, + SortingData: map[string]any{utils.Blocker: true, utils.Weight: 10}}, }, } @@ -2954,14 +2954,14 @@ func TestRoutessortedRoutesForEventNoSortedRoutesErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } @@ -3003,14 +3003,14 @@ func TestRouteSV1GetRoutesListOK(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "utils.CGREvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Route": "RouteProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", "PddInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesProfilesCount: 1, }, } diff --git a/engine/statmetrics.go b/engine/statmetrics.go index 132c41743..8a715e2c9 100644 --- a/engine/statmetrics.go +++ b/engine/statmetrics.go @@ -98,7 +98,7 @@ func (asr *StatASR) GetValue() (val *utils.Decimal) { // AddEvent is part of StatMetric interface func (asr *StatASR) AddEvent(evID string, ev utils.DataProvider) (err error) { var answered int - var val interface{} + var val any if val, err = ev.FieldAsInterface([]string{utils.MetaOpts, utils.MetaStartTime}); err != nil { if err != utils.ErrNotFound { return err @@ -530,7 +530,7 @@ func (sum *Metric) GetValue() (v *utils.Decimal) { return sum.getTotalValue() } -func (sum *Metric) addEvent(evID string, ival interface{}) (err error) { +func (sum *Metric) addEvent(evID string, ival any) (err error) { var val *decimal.Big if val, err = utils.IfaceAsBig(ival); err != nil { return diff --git a/engine/statmetrics_test.go b/engine/statmetrics_test.go index 01599abb4..5ca014d21 100644 --- a/engine/statmetrics_test.go +++ b/engine/statmetrics_test.go @@ -34,7 +34,7 @@ import ( func TestASRGetStringValue(t *testing.T) { asr := NewASR(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} if strVal := asr.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong asr value: %s", strVal) @@ -58,10 +58,10 @@ func TestASRGetStringValue(t *testing.T) { t.Errorf("wrong asr value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} asr.AddEvent(ev4.ID, utils.MapStorage{utils.MetaOpts: ev4.APIOpts}) asr.AddEvent(ev5.ID, utils.MapStorage{utils.MetaOpts: ev5.APIOpts}) @@ -83,7 +83,7 @@ func TestASRGetStringValue(t *testing.T) { func TestASRGetStringValue2(t *testing.T) { asr := NewASR(2, "", nil) ev := &utils.CGREvent{ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev2 := "EVENT_2" ev4 := "EVENT_4" @@ -144,7 +144,7 @@ func TestASRGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1"} @@ -191,7 +191,7 @@ func TestASRGetStringValue3(t *testing.T) { func TestASRGetValue(t *testing.T) { asr := NewASR(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} asr.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) if v := asr.GetValue(); v != utils.DecimalNaN { @@ -209,10 +209,10 @@ func TestASRGetValue(t *testing.T) { t.Errorf("wrong asr value: %f", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} asr.AddEvent(ev4.ID, utils.MapStorage{utils.MetaOpts: ev4.APIOpts}) asr.AddEvent(ev5.ID, utils.MapStorage{utils.MetaOpts: ev5.APIOpts}) @@ -249,7 +249,7 @@ func TestASRCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1"} @@ -313,7 +313,7 @@ func TestASRGetCompressFactor(t *testing.T) { } asr := NewASR(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1"} @@ -339,7 +339,7 @@ func TestASRGetCompressFactor(t *testing.T) { func TestACDGetStringValue(t *testing.T) { acd := NewACD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }} @@ -371,13 +371,13 @@ func TestACDGetStringValue(t *testing.T) { t.Errorf("wrong acd value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 478433753 * time.Nanosecond, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 30*time.Second + 982433452*time.Nanosecond, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -405,12 +405,12 @@ func TestACDGetStringValue(t *testing.T) { func TestACDGetStringValue2(t *testing.T) { acd := NewACD(2, "", nil) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 2 * time.Minute}} if err := acd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} acd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if strVal := acd.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "1m30s" { t.Errorf("wrong acd value: %s", strVal) @@ -441,11 +441,11 @@ func TestACDGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 3 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} if err := acd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } @@ -485,11 +485,11 @@ func TestACDCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 3 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} acd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}) acd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) acd.AddEvent(ev3.ID, utils.MapStorage{utils.MetaOpts: ev3.APIOpts}) @@ -534,11 +534,11 @@ func TestACDGetCompressFactor(t *testing.T) { acd := NewACD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaUsage: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 2 * time.Minute}} acd.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) acd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) @@ -561,7 +561,7 @@ func TestACDGetCompressFactor(t *testing.T) { func TestACDGetFloat64Value(t *testing.T) { acd := NewACD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second}} acd.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) @@ -574,13 +574,13 @@ func TestACDGetFloat64Value(t *testing.T) { t.Errorf("wrong acd value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute, utils.MetaStartTime: time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute + 30*time.Second, utils.MetaStartTime: time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -616,7 +616,7 @@ func TestACDGetFloat64Value(t *testing.T) { func TestACDGetValue(t *testing.T) { acd := NewACD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second}} acd.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) @@ -624,7 +624,7 @@ func TestACDGetValue(t *testing.T) { t.Errorf("wrong acd value: %+v", v) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 8 * time.Second}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3"} @@ -642,13 +642,13 @@ func TestACDGetValue(t *testing.T) { t.Errorf("wrong acd value: %+v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 4*time.Minute + 30*time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -672,7 +672,7 @@ func TestACDGetValue(t *testing.T) { func TestTCDGetStringValue(t *testing.T) { tcd := NewTCD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }} @@ -684,7 +684,7 @@ func TestTCDGetStringValue(t *testing.T) { t.Errorf("wrong tcd value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 10 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }} @@ -703,13 +703,13 @@ func TestTCDGetStringValue(t *testing.T) { t.Errorf("wrong tcd value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute + 30*time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -733,12 +733,12 @@ func TestTCDGetStringValue(t *testing.T) { func TestTCDGetStringValue2(t *testing.T) { tcd := NewTCD(2, "", nil) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 2 * time.Minute}} if err := tcd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} tcd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if strVal := tcd.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "3m0s" { t.Errorf("wrong tcd value: %s", strVal) @@ -769,11 +769,11 @@ func TestTCDGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 3 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} if err := tcd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } @@ -801,7 +801,7 @@ func TestTCDGetStringValue3(t *testing.T) { func TestTCDGetFloat64Value(t *testing.T) { tcd := NewTCD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second}} tcd.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) @@ -814,13 +814,13 @@ func TestTCDGetFloat64Value(t *testing.T) { t.Errorf("wrong tcd value: %f", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute + 30*time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -854,7 +854,7 @@ func TestTCDGetFloat64Value(t *testing.T) { func TestTCDGetValue(t *testing.T) { tcd := NewTCD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second}} tcd.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) @@ -862,7 +862,7 @@ func TestTCDGetValue(t *testing.T) { t.Errorf("wrong tcd value: %+v", v) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 5 * time.Second}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3"} @@ -880,13 +880,13 @@ func TestTCDGetValue(t *testing.T) { t.Errorf("wrong tcd value: %+v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute + 30*time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -922,11 +922,11 @@ func TestTCDCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 3 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} tcd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}) tcd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) tcd.AddEvent(ev3.ID, utils.MapStorage{utils.MetaOpts: ev3.APIOpts}) @@ -971,11 +971,11 @@ func TestTCDGetCompressFactor(t *testing.T) { tcd := NewTCD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaUsage: time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: time.Minute}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaUsage: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaUsage: 2 * time.Minute}} tcd.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) tcd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) @@ -998,7 +998,7 @@ func TestTCDGetCompressFactor(t *testing.T) { func TestACCGetStringValue(t *testing.T) { acc := NewACC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 12.3}} if strVal := acc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { @@ -1010,7 +1010,7 @@ func TestACCGetStringValue(t *testing.T) { } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 12.3}} acc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) @@ -1023,11 +1023,11 @@ func TestACCGetStringValue(t *testing.T) { t.Errorf("wrong acc value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 5.6}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 1.2}} acc.AddEvent(ev4.ID, utils.MapStorage{utils.MetaOpts: ev4.APIOpts}) @@ -1056,12 +1056,12 @@ func TestACCGetStringValue(t *testing.T) { func TestACCGetStringValue2(t *testing.T) { acc := NewACC(2, "", nil) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 12.3}} + APIOpts: map[string]any{utils.MetaCost: 12.3}} if err := acc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} acc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if strVal := acc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "15.3" { t.Errorf("wrong acc value: %s", strVal) @@ -1092,11 +1092,11 @@ func TestACCGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 6.2}} + APIOpts: map[string]any{utils.MetaCost: 6.2}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} if err := acc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } @@ -1124,7 +1124,7 @@ func TestACCGetStringValue3(t *testing.T) { func TestACCGetValue(t *testing.T) { acc := NewACC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "12.3"}} if strVal := acc.GetValue(); strVal != utils.DecimalNaN { @@ -1146,11 +1146,11 @@ func TestACCGetValue(t *testing.T) { t.Errorf("wrong acc value: %v", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "5.6"}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "1.2"}} acc.AddEvent(ev4.ID, utils.MapStorage{utils.MetaOpts: ev4.APIOpts}) @@ -1185,11 +1185,11 @@ func TestACCCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 6.2}} + APIOpts: map[string]any{utils.MetaCost: 6.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} acc.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) acc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) expIDs := []string{"EVENT_1", "EVENT_2"} @@ -1245,11 +1245,11 @@ func TestACCGetCompressFactor(t *testing.T) { } acc := NewACC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} acc.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) acc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if CF = acc.GetCompressFactor(make(map[string]uint64)); !reflect.DeepEqual(expectedCF, CF) { @@ -1272,7 +1272,7 @@ func TestACCGetCompressFactor(t *testing.T) { func TestTCCGetStringValue(t *testing.T) { tcc := NewTCC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 12.3}} if strVal := tcc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { @@ -1284,7 +1284,7 @@ func TestTCCGetStringValue(t *testing.T) { } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 5.7}} tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) @@ -1297,11 +1297,11 @@ func TestTCCGetStringValue(t *testing.T) { t.Errorf("wrong tcc value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 5.6}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 1.2}} tcc.AddEvent(ev4.ID, utils.MapStorage{utils.MetaOpts: ev4.APIOpts}) @@ -1331,12 +1331,12 @@ func TestTCCGetStringValue(t *testing.T) { func TestTCCGetStringValue2(t *testing.T) { tcc := NewTCC(2, "", nil) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 12.3}} + APIOpts: map[string]any{utils.MetaCost: 12.3}} if err := tcc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if strVal := tcc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "30.6" { t.Errorf("wrong tcc value: %s", strVal) @@ -1367,11 +1367,11 @@ func TestTCCGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 6.2}} + APIOpts: map[string]any{utils.MetaCost: 6.2}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} if err := tcc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } @@ -1399,7 +1399,7 @@ func TestTCCGetStringValue3(t *testing.T) { func TestTCCGetValue(t *testing.T) { tcc := NewTCC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "12.3"}} if strVal := tcc.GetValue(); strVal != utils.DecimalNaN { @@ -1411,7 +1411,7 @@ func TestTCCGetValue(t *testing.T) { } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2"} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 1.2}} tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) @@ -1424,11 +1424,11 @@ func TestTCCGetValue(t *testing.T) { t.Errorf("wrong tcc value: %v", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "5.6"}} ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "1.2"}} tcc.AddEvent(ev4.ID, utils.MapStorage{utils.MetaOpts: ev4.APIOpts}) @@ -1463,11 +1463,11 @@ func TestTCCCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 6.2}} + APIOpts: map[string]any{utils.MetaCost: 6.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} tcc.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) expIDs := []string{"EVENT_1", "EVENT_2"} @@ -1523,11 +1523,11 @@ func TestTCCGetCompressFactor(t *testing.T) { } tcc := NewTCC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} tcc.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) tcc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if CF = tcc.GetCompressFactor(make(map[string]uint64)); !reflect.DeepEqual(expectedCF, CF) { @@ -1550,7 +1550,7 @@ func TestTCCGetCompressFactor(t *testing.T) { func TestPDDGetStringValue(t *testing.T) { pdd := NewPDD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 5 * time.Second, utils.MetaUsage: 10 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), @@ -1578,14 +1578,14 @@ func TestPDDGetStringValue(t *testing.T) { t.Errorf("wrong pdd value: %s", strVal) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 10 * time.Second, utils.MetaUsage: time.Minute, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{utils.MetaPDD: 10 * time.Second}, + APIOpts: map[string]any{utils.MetaPDD: 10 * time.Second}, } pdd.AddEvent(ev4.ID, utils.MapStorage{utils.MetaOpts: ev4.APIOpts, utils.MetaReq: ev4.Event}) if strVal := pdd.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { @@ -1610,12 +1610,12 @@ func TestPDDGetStringValue(t *testing.T) { func TestPDDGetStringValue2(t *testing.T) { pdd := NewPDD(2, "", nil) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaPDD: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: 2 * time.Minute}} if err := pdd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaPDD: time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: time.Minute}} pdd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if strVal := pdd.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "1m30s" { t.Errorf("wrong pdd value: %s", strVal) @@ -1646,11 +1646,11 @@ func TestPDDGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaPDD: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaPDD: 3 * time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaPDD: time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: time.Minute}} if err := pdd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } @@ -1678,7 +1678,7 @@ func TestPDDGetStringValue3(t *testing.T) { func TestPDDGetFloat64Value(t *testing.T) { pdd := NewPDD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 5 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second}} @@ -1692,14 +1692,14 @@ func TestPDDGetFloat64Value(t *testing.T) { t.Errorf("wrong pdd value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 10 * time.Second, utils.MetaUsage: time.Minute, utils.MetaStartTime: time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute + 30*time.Second, utils.MetaStartTime: time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -1733,7 +1733,7 @@ func TestPDDGetFloat64Value(t *testing.T) { func TestPDDGetValue(t *testing.T) { pdd := NewPDD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 9 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second}} @@ -1742,7 +1742,7 @@ func TestPDDGetValue(t *testing.T) { t.Errorf("wrong pdd value: %+v", v) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 10 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 8 * time.Second}} @@ -1769,14 +1769,14 @@ func TestPDDGetValue(t *testing.T) { t.Errorf("wrong pdd value: %+v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 8 * time.Second, utils.MetaUsage: time.Minute, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 4*time.Minute + 30*time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), }, @@ -1816,11 +1816,11 @@ func TestPDDCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaPDD: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: 2 * time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaPDD: 3 * time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: 3 * time.Minute}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaPDD: time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: time.Minute}} pdd.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}) pdd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) pdd.AddEvent(ev3.ID, utils.MapStorage{utils.MetaOpts: ev3.APIOpts}) @@ -1865,11 +1865,11 @@ func TestPDDGetCompressFactor(t *testing.T) { pdd := NewPDD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaPDD: time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: time.Minute}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaPDD: time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: time.Minute}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaPDD: 2 * time.Minute}} + APIOpts: map[string]any{utils.MetaPDD: 2 * time.Minute}} pdd.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) pdd.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) @@ -1892,7 +1892,7 @@ func TestPDDGetCompressFactor(t *testing.T) { func TestDDCGetStringValue(t *testing.T) { ddc := NewDDC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} if strVal := ddc.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { @@ -1904,12 +1904,12 @@ func TestDDCGetStringValue(t *testing.T) { t.Errorf("wrong ddc value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1001", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) @@ -1934,7 +1934,7 @@ func TestDDCGetStringValue(t *testing.T) { func TestDDCGetFloat64Value(t *testing.T) { ddc := NewDDC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaPDD: 5 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), @@ -1949,7 +1949,7 @@ func TestDDCGetFloat64Value(t *testing.T) { t.Errorf("wrong ddc value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1001", utils.MetaPDD: 10 * time.Second, utils.MetaUsage: time.Minute, @@ -1957,7 +1957,7 @@ func TestDDCGetFloat64Value(t *testing.T) { }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1003", utils.MetaUsage: time.Minute + 30*time.Second, utils.MetaStartTime: time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), @@ -1992,7 +1992,7 @@ func TestDDCGetFloat64Value(t *testing.T) { func TestDDCGetStringValue2(t *testing.T) { statDistinct := NewDDC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaDestination: "1001"}} + APIOpts: map[string]any{utils.MetaDestination: "1001"}} if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong statDistinct value: %s", strVal) } @@ -2002,7 +2002,7 @@ func TestDDCGetStringValue2(t *testing.T) { t.Errorf("wrong statDistinct value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaDestination: "1002"}} + APIOpts: map[string]any{utils.MetaDestination: "1002"}} statDistinct.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "2" { t.Errorf("wrong statDistinct value: %s", strVal) @@ -2041,11 +2041,11 @@ func TestDDCCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaDestination: "1001"}} + APIOpts: map[string]any{utils.MetaDestination: "1001"}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaDestination: "1001"}} + APIOpts: map[string]any{utils.MetaDestination: "1001"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaDestination: "1002"}} + APIOpts: map[string]any{utils.MetaDestination: "1002"}} ddc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}) ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) ddc.AddEvent(ev3.ID, utils.MapStorage{utils.MetaOpts: ev3.APIOpts}) @@ -2079,11 +2079,11 @@ func TestDDCGetCompressFactor(t *testing.T) { ddc := NewDDC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaDestination: "1002"}} + APIOpts: map[string]any{utils.MetaDestination: "1002"}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaDestination: "1001"}} + APIOpts: map[string]any{utils.MetaDestination: "1001"}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaDestination: "1001"}} + APIOpts: map[string]any{utils.MetaDestination: "1001"}} ddc.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) @@ -2106,7 +2106,7 @@ func TestDDCGetCompressFactor(t *testing.T) { func TestStatSumGetFloat64Value(t *testing.T) { statSum := NewStatSum(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaPDD: 5 * time.Second, utils.MetaCost: "20", @@ -2124,7 +2124,7 @@ func TestStatSumGetFloat64Value(t *testing.T) { t.Errorf("wrong statSum value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1001", utils.MetaPDD: 10 * time.Second, utils.MetaCost: "20", @@ -2133,7 +2133,7 @@ func TestStatSumGetFloat64Value(t *testing.T) { }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1003", utils.MetaCost: "20", utils.MetaUsage: time.Minute + 30*time.Second, @@ -2169,7 +2169,7 @@ func TestStatSumGetFloat64Value(t *testing.T) { func TestStatSumGetStringValue(t *testing.T) { statSum := NewStatSum(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaCost: "20", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} @@ -2182,13 +2182,13 @@ func TestStatSumGetStringValue(t *testing.T) { t.Errorf("wrong statSum value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaCost: "20", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1001", utils.MetaCost: "20", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} @@ -2214,12 +2214,12 @@ func TestStatSumGetStringValue(t *testing.T) { func TestStatSumGetStringValue2(t *testing.T) { statSum := NewStatSum(2, "~*opts.*cost", nil) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 12.3}} + APIOpts: map[string]any{utils.MetaCost: 12.3}} if err := statSum.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} statSum.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if strVal := statSum.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "30.6" { t.Errorf("wrong statSum value: %s", strVal) @@ -2251,11 +2251,11 @@ func TestStatSumGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 6.2}} + APIOpts: map[string]any{utils.MetaCost: 6.2}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} if err := statSum.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } @@ -2296,11 +2296,11 @@ func TestStatSumCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 6.2}} + APIOpts: map[string]any{utils.MetaCost: 6.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} sum.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) sum.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) expIDs := []string{"EVENT_1", "EVENT_2"} @@ -2357,11 +2357,11 @@ func TestStatSumGetCompressFactor(t *testing.T) { } sum := NewStatSum(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} sum.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) sum.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if CF = sum.GetCompressFactor(make(map[string]uint64)); !reflect.DeepEqual(expectedCF, CF) { @@ -2384,7 +2384,7 @@ func TestStatSumGetCompressFactor(t *testing.T) { func TestStatAverageGetFloat64Value(t *testing.T) { statAvg := NewStatAverage(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: "20", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second, @@ -2400,7 +2400,7 @@ func TestStatAverageGetFloat64Value(t *testing.T) { t.Errorf("wrong statAvg value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: "30", utils.MetaUsage: time.Minute, utils.MetaStartTime: time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), @@ -2409,7 +2409,7 @@ func TestStatAverageGetFloat64Value(t *testing.T) { }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: "20", utils.MetaUsage: time.Minute + 30*time.Second, utils.MetaStartTime: time.Date(2015, 7, 14, 14, 25, 0, 0, time.UTC), @@ -2445,7 +2445,7 @@ func TestStatAverageGetFloat64Value(t *testing.T) { func TestStatAverageGetStringValue(t *testing.T) { statAvg := NewStatAverage(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: "20", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaDestination: "1002"}} @@ -2458,13 +2458,13 @@ func TestStatAverageGetStringValue(t *testing.T) { t.Errorf("wrong statAvg value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: "20", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaDestination: "1002"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: "20", utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaDestination: "1001"}} @@ -2490,12 +2490,12 @@ func TestStatAverageGetStringValue(t *testing.T) { func TestStatAverageGetStringValue2(t *testing.T) { statAvg := NewStatAverage(2, "~*opts.*cost", nil) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 12.3}} + APIOpts: map[string]any{utils.MetaCost: 12.3}} if err := statAvg.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} statAvg.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if strVal := statAvg.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "15.3" { t.Errorf("wrong statAvg value: %s", strVal) @@ -2527,11 +2527,11 @@ func TestStatAverageGetStringValue3(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 6.2}} + APIOpts: map[string]any{utils.MetaCost: 6.2}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} if err := statAvg.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}); err != nil { t.Error(err) } @@ -2572,11 +2572,11 @@ func TestStatAverageCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 6.2}} + APIOpts: map[string]any{utils.MetaCost: 6.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.3}} + APIOpts: map[string]any{utils.MetaCost: 18.3}} avg.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) avg.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) expIDs := []string{"EVENT_1", "EVENT_2"} @@ -2632,11 +2632,11 @@ func TestStatAverageGetCompressFactor(t *testing.T) { } avg := NewStatAverage(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: 18.2}} + APIOpts: map[string]any{utils.MetaCost: 18.2}} avg.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) avg.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if CF = avg.GetCompressFactor(make(map[string]uint64)); !reflect.DeepEqual(expectedCF, CF) { @@ -2659,7 +2659,7 @@ func TestStatAverageGetCompressFactor(t *testing.T) { func TestStatDistinctGetFloat64Value(t *testing.T) { statDistinct := NewStatDistinct(2, "~*opts.*usage", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaUsage: 10 * time.Second}} + APIOpts: map[string]any{utils.MetaUsage: 10 * time.Second}} statDistinct.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) if v := statDistinct.GetValue(); v != utils.DecimalNaN { t.Errorf("wrong statDistinct value: %v", v) @@ -2670,12 +2670,12 @@ func TestStatDistinctGetFloat64Value(t *testing.T) { t.Errorf("wrong statDistinct value: %v", v) } ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_4", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute, }, } ev5 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_5", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute + 30*time.Second, }, } @@ -2710,7 +2710,7 @@ func TestStatDistinctGetFloat64Value(t *testing.T) { func TestStatDistinctGetStringValue(t *testing.T) { statDistinct := NewStatDistinct(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: "20"}} + APIOpts: map[string]any{utils.MetaCost: "20"}} if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong statDistinct value: %s", strVal) } @@ -2720,9 +2720,9 @@ func TestStatDistinctGetStringValue(t *testing.T) { t.Errorf("wrong statDistinct value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaCost: "20"}} + APIOpts: map[string]any{utils.MetaCost: "20"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaCost: "40"}} + APIOpts: map[string]any{utils.MetaCost: "40"}} statDistinct.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) statDistinct.AddEvent(ev3.ID, utils.MapStorage{utils.MetaOpts: ev3.APIOpts}) if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "2" { @@ -2745,7 +2745,7 @@ func TestStatDistinctGetStringValue(t *testing.T) { func TestStatDistinctGetStringValue2(t *testing.T) { statDistinct := NewStatDistinct(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: "20"}} + APIOpts: map[string]any{utils.MetaCost: "20"}} if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong statDistinct value: %s", strVal) } @@ -2755,7 +2755,7 @@ func TestStatDistinctGetStringValue2(t *testing.T) { t.Errorf("wrong statDistinct value: %s", strVal) } ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaCost: "40"}} + APIOpts: map[string]any{utils.MetaCost: "40"}} statDistinct.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) if strVal := statDistinct.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != "2" { t.Errorf("wrong statDistinct value: %s", strVal) @@ -2796,11 +2796,11 @@ func TestStatDistinctCompress(t *testing.T) { } expected.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals) ev1 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaDestination: "1001"}} + APIOpts: map[string]any{utils.MetaDestination: "1001"}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaDestination: "1001"}} + APIOpts: map[string]any{utils.MetaDestination: "1001"}} ev3 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_3", - APIOpts: map[string]interface{}{utils.MetaDestination: "1002"}} + APIOpts: map[string]any{utils.MetaDestination: "1002"}} ddc.AddEvent(ev1.ID, utils.MapStorage{utils.MetaOpts: ev1.APIOpts}) ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) ddc.AddEvent(ev3.ID, utils.MapStorage{utils.MetaOpts: ev3.APIOpts}) @@ -2834,11 +2834,11 @@ func TestStatDistinctGetCompressFactor(t *testing.T) { ddc := NewStatDistinct(2, utils.DynamicDataPrefix+utils.MetaOpts+utils.NestingSep+utils.MetaDestination, nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{utils.MetaDestination: "1002"}} + APIOpts: map[string]any{utils.MetaDestination: "1002"}} ev2 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaDestination: "1001"}} + APIOpts: map[string]any{utils.MetaDestination: "1001"}} ev4 := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_2", - APIOpts: map[string]interface{}{utils.MetaDestination: "1001"}} + APIOpts: map[string]any{utils.MetaDestination: "1001"}} ddc.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) ddc.AddEvent(ev2.ID, utils.MapStorage{utils.MetaOpts: ev2.APIOpts}) @@ -2866,7 +2866,7 @@ func TestASRMarshal(t *testing.T) { t.Error(err) } ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} asr.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) var nasr StatASR @@ -2885,7 +2885,7 @@ func TestASRMarshal(t *testing.T) { func TestACDMarshal(t *testing.T) { acd := NewACD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second}} acd.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) @@ -2905,7 +2905,7 @@ func TestACDMarshal(t *testing.T) { func TestTCDMarshal(t *testing.T) { tcd := NewTCD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second}} tcd.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) @@ -2925,7 +2925,7 @@ func TestTCDMarshal(t *testing.T) { func TestACCMarshal(t *testing.T) { acc := NewACC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "12.3"}} acc.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) @@ -2945,7 +2945,7 @@ func TestACCMarshal(t *testing.T) { func TestTCCMarshal(t *testing.T) { tcc := NewTCC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "12.3"}} tcc.AddEvent(ev.ID, utils.MapStorage{utils.MetaOpts: ev.APIOpts}) @@ -2965,7 +2965,7 @@ func TestTCCMarshal(t *testing.T) { func TestPDDMarshal(t *testing.T) { pdd := NewPDD(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 5 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 10 * time.Second}} @@ -2986,7 +2986,7 @@ func TestPDDMarshal(t *testing.T) { func TestDCCMarshal(t *testing.T) { ddc := NewDDC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaPDD: 5 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), @@ -3008,7 +3008,7 @@ func TestDCCMarshal(t *testing.T) { func TestStatSumMarshal(t *testing.T) { statSum := NewStatSum(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaPDD: 5 * time.Second, utils.MetaCost: "20", @@ -3031,7 +3031,7 @@ func TestStatSumMarshal(t *testing.T) { func TestStatAverageMarshal(t *testing.T) { statAvg := NewStatAverage(2, "~*opts.*cost", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaPDD: 5 * time.Second, utils.MetaCost: "20", @@ -3054,7 +3054,7 @@ func TestStatAverageMarshal(t *testing.T) { func TestStatDistrictMarshal(t *testing.T) { statDistinct := NewStatDistinct(2, "~*opts.*usage", nil) statDistinct.AddEvent("EVENT_1", utils.MapStorage{ - utils.MetaOpts: map[string]interface{}{ + utils.MetaOpts: map[string]any{ utils.MetaDestination: "1002", utils.MetaPDD: 5 * time.Second, utils.MetaCost: "20", @@ -3222,7 +3222,7 @@ func TestStatMetricsStatDistinctRemEvent2(t *testing.T) { func TestStatMetricsStatDistinctAddEventErr(t *testing.T) { asr := NewASR(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC)}} if strVal := asr.GetStringValue(config.CgrConfig().GeneralCfg().RoundingDecimals); strVal != utils.NotAvailable { t.Errorf("wrong asr value: %s", strVal) @@ -3521,7 +3521,7 @@ func TestStatMetricsStatDDCGetValue(t *testing.T) { func TestStatMetricsStatASRAddEventErr1(t *testing.T) { asr := &StatASR{Metric: NewMetric(2, nil)} - err := asr.AddEvent("EVENT_1", utils.MapStorage{utils.MetaOpts: map[string]interface{}{utils.MetaStartTime: "10"}}) + err := asr.AddEvent("EVENT_1", utils.MapStorage{utils.MetaOpts: map[string]any{utils.MetaStartTime: "10"}}) if err == nil || err.Error() != "Unsupported time format" { t.Errorf("\nExpecting ,\n Recevied <%+v>", err) } @@ -3645,7 +3645,7 @@ func (mockDP) String() string { return "" } -func (mockDP) FieldAsInterface(fldPath []string) (interface{}, error) { +func (mockDP) FieldAsInterface(fldPath []string) (any, error) { return nil, utils.ErrAccountNotFound } @@ -3842,7 +3842,7 @@ func TestStatDistinctClone(t *testing.T) { func TestACCAddEventErr(t *testing.T) { acc := NewACC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "wrong input"}} @@ -3856,7 +3856,7 @@ func TestACCAddEventErr(t *testing.T) { func TestTCCAddEventErr(t *testing.T) { tcc := NewTCC(2, "", nil) ev := &utils.CGREvent{Tenant: "cgrates.org", ID: "EVENT_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: "wrong input"}} diff --git a/engine/stats.go b/engine/stats.go index 40ec3fb1d..8802d9e76 100644 --- a/engine/stats.go +++ b/engine/stats.go @@ -277,12 +277,12 @@ func (sS *StatS) storeStatQueue(ctx *context.Context, sq *StatQueue) { } // processThresholds will pass the event for statQueue to ThresholdS -func (sS *StatS) processThresholds(ctx *context.Context, sQs StatQueues, opts map[string]interface{}) (err error) { +func (sS *StatS) processThresholds(ctx *context.Context, sQs StatQueues, opts map[string]any) (err error) { if len(sS.cfg.StatSCfg().ThresholdSConns) == 0 { return } if opts == nil { - opts = make(map[string]interface{}) + opts = make(map[string]any) } opts[utils.MetaEventType] = utils.StatUpdate var withErrs bool @@ -295,7 +295,7 @@ func (sS *StatS) processThresholds(ctx *context.Context, sQs StatQueues, opts ma thEv := &utils.CGREvent{ Tenant: sq.Tenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.StatUpdate, utils.StatID: sq.ID, }, diff --git a/engine/stats_test.go b/engine/stats_test.go index 7d1acc9b4..e1aef9997 100644 --- a/engine/stats_test.go +++ b/engine/stats_test.go @@ -128,7 +128,7 @@ var ( { Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Stats": "StatQueueProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -141,7 +141,7 @@ var ( { Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Stats": "StatQueueProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -153,7 +153,7 @@ var ( { Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Stats": "StatQueueProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -490,7 +490,7 @@ func TestStatQueuesV1ProcessEvent(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", sqPrf, tempStat) } ev := testStatsArgs[0].Clone() - ev.APIOpts = make(map[string]interface{}) + ev.APIOpts = make(map[string]any) ev.APIOpts[utils.OptsStatsProfileIDs] = []string{"StatQueueProfile1", "StatQueueProfile2", "StatQueueProfile3"} reply := []string{} expected := []string{"StatQueueProfile1", "StatQueueProfile3"} @@ -1279,10 +1279,10 @@ func TestStatQueueProcessEventOK(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "10s", utils.OptsStatsProfileIDs: []string{"SQ1"}, }, @@ -1340,7 +1340,7 @@ func TestStatQueueProcessEventProcessThPartExec(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -1415,10 +1415,10 @@ func TestStatQueueV1ProcessEventMissingArgs(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, }, } @@ -1433,7 +1433,7 @@ func TestStatQueueV1ProcessEventMissingArgs(t *testing.T) { Tenant: "cgrates.org", ID: "SqProcessEvent", Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, }, } @@ -1774,7 +1774,7 @@ func TestStatQueueV1GetStatQueuesForEventOK(t *testing.T) { args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1832,7 +1832,7 @@ func TestStatQueueV1GetStatQueuesForEventNotFoundErr(t *testing.T) { args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -1893,7 +1893,7 @@ func TestStatQueueV1GetStatQueuesForEventMissingArgs(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.EmptyString, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -2311,17 +2311,17 @@ func TestStatQueueProcessThresholdsOK(t *testing.T) { Cache = NewCacheS(cfg, dm, nil, nil) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { exp := &utils.CGREvent{ Tenant: "cgrates.org", ID: args.(*utils.CGREvent).ID, - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.StatUpdate, utils.StatID: "SQ1", "testMetricType": utils.NewDecimal(int64(time.Hour), 0), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.StatUpdate, utils.OptsThresholdsProfileIDs: []string{"TH1"}, }, @@ -2416,8 +2416,8 @@ func TestStatQueueProcessThresholdsErrPartExec(t *testing.T) { Cache = NewCacheS(cfg, dm, nil, nil) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { return utils.ErrExists }, }, @@ -3091,10 +3091,10 @@ func TestStatQueueProcessEventProfileIgnoreFilters(t *testing.T) { args2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Stat": "testStatValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, utils.MetaProfileIgnoreFilters: false, }, @@ -3110,10 +3110,10 @@ func TestStatQueueProcessEventProfileIgnoreFilters(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Stat": "testStatValue2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, utils.MetaProfileIgnoreFilters: true, }, @@ -3165,10 +3165,10 @@ func TestStatQueueProcessEventProfileIgnoreFiltersError(t *testing.T) { args2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Stat": "testStatValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, utils.MetaProfileIgnoreFilters: time.Second, }, @@ -3226,10 +3226,10 @@ func TestStatQueueV1GetStatQueuesForEventProfileIgnoreFilters(t *testing.T) { args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStatsProfileIDs: []string{"SQ1"}, utils.MetaProfileIgnoreFilters: true, }, @@ -3582,7 +3582,7 @@ func TestStatSV1GetStatQueuesForEventsqIDsErr(t *testing.T) { args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -3666,7 +3666,7 @@ func TestStatSV1GetStatQueuesForEventignFiltersErr(t *testing.T) { args := &utils.CGREvent{ ID: "TestGetStatQueuesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -3694,7 +3694,7 @@ func TestStatQueuesProcessEventidsErr(t *testing.T) { args := &utils.CGREvent{ Tenant: utils.EmptyString, ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -3782,10 +3782,10 @@ func TestStatQueueProcessEventProfileIDsErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } sS.cfg.StatSCfg().Opts.ProfileIDs = []*utils.DynamicStringSliceOpt{ @@ -3863,10 +3863,10 @@ func TestStatQueueProcessEventPrometheusStatIDsErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "10s", utils.OptsStatsProfileIDs: []string{"SQ1"}, }, @@ -3953,10 +3953,10 @@ func TestStatQueueProcessEventExpiredErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "10s", utils.OptsStatsProfileIDs: []string{"SQ1"}, }, @@ -4041,10 +4041,10 @@ func TestStatQueueProcessEventBlockerErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "SqProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "10s", utils.OptsStatsProfileIDs: []string{"SQ1"}, }, diff --git a/engine/storage_csv.go b/engine/storage_csv.go index f1ce02a61..990bad7b6 100644 --- a/engine/storage_csv.go +++ b/engine/storage_csv.go @@ -277,7 +277,7 @@ func appendName(paths []string, fileName string) (out []string) { return } -func (csvs *CSVStorage) proccesData(listType interface{}, fns []string, process func(interface{})) error { +func (csvs *CSVStorage) proccesData(listType any, fns []string, process func(any)) error { collumnCount := getColumnCount(listType) for _, fileName := range fns { csvReader := csvs.generator() @@ -310,7 +310,7 @@ func (csvs *CSVStorage) proccesData(listType interface{}, fns []string, process func (csvs *CSVStorage) GetTPResources(tpid, tenant, id string) ([]*utils.TPResourceProfile, error) { var tpResLimits ResourceMdls - if err := csvs.proccesData(ResourceMdl{}, csvs.resProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(ResourceMdl{}, csvs.resProfilesFn, func(tp any) { tpLimit := tp.(ResourceMdl) tpLimit.Tpid = tpid tpResLimits = append(tpResLimits, &tpLimit) @@ -322,7 +322,7 @@ func (csvs *CSVStorage) GetTPResources(tpid, tenant, id string) ([]*utils.TPReso func (csvs *CSVStorage) GetTPStats(tpid, tenant, id string) ([]*utils.TPStatProfile, error) { var tpStats StatMdls - if err := csvs.proccesData(StatMdl{}, csvs.statsFn, func(tp interface{}) { + if err := csvs.proccesData(StatMdl{}, csvs.statsFn, func(tp any) { tPstats := tp.(StatMdl) tPstats.Tpid = tpid tpStats = append(tpStats, &tPstats) @@ -334,7 +334,7 @@ func (csvs *CSVStorage) GetTPStats(tpid, tenant, id string) ([]*utils.TPStatProf func (csvs *CSVStorage) GetTPThresholds(tpid, tenant, id string) ([]*utils.TPThresholdProfile, error) { var tpThreshold ThresholdMdls - if err := csvs.proccesData(ThresholdMdl{}, csvs.thresholdsFn, func(tp interface{}) { + if err := csvs.proccesData(ThresholdMdl{}, csvs.thresholdsFn, func(tp any) { tHresholdCfg := tp.(ThresholdMdl) tHresholdCfg.Tpid = tpid tpThreshold = append(tpThreshold, &tHresholdCfg) @@ -346,7 +346,7 @@ func (csvs *CSVStorage) GetTPThresholds(tpid, tenant, id string) ([]*utils.TPThr func (csvs *CSVStorage) GetTPFilters(tpid, tenant, id string) ([]*utils.TPFilterProfile, error) { var tpFilter FilterMdls - if err := csvs.proccesData(FilterMdl{}, csvs.filterFn, func(tp interface{}) { + if err := csvs.proccesData(FilterMdl{}, csvs.filterFn, func(tp any) { fIlterCfg := tp.(FilterMdl) fIlterCfg.Tpid = tpid tpFilter = append(tpFilter, &fIlterCfg) @@ -358,7 +358,7 @@ func (csvs *CSVStorage) GetTPFilters(tpid, tenant, id string) ([]*utils.TPFilter func (csvs *CSVStorage) GetTPRoutes(tpid, tenant, id string) ([]*utils.TPRouteProfile, error) { var tpRoutes RouteMdls - if err := csvs.proccesData(RouteMdl{}, csvs.routeProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(RouteMdl{}, csvs.routeProfilesFn, func(tp any) { suppProfile := tp.(RouteMdl) suppProfile.Tpid = tpid tpRoutes = append(tpRoutes, &suppProfile) @@ -370,7 +370,7 @@ func (csvs *CSVStorage) GetTPRoutes(tpid, tenant, id string) ([]*utils.TPRoutePr func (csvs *CSVStorage) GetTPAttributes(tpid, tenant, id string) ([]*utils.TPAttributeProfile, error) { var tpAls AttributeMdls - if err := csvs.proccesData(AttributeMdl{}, csvs.attributeProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(AttributeMdl{}, csvs.attributeProfilesFn, func(tp any) { attributeProfile := tp.(AttributeMdl) attributeProfile.Tpid = tpid tpAls = append(tpAls, &attributeProfile) @@ -382,7 +382,7 @@ func (csvs *CSVStorage) GetTPAttributes(tpid, tenant, id string) ([]*utils.TPAtt func (csvs *CSVStorage) GetTPChargers(tpid, tenant, id string) ([]*utils.TPChargerProfile, error) { var tpCPPs ChargerMdls - if err := csvs.proccesData(ChargerMdl{}, csvs.chargerProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(ChargerMdl{}, csvs.chargerProfilesFn, func(tp any) { cpp := tp.(ChargerMdl) cpp.Tpid = tpid tpCPPs = append(tpCPPs, &cpp) @@ -394,7 +394,7 @@ func (csvs *CSVStorage) GetTPChargers(tpid, tenant, id string) ([]*utils.TPCharg func (csvs *CSVStorage) GetTPDispatcherProfiles(tpid, tenant, id string) ([]*utils.TPDispatcherProfile, error) { var tpDPPs DispatcherProfileMdls - if err := csvs.proccesData(DispatcherProfileMdl{}, csvs.dispatcherProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(DispatcherProfileMdl{}, csvs.dispatcherProfilesFn, func(tp any) { dpp := tp.(DispatcherProfileMdl) dpp.Tpid = tpid tpDPPs = append(tpDPPs, &dpp) @@ -406,7 +406,7 @@ func (csvs *CSVStorage) GetTPDispatcherProfiles(tpid, tenant, id string) ([]*uti func (csvs *CSVStorage) GetTPDispatcherHosts(tpid, tenant, id string) ([]*utils.TPDispatcherHost, error) { var tpDDHs DispatcherHostMdls - if err := csvs.proccesData(DispatcherHostMdl{}, csvs.dispatcherHostsFn, func(tp interface{}) { + if err := csvs.proccesData(DispatcherHostMdl{}, csvs.dispatcherHostsFn, func(tp any) { dpp := tp.(DispatcherHostMdl) dpp.Tpid = tpid tpDDHs = append(tpDDHs, &dpp) @@ -422,7 +422,7 @@ func (csvs *CSVStorage) GetTPDispatcherHosts(tpid, tenant, id string) ([]*utils. func (csvs *CSVStorage) GetTPRateProfiles(tpid, tenant, id string) ([]*utils.TPRateProfile, error) { var tpDPPs RateProfileMdls - if err := csvs.proccesData(RateProfileMdl{}, csvs.rateProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(RateProfileMdl{}, csvs.rateProfilesFn, func(tp any) { dpp := tp.(RateProfileMdl) dpp.Tpid = tpid tpDPPs = append(tpDPPs, &dpp) @@ -434,7 +434,7 @@ func (csvs *CSVStorage) GetTPRateProfiles(tpid, tenant, id string) ([]*utils.TPR func (csvs *CSVStorage) GetTPActionProfiles(tpid, tenant, id string) ([]*utils.TPActionProfile, error) { var tpDPPs ActionProfileMdls - if err := csvs.proccesData(ActionProfileMdl{}, csvs.actionProfilesFn, func(tp interface{}) { + if err := csvs.proccesData(ActionProfileMdl{}, csvs.actionProfilesFn, func(tp any) { dpp := tp.(ActionProfileMdl) dpp.Tpid = tpid tpDPPs = append(tpDPPs, &dpp) @@ -446,7 +446,7 @@ func (csvs *CSVStorage) GetTPActionProfiles(tpid, tenant, id string) ([]*utils.T func (csvs *CSVStorage) GetTPAccounts(tpid, tenant, id string) ([]*utils.TPAccount, error) { var tpDPPs AccountMdls - if err := csvs.proccesData(AccountMdl{}, csvs.accountsFn, func(tp interface{}) { + if err := csvs.proccesData(AccountMdl{}, csvs.accountsFn, func(tp any) { dpp := tp.(AccountMdl) dpp.Tpid = tpid tpDPPs = append(tpDPPs, &dpp) @@ -657,7 +657,7 @@ func (c *csvGoogle) Open(data string, sep rune, nrFields int) (err error) { return } -func (c *csvGoogle) getNextRow() (row []interface{}, err error) { +func (c *csvGoogle) getNextRow() (row []any, err error) { if len(c.response.Values) <= c.indx { return nil, io.EOF } diff --git a/engine/storage_internal_config.go b/engine/storage_internal_config.go index 0406da296..f5c163b2a 100644 --- a/engine/storage_internal_config.go +++ b/engine/storage_internal_config.go @@ -24,9 +24,9 @@ import ( // no config for internal -func (*InternalDB) GetSection(*context.Context, string, interface{}) error { +func (*InternalDB) GetSection(*context.Context, string, any) error { return nil } -func (*InternalDB) SetSection(*context.Context, string, interface{}) error { +func (*InternalDB) SetSection(*context.Context, string, any) error { return nil } diff --git a/engine/storage_mongo_config.go b/engine/storage_mongo_config.go index 1416321b1..515b24013 100644 --- a/engine/storage_mongo_config.go +++ b/engine/storage_mongo_config.go @@ -29,7 +29,7 @@ const ( ColCfg = "config" ) -func (ms *MongoStorage) GetSection(ctx *context.Context, section string, val interface{}) error { +func (ms *MongoStorage) GetSection(ctx *context.Context, section string, val any) error { return ms.query(context.TODO(), func(sctx mongo.SessionContext) (err error) { cur := ms.getCol(ColCfg).FindOne(sctx, bson.M{"section": section}, options.FindOne().SetProjection(bson.M{"cfg": 1, "_id": 0 /*"section": 0, */})) @@ -44,7 +44,7 @@ func (ms *MongoStorage) GetSection(ctx *context.Context, section string, val int }) } -func (ms *MongoStorage) SetSection(ctx *context.Context, section string, jsn interface{}) (err error) { +func (ms *MongoStorage) SetSection(ctx *context.Context, section string, jsn any) (err error) { return ms.query(ctx, func(sctx mongo.SessionContext) (err error) { _, err = ms.getCol(ColCfg).UpdateOne(sctx, bson.M{"section": section}, bson.M{"$set": bson.M{ diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go index b39c18159..9a0723054 100644 --- a/engine/storage_mongo_datadb.go +++ b/engine/storage_mongo_datadb.go @@ -1192,7 +1192,7 @@ func (ms *MongoStorage) RemoveLoadIDsDrv() (err error) { } func (ms *MongoStorage) GetRateProfileDrv(ctx *context.Context, tenant, id string) (rpp *utils.RateProfile, err error) { - mapRP := make(map[string]interface{}) + mapRP := make(map[string]any) err = ms.query(ctx, func(sctx mongo.SessionContext) (err error) { cur := ms.getCol(ColRpp).FindOne(sctx, bson.M{"tenant": tenant, "id": id}) if err := cur.Decode(mapRP); err != nil { diff --git a/engine/storage_redis.go b/engine/storage_redis.go index 7c8ca6ebe..942343367 100644 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -179,13 +179,13 @@ func newRedisClient(address, sentinelName string, isCluster bool, // Cmd function get a connection from the pool. // Handles automatic failover in case of network disconnects -func (rs *RedisStorage) Cmd(rcv interface{}, cmd string, args ...string) error { +func (rs *RedisStorage) Cmd(rcv any, cmd string, args ...string) error { return rs.client.Do(radix.Cmd(rcv, cmd, args...)) } // FlatCmd function get a connection from the pool. // Handles automatic failover in case of network disconnects -func (rs *RedisStorage) FlatCmd(rcv interface{}, cmd, key string, args ...interface{}) error { +func (rs *RedisStorage) FlatCmd(rcv any, cmd, key string, args ...any) error { return rs.client.Do(radix.FlatCmd(rcv, cmd, key, args...)) } @@ -768,7 +768,7 @@ func (rs *RedisStorage) SetRateProfileDrv(ctx *context.Context, rpp *utils.RateP } func (rs *RedisStorage) GetRateProfileDrv(ctx *context.Context, tenant, id string) (rpp *utils.RateProfile, err error) { - mapRP := make(map[string]interface{}) + mapRP := make(map[string]any) if err = rs.Cmd(&mapRP, redisHGETALL, utils.RateProfilePrefix+utils.ConcatenatedKey(tenant, id)); err != nil { return } else if len(mapRP) == 0 { diff --git a/engine/storage_redis_config.go b/engine/storage_redis_config.go index cfd8c2954..93e9d28f3 100644 --- a/engine/storage_redis_config.go +++ b/engine/storage_redis_config.go @@ -23,7 +23,7 @@ import ( "github.com/cgrates/cgrates/utils" ) -func (rs *RedisStorage) GetSection(ctx *context.Context, section string, val interface{}) (err error) { +func (rs *RedisStorage) GetSection(ctx *context.Context, section string, val any) (err error) { var values []byte if err = rs.Cmd(&values, redisGET, utils.ConfigPrefix+section); err != nil || len(values) == 0 { return @@ -32,7 +32,7 @@ func (rs *RedisStorage) GetSection(ctx *context.Context, section string, val int return } -func (rs *RedisStorage) SetSection(_ *context.Context, section string, jsn interface{}) (err error) { +func (rs *RedisStorage) SetSection(_ *context.Context, section string, jsn any) (err error) { var result []byte if result, err = rs.ms.Marshal(jsn); err != nil { return diff --git a/engine/storage_sql.go b/engine/storage_sql.go index 3e85f95f9..62170503d 100644 --- a/engine/storage_sql.go +++ b/engine/storage_sql.go @@ -194,8 +194,8 @@ func (sqls *SQLStorage) GetTpTableIds(tpid, table string, distinct []string, if err != nil { return nil, err } - vals := make([]string, len(cols)) // Allocate enough values - ints := make([]interface{}, len(cols)) // Make a slice of []interface{} + vals := make([]string, len(cols)) // Allocate enough values + ints := make([]any, len(cols)) // Make a slice of []any for i := range ints { ints[i] = &vals[i] // Copy references into the slice } diff --git a/engine/thresholds.go b/engine/thresholds.go index 24404af51..476b40631 100644 --- a/engine/thresholds.go +++ b/engine/thresholds.go @@ -34,7 +34,7 @@ import ( // ThresholdProfileWithAPIOpts is used in replicatorV1 for dispatcher type ThresholdProfileWithAPIOpts struct { *ThresholdProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // ThresholdProfile the profile for threshold @@ -91,7 +91,7 @@ func (tp *ThresholdProfile) isLocked() bool { // ThresholdWithAPIOpts is used in replicatorV1 for dispatcher type ThresholdWithAPIOpts struct { *Threshold - APIOpts map[string]interface{} + APIOpts map[string]any } // Threshold is the unit matched by filters @@ -154,7 +154,7 @@ func processEventWithThreshold(ctx *context.Context, connMgr *ConnManager, actio } if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } args.APIOpts[utils.OptsActionsProfileIDs] = t.tPrfl.ActionProfileIDs @@ -598,7 +598,7 @@ func (tS *ThresholdS) V1ResetThreshold(ctx *context.Context, tntID *utils.Tenant return } -func (tp *ThresholdProfile) Set(path []string, val interface{}, _ bool, _ string) (err error) { +func (tp *ThresholdProfile) Set(path []string, val any, _ bool, _ string) (err error) { if len(path) != 1 { return utils.ErrWrongPath } @@ -640,7 +640,7 @@ func (tp *ThresholdProfile) Set(path []string, val interface{}, _ bool, _ string return } -func (tp *ThresholdProfile) Merge(v2 interface{}) { +func (tp *ThresholdProfile) Merge(v2 any) { vi := v2.(*ThresholdProfile) if len(vi.Tenant) != 0 { tp.Tenant = vi.Tenant @@ -670,13 +670,13 @@ func (tp *ThresholdProfile) Merge(v2 interface{}) { func (tp *ThresholdProfile) String() string { return utils.ToJSON(tp) } func (tp *ThresholdProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = tp.FieldAsInterface(fldPath); err != nil { return } return utils.IfaceAsString(val), nil } -func (tp *ThresholdProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (tp *ThresholdProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, utils.ErrNotFound } diff --git a/engine/thresholds_test.go b/engine/thresholds_test.go index 35809842a..21fb2ff50 100644 --- a/engine/thresholds_test.go +++ b/engine/thresholds_test.go @@ -270,7 +270,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_1", "Weight": "10.0", }, @@ -278,7 +278,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_2", "Weight": "20.0", }, @@ -286,7 +286,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "ThresholdPrefix123", }, }, @@ -471,7 +471,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_1", "Weight": "10.0", }, @@ -479,7 +479,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_2", "Weight": "20.0", }, @@ -487,7 +487,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "ThresholdPrefix123", }, }, @@ -657,7 +657,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_1", "Weight": "10.0", }, @@ -665,7 +665,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_2", "Weight": "20.0", }, @@ -673,7 +673,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "ThresholdPrefix123", }, }, @@ -872,7 +872,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_1", "Weight": "10.0", }, @@ -880,7 +880,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "TH_2", "Weight": "20.0", }, @@ -888,7 +888,7 @@ func TestThresholdsmatchingThresholdsForEvent(t *testing.T) { { Tenant: "cgrates.org", ID: "Ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "ThresholdPrefix123", }, }, @@ -1191,7 +1191,7 @@ func TestThresholdsProcessEventAsyncExecErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1229,10 +1229,10 @@ func TestThresholdsProcessEventAsyncExecErr(t *testing.T) { // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "ThresholdProcessEvent", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.AccountField: "1001", // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaEventType: utils.AccountUpdate, // }, // }, @@ -1396,8 +1396,8 @@ func TestThresholdsRPCClone(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: make(map[string]interface{}), - APIOpts: map[string]interface{}{ + Event: make(map[string]any), + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_ID"}, }, } @@ -1406,8 +1406,8 @@ func TestThresholdsRPCClone(t *testing.T) { exp := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventTest", - Event: make(map[string]interface{}), - APIOpts: map[string]interface{}{ + Event: make(map[string]any), + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_ID"}, }, } @@ -1449,10 +1449,10 @@ func TestThresholdsProcessEventStoreThOK(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH2"}, }, } @@ -1540,10 +1540,10 @@ func TestThresholdsProcessEventMaxHitsDMErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH3"}, }, } @@ -1601,10 +1601,10 @@ func TestThresholdsProcessEventNotFound(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH6"}, }, } @@ -1667,7 +1667,7 @@ func TestThresholdsV1ProcessEventOK(t *testing.T) { args := &utils.CGREvent{ ID: "V1ProcessEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1737,7 +1737,7 @@ func TestThresholdsV1ProcessEventPartExecErr(t *testing.T) { args := &utils.CGREvent{ ID: "V1ProcessEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1803,13 +1803,13 @@ func TestThresholdsV1ProcessEventMissingArgs(t *testing.T) { args := &utils.CGREvent{ ID: "V1ProcessEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } args = &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -1963,7 +1963,7 @@ func TestThresholdMatchingThresholdForEventLocks(t *testing.T) { } dm.RemoveThreshold(context.Background(), "cgrates.org", "TH1") ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, } @@ -2039,7 +2039,7 @@ func TestThresholdMatchingThresholdForEventLocks2(t *testing.T) { prfs = append(prfs, rPrf) ids.Add(rPrf.ID) ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, } @@ -2095,7 +2095,7 @@ func TestThresholdMatchingThresholdForEventLocksBlocker(t *testing.T) { ids.Add(rPrf.ID) } ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, } @@ -2170,7 +2170,7 @@ func TestThresholdMatchingThresholdForEventLocks3(t *testing.T) { ids.Add(fmt.Sprintf("TH%d", i)) } ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, } @@ -2218,7 +2218,7 @@ func TestThresholdMatchingThresholdForEventLocks4(t *testing.T) { } ids.Add("TH20") ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, } @@ -2279,7 +2279,7 @@ func TestThresholdMatchingThresholdForEventLocks5(t *testing.T) { ids.Add(rPrf.ID) } ev := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: ids.AsSlice(), }, } @@ -2450,7 +2450,7 @@ func TestThresholdsV1GetThresholdsForEventOK(t *testing.T) { } args := &utils.CGREvent{ ID: "TestGetThresholdsForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -2515,7 +2515,7 @@ func TestThresholdsV1GetThresholdsForEventMissingArgs(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -2946,7 +2946,7 @@ func TestThresholdsMatchingThresholdsForEventNotFoundErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{}, + Event: map[string]any{}, } if _, err := tS.matchingThresholdsForEvent(context.Background(), "cgrates.org", args); err == nil || @@ -3033,10 +3033,10 @@ func TestThreholdsMatchingThresholdsForEventDoesNotPass(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH1"}, }, } @@ -3078,10 +3078,10 @@ func TestThresholdsProcessEventIgnoreFilters(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "testThresholdValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH"}, utils.MetaProfileIgnoreFilters: false, }, @@ -3096,10 +3096,10 @@ func TestThresholdsProcessEventIgnoreFilters(t *testing.T) { args2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "testThresholdValue2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH"}, utils.MetaProfileIgnoreFilters: true, }, @@ -3143,10 +3143,10 @@ func TestThresholdsProcessEventIgnoreFiltersErr(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThdProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Threshold": "testThresholdValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"TH"}, utils.MetaProfileIgnoreFilters: time.Second, }, @@ -3390,10 +3390,10 @@ func TestThresholdSmatchingThresholdsForEventGetOptsErr(t *testing.T) { args := &utils.CGREvent{ ID: "TestV1DebitID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", }, } @@ -3457,10 +3457,10 @@ func TestThresholdSmatchingThresholdsForEventWeightErr(t *testing.T) { args := &utils.CGREvent{ ID: "EvID", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m", }, } diff --git a/engine/tpreader.go b/engine/tpreader.go index 33c01bdb3..04facedd0 100644 --- a/engine/tpreader.go +++ b/engine/tpreader.go @@ -903,7 +903,7 @@ func (tpr *TpReader) RemoveFromDatabase(verbose, disableReverse bool) (err error return tpr.dm.SetLoadIDs(context.TODO(), loadIDs) } -func (tpr *TpReader) ReloadCache(ctx *context.Context, caching string, verbose bool, opts map[string]interface{}, tenant string) (err error) { +func (tpr *TpReader) ReloadCache(ctx *context.Context, caching string, verbose bool, opts map[string]any, tenant string) (err error) { if tpr.isInternalDB { return } @@ -999,9 +999,9 @@ func (tpr *TpReader) ReloadCache(ctx *context.Context, caching string, verbose b } // CallCache call the cache reload after data load -func CallCache(connMgr *ConnManager, ctx *context.Context, cacheConns []string, caching string, args map[string][]string, cacheIDs []string, opts map[string]interface{}, verbose bool, tenant string) (err error) { +func CallCache(connMgr *ConnManager, ctx *context.Context, cacheConns []string, caching string, args map[string][]string, cacheIDs []string, opts map[string]any, verbose bool, tenant string) (err error) { var method, reply string - var cacheArgs interface{} = utils.NewAttrReloadCacheWithOptsFromMap(args, tenant, opts) + var cacheArgs any = utils.NewAttrReloadCacheWithOptsFromMap(args, tenant, opts) switch caching { case utils.MetaNone: return diff --git a/engine/tpreader_test.go b/engine/tpreader_test.go index b410ff11a..f73365cd7 100644 --- a/engine/tpreader_test.go +++ b/engine/tpreader_test.go @@ -46,7 +46,7 @@ func TestTPReaderCallCacheNoCaching(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, utils.CacheResources: {}, } - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } ctx := context.Background() @@ -71,10 +71,10 @@ func TestTPReaderCallCacheReloadCacheFirstCallErr(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan birpc.ClientConnector, 1) mCC := &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1ReloadCache: func(_ *context.Context, args, reply any) error { expArgs := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, FilterIDs: []string{"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, @@ -100,7 +100,7 @@ func TestTPReaderCallCacheReloadCacheFirstCallErr(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } ctx := context.Background() @@ -137,13 +137,13 @@ func TestTPReaderCallCacheReloadCacheSecondCallErr(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan birpc.ClientConnector, 1) mCC := &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1ReloadCache: func(_ *context.Context, args, reply any) error { return nil }, - utils.CacheSv1Clear: func(_ *context.Context, args, reply interface{}) error { + utils.CacheSv1Clear: func(_ *context.Context, args, reply any) error { expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{"cacheID"}, @@ -169,7 +169,7 @@ func TestTPReaderCallCacheReloadCacheSecondCallErr(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{"cacheID"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } ctx := context.Background() @@ -218,10 +218,10 @@ func TestTPReaderCallCacheLoadCache(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan birpc.ClientConnector, 1) mCC := &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1LoadCache: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1LoadCache: func(_ *context.Context, args, reply any) error { expArgs := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, FilterIDs: []string{"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, @@ -236,9 +236,9 @@ func TestTPReaderCallCacheLoadCache(t *testing.T) { } return nil }, - utils.CacheSv1Clear: func(_ *context.Context, args, reply interface{}) error { + utils.CacheSv1Clear: func(_ *context.Context, args, reply any) error { expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{"cacheID"}, @@ -264,7 +264,7 @@ func TestTPReaderCallCacheLoadCache(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{"cacheID"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } ctx := context.Background() @@ -288,10 +288,10 @@ func TestTPReaderCallCacheRemoveItems(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan birpc.ClientConnector, 1) mCC := &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1RemoveItems: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1RemoveItems: func(_ *context.Context, args, reply any) error { expArgs := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, FilterIDs: []string{"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, @@ -306,9 +306,9 @@ func TestTPReaderCallCacheRemoveItems(t *testing.T) { } return nil }, - utils.CacheSv1Clear: func(_ *context.Context, args, reply interface{}) error { + utils.CacheSv1Clear: func(_ *context.Context, args, reply any) error { expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, CacheIDs: []string{"cacheID"}, @@ -334,7 +334,7 @@ func TestTPReaderCallCacheRemoveItems(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{"cacheID"} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } ctx := context.Background() @@ -358,10 +358,10 @@ func TestTPReaderCallCacheClear(t *testing.T) { cacheConns := []string{"cacheConn1"} client := make(chan birpc.ClientConnector, 1) mCC := &ccMock{ - calls: map[string]func(_ *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1Clear: func(_ *context.Context, args, reply interface{}) error { + calls: map[string]func(_ *context.Context, args any, reply any) error{ + utils.CacheSv1Clear: func(_ *context.Context, args, reply any) error { expArgs := &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, Tenant: "cgrates.org", @@ -386,7 +386,7 @@ func TestTPReaderCallCacheClear(t *testing.T) { utils.CacheFilters: {"cgrates.org:FLTR_ID1", "cgrates.org:FLTR_ID2"}, } cacheIDs := []string{} - opts := map[string]interface{}{ + opts := map[string]any{ utils.MetaSubsys: utils.MetaChargers, } ctx := context.Background() @@ -633,7 +633,7 @@ func TestTPReaderReloadCache(t *testing.T) { data := NewInternalDB(nil, nil, cfg.DataDbCfg().Items) data.SetLoadIDsDrv(nil, make(map[string]int64)) argExpect := &utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, Tenant: "cgrates.org", ResourceProfileIDs: []string{"cgrates.org:resourceProfilesID"}, StatsQueueProfileIDs: []string{"cgrates.org:statProfilesID"}, @@ -653,14 +653,14 @@ func TestTPReaderReloadCache(t *testing.T) { } rpcInternal := make(chan birpc.ClientConnector, 1) rpcInternal <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReloadCache: func(ctx *context.Context, args interface{}, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReloadCache: func(ctx *context.Context, args any, reply any) error { if !reflect.DeepEqual(args, argExpect) { t.Errorf("Expected %v \nbut received %v", utils.ToJSON(argExpect), utils.ToJSON(args)) } return nil }, - utils.CacheSv1Clear: func(ctx *context.Context, args interface{}, reply interface{}) error { + utils.CacheSv1Clear: func(ctx *context.Context, args any, reply any) error { return nil }, }, @@ -699,7 +699,7 @@ func TestTPReaderReloadCache(t *testing.T) { dm: NewDataManager(data, config.CgrConfig().CacheCfg(), cnMgr), cacheConns: []string{connID}, } - if err := tpr.ReloadCache(context.Background(), utils.MetaReload, false, make(map[string]interface{}), "cgrates.org"); err != nil { + if err := tpr.ReloadCache(context.Background(), utils.MetaReload, false, make(map[string]any), "cgrates.org"); err != nil { t.Error(err) } } diff --git a/engine/z_actions_it_test.go b/engine/z_actions_it_test.go index 5e372d1b6..48bd304bc 100644 --- a/engine/z_actions_it_test.go +++ b/engine/z_actions_it_test.go @@ -350,7 +350,7 @@ func testActionsitThresholdCDrLog(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "cdrev1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.CDR, "field_extr1": "val_extr1", "fieldextr2": "valextr2", @@ -374,7 +374,7 @@ func testActionsitThresholdCDrLog(t *testing.T) { utils.Route: "SUPPL1", utils.Cost: -1.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.CDR, }, } @@ -415,7 +415,7 @@ func testActionsitCDRAccount(t *testing.T) { Account string BalanceType string Value float64 - Balance map[string]interface{} + Balance map[string]any Overwrite bool } attrs := &AttrAddBalance{ @@ -423,7 +423,7 @@ func testActionsitCDRAccount(t *testing.T) { Account: acnt, BalanceType: utils.MetaVoice, Value: float64(30 * time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.UUID: "testUUID", utils.ID: "TestID", }, @@ -566,7 +566,7 @@ func testActionsitThresholdCgrRpcAction(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Method": "RALsV1.Ping", }, } @@ -630,7 +630,7 @@ func testActionsitThresholdPostEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "cdrev1", - Event: map[string]interface{}{ + Event: map[string]any{ "field_extr1": "val_extr1", "fieldextr2": "valextr2", utils.CGRID: utils.Sha1("dsafdsaf", time.Date(2013, 11, 7, 8, 42, 26, 0, time.UTC).String()), @@ -648,7 +648,7 @@ func testActionsitThresholdPostEvent(t *testing.T) { utils.Route: "SUPPL1", utils.Cost: -1.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.CDR, }, } @@ -743,7 +743,7 @@ func testActionsitSetSDestinations(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "333", utils.Usage: 6 * time.Second, }, @@ -759,7 +759,7 @@ func testActionsitSetSDestinations(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "777", utils.Usage: 6 * time.Second, }, diff --git a/engine/z_attributes_test.go b/engine/z_attributes_test.go index 7fbf10006..5c6f98dbe 100644 --- a/engine/z_attributes_test.go +++ b/engine/z_attributes_test.go @@ -36,43 +36,43 @@ var ( { //matching AttributeProfile1 Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "AttributeProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, { //matching AttributeProfile2 Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "AttributeProfile2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, { //matching AttributeProfilePrefix Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "AttributeProfilePrefix", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, { //matching AttributeProfilePrefix Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctMatch": 20, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 0, }, @@ -175,10 +175,10 @@ func TestAttributesV1GetAttributeForEventProfileIgnoreOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AcProcessEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "testAttrValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, utils.OptsAttributesProfileIDs: []string{"AC1"}, utils.MetaProfileIgnoreFilters: false, @@ -208,10 +208,10 @@ func TestAttributesV1GetAttributeForEventProfileIgnoreOpts(t *testing.T) { ev2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AcProcessEvent2", - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "testAttrValue2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, utils.OptsAttributesProfileIDs: []string{"AC1"}, utils.MetaProfileIgnoreFilters: true, @@ -542,7 +542,7 @@ func TestAttributeEventReplyDigest(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", }, @@ -564,7 +564,7 @@ func TestAttributeEventReplyDigest2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", }, @@ -586,7 +586,7 @@ func TestAttributeEventReplyDigest3(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", }, @@ -608,7 +608,7 @@ func TestAttributeEventReplyDigest4(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -773,10 +773,10 @@ func TestAttributeProcessWithMultipleRuns1(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 3, }, @@ -806,14 +806,14 @@ func TestAttributeProcessWithMultipleRuns1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: reply.CGREvent.ID, - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "2044", "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", "Field3": "Value3", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 3, }, @@ -897,10 +897,10 @@ func TestAttributeProcessWithMultipleRuns2(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 4, }, @@ -927,7 +927,7 @@ func TestAttributeProcessWithMultipleRuns2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -1018,10 +1018,10 @@ func TestAttributeProcessWithMultipleRuns3(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 2, }, @@ -1040,7 +1040,7 @@ func TestAttributeProcessWithMultipleRuns3(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -1114,10 +1114,10 @@ func TestAttributeProcessWithMultipleRuns4(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 4, }, @@ -1144,7 +1144,7 @@ func TestAttributeProcessWithMultipleRuns4(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -1241,10 +1241,10 @@ func TestAttributeMultipleProcessWithBlocker(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 4, }, @@ -1263,7 +1263,7 @@ func TestAttributeMultipleProcessWithBlocker(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -1359,10 +1359,10 @@ func TestAttributeMultipleProcessWithBlocker2(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 4, }, @@ -1377,7 +1377,7 @@ func TestAttributeMultipleProcessWithBlocker2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", }, @@ -1434,10 +1434,10 @@ func TestAttributeProcessValue(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1451,7 +1451,7 @@ func TestAttributeProcessValue(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "Field2": "Value1", }, @@ -1513,10 +1513,10 @@ func TestAttributeAttributeFilterIDs(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "PassField": "Test", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1531,7 +1531,7 @@ func TestAttributeAttributeFilterIDs(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "PassField": "Pass", "RandomField": "RandomValue", }, @@ -1589,10 +1589,10 @@ func TestAttributeProcessEventConstant(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1606,7 +1606,7 @@ func TestAttributeProcessEventConstant(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "Field2": "ConstVal", }, @@ -1669,11 +1669,11 @@ func TestAttributeProcessEventVariable(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1687,7 +1687,7 @@ func TestAttributeProcessEventVariable(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "Field2": "TheVal", "TheField": "TheVal", @@ -1756,11 +1756,11 @@ func TestAttributeProcessEventComposed(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1774,7 +1774,7 @@ func TestAttributeProcessEventComposed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "Field2": "Value1_TheVal", "TheField": "TheVal", @@ -1833,12 +1833,12 @@ func TestAttributeProcessEventSum(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "NumField": "20", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1852,7 +1852,7 @@ func TestAttributeProcessEventSum(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "NumField": "20", @@ -1912,13 +1912,13 @@ func TestAttributeProcessEventUsageDifference(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "UnixTimeStamp": "1554364297", "UnixTimeStamp2": "1554364287", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1932,7 +1932,7 @@ func TestAttributeProcessEventUsageDifference(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "UnixTimeStamp": "1554364297", @@ -1993,13 +1993,13 @@ func TestAttributeProcessEventValueExponent(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "Multiplier": "2", "Pow": "3", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2013,7 +2013,7 @@ func TestAttributeProcessEventValueExponent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", "TheField": "TheVal", "Multiplier": "2", @@ -2078,10 +2078,10 @@ func BenchmarkAttributeProcessEventConstant(b *testing.B) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2139,10 +2139,10 @@ func BenchmarkAttributeProcessEventVariable(b *testing.B) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Value1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2213,11 +2213,11 @@ func TestProcessAttributeConstant(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_CONSTANT Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeConstant", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2277,12 +2277,12 @@ func TestProcessAttributeVariable(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_VARIABLE Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeVariable", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "Val2", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2348,13 +2348,13 @@ func TestProcessAttributeComposed(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_COMPOSED Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeComposed", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "Val2", "RandomField2": "Concatenated", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2415,13 +2415,13 @@ func TestProcessAttributeUsageDifference(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_USAGE_DIFF Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeUsageDifference", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1514808000", "RandomField2": "1514804400", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2482,13 +2482,13 @@ func TestProcessAttributeSum(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_SUM Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeSum", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2549,13 +2549,13 @@ func TestProcessAttributeDiff(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_DIFF Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeDiff", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2616,13 +2616,13 @@ func TestProcessAttributeMultiply(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_MULTIPLY Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeMultiply", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2683,13 +2683,13 @@ func TestProcessAttributeDivide(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_DIVIDE Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeDivide", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2750,13 +2750,13 @@ func TestProcessAttributeValueExponent(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_VAL_EXP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeValueExponent", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "5", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2817,13 +2817,13 @@ func TestProcessAttributeUnixTimeStamp(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_UNIX_TIMESTAMP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeUnixTimeStamp", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", "RandomField2": "2013-12-30T15:00:01Z", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2884,12 +2884,12 @@ func TestProcessAttributePrefix(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_VAL_EXP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeValueExponent", - Event: map[string]interface{}{ + Event: map[string]any{ "ATTR": "ATTR_PREFIX", "Field2": "Val2", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -2950,12 +2950,12 @@ func TestProcessAttributeSuffix(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_VAL_EXP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeValueExponent", - Event: map[string]interface{}{ + Event: map[string]any{ "ATTR": "ATTR_SUFFIX", "Field2": "Val2", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -3029,10 +3029,10 @@ func TestAttributeIndexSelectsFalse(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -3094,12 +3094,12 @@ func TestProcessAttributeWithSameWeight(t *testing.T) { ev := &utils.CGREvent{ //matching ATTR_UNIX_TIMESTAMP Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "TestProcessAttributeUnixTimeStamp", - Event: map[string]interface{}{ + Event: map[string]any{ "Field1": "Val1", "RandomField": "1", utils.Weight: "20.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 2, }, @@ -3188,10 +3188,10 @@ func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 4, }, @@ -3218,7 +3218,7 @@ func TestAttributeMultipleProcessWithFiltersExists(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -3293,10 +3293,10 @@ func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, utils.OptsAttributesProcessRuns: 4, }, @@ -3323,7 +3323,7 @@ func TestAttributeMultipleProcessWithFiltersNotEmpty(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", @@ -3373,8 +3373,8 @@ func TestAttributeMetaTenant(t *testing.T) { } ev := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -3387,8 +3387,8 @@ func TestAttributeMetaTenant(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "prfx_" + config.CgrConfig().GeneralCfg().DefaultTenant, - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -3473,11 +3473,11 @@ func TestAttributesPorcessEventMatchingProcessRuns(t *testing.T) { attr := NewAttributeService(dm, fltrS, cfg) ev := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "pc_test", "CompanyName": "MY_company_will_be_changed", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } @@ -3495,12 +3495,12 @@ func TestAttributesPorcessEventMatchingProcessRuns(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "pc_test", "CompanyName": "ITSYS COMMUNICATIONS SRL", "Password": "CGRateS.org", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, }, @@ -3563,10 +3563,10 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { ev := &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileRuns: 2, utils.OptsAttributesProcessRuns: 40, }, @@ -3593,12 +3593,12 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: ev.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileRuns: 2, utils.OptsAttributesProcessRuns: 40, }, @@ -3615,10 +3615,10 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { ev = &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: utils.GenUUID(), - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileRuns: 1, utils.OptsAttributesProcessRuns: 40, }, @@ -3637,12 +3637,12 @@ func TestAttributeMultipleProfileRunns(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: cfg.GeneralCfg().DefaultTenant, ID: ev.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "InitialField": "InitialValue", "Field1": "Value1", "Field2": "Value2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileRuns: 1, utils.OptsAttributesProcessRuns: 40, }, @@ -3736,10 +3736,10 @@ func TestAttributesV1ProcessEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } @@ -3759,11 +3759,11 @@ func TestAttributesV1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "adrian.itsyscom.com.co.uk", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "andrei.itsyscom.com", "Password": "CGRATES.ORG", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, }, @@ -3858,10 +3858,10 @@ func TestAttributesV1ProcessEventErrorMetaSum(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } @@ -3953,10 +3953,10 @@ func TestAttributesV1ProcessEventErrorMetaDifference(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } @@ -4049,10 +4049,10 @@ func TestAttributesV1ProcessEventErrorMetaValueExponent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } @@ -4430,10 +4430,10 @@ func TestAttributesV1ProcessEventMultipleRuns1(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{ + Event: map[string]any{ "Password": "passwd", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 4, utils.OptsAttributesProfileIDs: []string{"ATTR1", "ATTR2"}, }, @@ -4457,11 +4457,11 @@ func TestAttributesV1ProcessEventMultipleRuns1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{ + Event: map[string]any{ "Password": "CGRateS.org", utils.RequestType: utils.MetaPostpaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{"ATTR1", "ATTR2"}, utils.OptsAttributesProcessRuns: 4, }, @@ -4563,8 +4563,8 @@ func TestAttributesV1ProcessEventMultipleRuns2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 3, }, } @@ -4588,12 +4588,12 @@ func TestAttributesV1ProcessEventMultipleRuns2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{ + Event: map[string]any{ "Password": "CGRateS.org", "PaypalAccount": "cgrates@paypal.com", utils.RequestType: utils.MetaPostpaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 3, }, }, @@ -4685,10 +4685,10 @@ func TestAttributesV1GetAttributeForEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, }, } @@ -4814,10 +4814,10 @@ func TestAttributesV1GetAttributeForEventErrorBoolOpts(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, utils.MetaProfileIgnoreFilters: time.Second, }, @@ -4995,10 +4995,10 @@ func TestAttributesV1GetAttributeForEventErrOptsI(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "123", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "adrian@itsyscom.com", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: 2, utils.OptsAttributesProfileIDs: time.Second, }, @@ -5034,10 +5034,10 @@ func TestAttributesProcessEventProfileIgnoreFilters(t *testing.T) { args2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AcProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "testAttrValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{"AC1"}, utils.MetaProfileIgnoreFilters: false, }, @@ -5059,10 +5059,10 @@ func TestAttributesProcessEventProfileIgnoreFilters(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "AcProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "testAttrValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{"AC1"}, utils.MetaProfileIgnoreFilters: false, }, @@ -5077,10 +5077,10 @@ func TestAttributesProcessEventProfileIgnoreFilters(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AcProcessEvent2", - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "testAttrValue2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{"AC1"}, utils.MetaProfileIgnoreFilters: true, }, @@ -5102,10 +5102,10 @@ func TestAttributesProcessEventProfileIgnoreFilters(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "AcProcessEvent2", - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "testAttrValue2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{"AC1"}, utils.MetaProfileIgnoreFilters: true, }, @@ -5127,7 +5127,7 @@ func TestAttributeServicesProcessEventGetStringSliceOptsError(t *testing.T) { args2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AcProcessEvent", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: time.Second, }, } @@ -5153,7 +5153,7 @@ func TestAttributeServicesProcessEventGetBoolOptsError(t *testing.T) { args2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AcProcessEvent", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaProfileIgnoreFilters: time.Second, }, } @@ -5239,10 +5239,10 @@ func TestAttributesProcessEventSetError(t *testing.T) { args2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AcProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Attribute": "testAttrValue", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{"AC1"}, }, } @@ -5297,8 +5297,8 @@ func TestAttributesAttributeServiceV1PrcssEvPrcssRunsGetIntOptsErr(t *testing.T) ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsAttributesProcessRuns: "errVal", }, } @@ -5349,8 +5349,8 @@ func TestAttributesAttributeServiceV1PrcssEvProfRunsGetIntOptsErr(t *testing.T) ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "AttrProcessEventMultipleRuns", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsAttributesProfileRuns: "errVal", }, } @@ -5434,7 +5434,7 @@ func TestAttributesProcessEventPasswordAttribute(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventHashPw", - Event: map[string]interface{}{ + Event: map[string]any{ "Password": "321dcba", }, } @@ -5449,10 +5449,10 @@ func TestAttributesProcessEventPasswordAttribute(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventHashPw", - Event: map[string]interface{}{ + Event: map[string]any{ "Password": "abcd123", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } var hashedPw string diff --git a/engine/z_chargers_test.go b/engine/z_chargers_test.go index fc150cfd2..fd2f91eab 100644 --- a/engine/z_chargers_test.go +++ b/engine/z_chargers_test.go @@ -64,13 +64,13 @@ func TestChargersmatchingChargerProfilesForEventErrPass(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ "Charger": "ChargerProfile1", utils.AnswerTime: time.Date(2021, 4, 19, 12, 0, 0, 0, time.UTC), "UsageInterval": "10s", utils.Weight: "10.0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, }, } @@ -107,8 +107,8 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { rply := AttrSProcessEventReply{ AlteredFields: []*FieldsAltered{{ MatchedProfileID: "attr1", @@ -117,7 +117,7 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, }, @@ -143,7 +143,7 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -164,7 +164,7 @@ func TestChargersprocessEventCallNilErr(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, }, @@ -205,8 +205,8 @@ func TestChargersprocessEventCallErr(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { return utils.ErrNotFound }, }, @@ -227,7 +227,7 @@ func TestChargersprocessEventCallErr(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -244,10 +244,10 @@ func TestChargersprocessEventCallErr(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{}, utils.OptsContext: "*chargers", utils.MetaRunID: "*default", @@ -294,8 +294,8 @@ func TestChargersV1ProcessEventErrNotFound(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { rply := AttrSProcessEventReply{ AlteredFields: []*FieldsAltered{{ Fields: []string{utils.AccountField}, @@ -303,7 +303,7 @@ func TestChargersV1ProcessEventErrNotFound(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -328,7 +328,7 @@ func TestChargersV1ProcessEventErrNotFound(t *testing.T) { cS.connMgr.AddInternalConn(utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes), utils.AttributeSv1, rpcInternal) args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -366,8 +366,8 @@ func TestChargersV1ProcessEventErrOther(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - "invalidMethod": func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + "invalidMethod": func(ctx *context.Context, args, reply any) error { rply := AttrSProcessEventReply{ AlteredFields: []*FieldsAltered{{ Fields: []string{utils.AccountField}, @@ -375,7 +375,7 @@ func TestChargersV1ProcessEventErrOther(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -400,7 +400,7 @@ func TestChargersV1ProcessEventErrOther(t *testing.T) { cS.connMgr.AddInternalConn(utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes), utils.AttributeSv1, rpcInternal) args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -444,8 +444,8 @@ func TestChargersV1ProcessEvent(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { rply := AttrSProcessEventReply{ AlteredFields: []*FieldsAltered{{ MatchedProfileID: "attr2", @@ -454,10 +454,10 @@ func TestChargersV1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{}, utils.OptsContext: "*chargers", utils.MetaRunID: "*default", @@ -485,7 +485,7 @@ func TestChargersV1ProcessEvent(t *testing.T) { cS.connMgr.AddInternalConn(utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes), utils.AttributeSv1, rpcInternal) args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -507,10 +507,10 @@ func TestChargersV1ProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsAttributesProfileIDs: []string{}, utils.OptsContext: "*chargers", utils.MetaRunID: "*default", @@ -565,7 +565,7 @@ func TestChargersV1GetChargersForEventNilErr(t *testing.T) { } args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -617,7 +617,7 @@ func TestChargersV1GetChargersForEventErr(t *testing.T) { } args := &utils.CGREvent{ ID: "cgrEvID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } diff --git a/engine/z_filterhelpers_test.go b/engine/z_filterhelpers_test.go index faaa1678e..0404ab66e 100644 --- a/engine/z_filterhelpers_test.go +++ b/engine/z_filterhelpers_test.go @@ -27,7 +27,7 @@ import ( ) var ( - matchEV map[string]interface{} + matchEV map[string]any dmMatch *DataManager ) @@ -97,7 +97,7 @@ func TestFilterMatchingItemIDsForEvent(t *testing.T) { } tntCtx := utils.ConcatenatedKey(tnt, ctx) - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "Field": "profile", }} @@ -111,7 +111,7 @@ func TestFilterMatchingItemIDsForEvent(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", stringFilterID, aPrflIDs) } - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ "Field": "profilePrefix", }} aPrflIDs, err = MatchingItemIDsForEvent(context.TODO(), matchEV, nil, nil, nil, nil, nil, @@ -124,7 +124,7 @@ func TestFilterMatchingItemIDsForEvent(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", prefixFilterID, aPrflIDs) } - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ "Field": "profilePrefix", }} aPrflIDs, err = MatchingItemIDsForEvent(context.TODO(), matchEV, nil, nil, nil, nil, nil, @@ -190,9 +190,9 @@ func TestFilterMatchingItemIDsForEvent2(t *testing.T) { } tntCtx := utils.ConcatenatedKey(config.CgrConfig().GeneralCfg().DefaultTenant, ctx) - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), - "CallCost": map[string]interface{}{"Account": 1001}, + "CallCost": map[string]any{"Account": 1001}, }} aPrflIDs, err := MatchingItemIDsForEvent(context.TODO(), matchEV, nil, nil, nil, nil, nil, dmMatch, utils.CacheAttributeFilterIndexes, tntCtx, true, true) @@ -203,8 +203,8 @@ func TestFilterMatchingItemIDsForEvent2(t *testing.T) { if !has { t.Errorf("Expecting: %+v, received: %+v", stringFilterID, aPrflIDs) } - matchEV = utils.MapStorage{utils.MetaReq: map[string]interface{}{ - "CallCost": map[string]interface{}{"Field": "profilePrefix"}, + matchEV = utils.MapStorage{utils.MetaReq: map[string]any{ + "CallCost": map[string]any{"Field": "profilePrefix"}, }} aPrflIDs, err = MatchingItemIDsForEvent(context.TODO(), matchEV, nil, nil, nil, nil, nil, dmMatch, utils.CacheAttributeFilterIndexes, tntCtx, true, true) diff --git a/engine/z_onstor_it_test.go b/engine/z_onstor_it_test.go index 5cfb83406..7bafc4ebf 100644 --- a/engine/z_onstor_it_test.go +++ b/engine/z_onstor_it_test.go @@ -1199,7 +1199,7 @@ func testOnStorITAccount(t *testing.T) { Units: &utils.Decimal{ Big: decimal.WithContext(utils.DecimalContext).SetUint64(10), }, - Opts: map[string]interface{}{ + Opts: map[string]any{ "key1": "val1", }, }}, diff --git a/engine/z_resources_test.go b/engine/z_resources_test.go index df946109d..5b0d876fa 100644 --- a/engine/z_resources_test.go +++ b/engine/z_resources_test.go @@ -919,8 +919,8 @@ func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) { var reply *string argsMissingTenant := &utils.CGREvent{ ID: "id1", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "test1", utils.OptsResourcesUnits: 20, }, @@ -928,8 +928,8 @@ func TestResourceV1AuthorizeResourceMissingStruct(t *testing.T) { argsMissingUsageID := &utils.CGREvent{ Tenant: "cgrates.org", ID: "id1", - Event: map[string]interface{}{}, - APIOpts: map[string]interface{}{ + Event: map[string]any{}, + APIOpts: map[string]any{ utils.OptsResourcesUnits: 20, }, } @@ -1240,7 +1240,7 @@ func TestResourceMatchingResourcesForEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1253,7 +1253,7 @@ func TestResourceMatchingResourcesForEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1265,7 +1265,7 @@ func TestResourceMatchingResourcesForEvent(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -1391,7 +1391,7 @@ func TestResourceUsageTTLCase1(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1404,7 +1404,7 @@ func TestResourceUsageTTLCase1(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1416,7 +1416,7 @@ func TestResourceUsageTTLCase1(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -1597,7 +1597,7 @@ func TestResourceUsageTTLCase2(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1610,7 +1610,7 @@ func TestResourceUsageTTLCase2(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1622,7 +1622,7 @@ func TestResourceUsageTTLCase2(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -1800,7 +1800,7 @@ func TestResourceUsageTTLCase3(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1813,7 +1813,7 @@ func TestResourceUsageTTLCase3(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -1825,7 +1825,7 @@ func TestResourceUsageTTLCase3(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -2004,7 +2004,7 @@ func TestResourceUsageTTLCase4(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2017,7 +2017,7 @@ func TestResourceUsageTTLCase4(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2029,7 +2029,7 @@ func TestResourceUsageTTLCase4(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -2359,7 +2359,7 @@ func TestResourceMatchWithIndexFalse(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile1", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2372,7 +2372,7 @@ func TestResourceMatchWithIndexFalse(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfile2", utils.AnswerTime: time.Date(2014, 7, 14, 14, 30, 0, 0, time.UTC), "UsageInterval": "1s", @@ -2384,7 +2384,7 @@ func TestResourceMatchWithIndexFalse(t *testing.T) { { Tenant: config.CgrConfig().GeneralCfg().DefaultTenant, ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Resources": "ResourceProfilePrefix", utils.Usage: 30 * time.Second, }, @@ -2492,7 +2492,7 @@ func TestResourceCaching(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "3002"}, } @@ -2809,8 +2809,8 @@ func TestResourceAllocateResourceOtherDB(t *testing.T) { if err := rs.V1AllocateResources(context.TODO(), &utils.CGREvent{ Tenant: "cgrates.org", ID: "ef0f554", - Event: map[string]interface{}{"": ""}, - APIOpts: map[string]interface{}{ + Event: map[string]any{"": ""}, + APIOpts: map[string]any{ "Resource": "RL_DB", utils.OptsResourcesUsageID: "56156434-2e44-4f16-a766-086f10b413cd", utils.OptsResourcesUnits: 1, @@ -3159,7 +3159,7 @@ func TestResourcesProcessThresholdsNoConns(t *testing.T) { Tenant: "cgrates.org", ID: "RES_1", } - opts := map[string]interface{}{} + opts := map[string]any{} err := rS.processThresholds(context.TODO(), Resources{r}, opts) @@ -3179,17 +3179,17 @@ func TestResourcesProcessThresholdsOK(t *testing.T) { Cache = NewCacheS(cfg, nil, nil, nil) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { exp := &utils.CGREvent{ Tenant: "cgrates.org", ID: args.(*utils.CGREvent).ID, - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.ResourceUpdate, utils.ResourceID: "RES_1", utils.Usage: 0., }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.ResourceUpdate, utils.OptsThresholdsProfileIDs: []string{"THD_1"}, }, @@ -3243,17 +3243,17 @@ func TestResourcesProcessThresholdsCallErr(t *testing.T) { Cache = NewCacheS(cfg, nil, nil, nil) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { exp := &utils.CGREvent{ Tenant: "cgrates.org", ID: args.(*utils.CGREvent).ID, - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventType: utils.ResourceUpdate, utils.ResourceID: "RES_1", utils.Usage: 0., }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaEventType: utils.ResourceUpdate, utils.OptsThresholdsProfileIDs: []string{"THD_1"}, }, @@ -3308,7 +3308,7 @@ func TestResourcesProcessThresholdsThdConnMetaNone(t *testing.T) { ThresholdIDs: []string{utils.MetaNone}, }, } - opts := map[string]interface{}{} + opts := map[string]any{} err := rS.processThresholds(context.TODO(), Resources{r}, opts) @@ -3318,10 +3318,10 @@ func TestResourcesProcessThresholdsThdConnMetaNone(t *testing.T) { } type ccMock struct { - calls map[string]func(ctx *context.Context, args interface{}, reply interface{}) error + calls map[string]func(ctx *context.Context, args any, reply any) error } -func (ccM *ccMock) Call(ctx *context.Context, serviceMethod string, args interface{}, reply interface{}) (err error) { +func (ccM *ccMock) Call(ctx *context.Context, serviceMethod string, args any, reply any) (err error) { if call, has := ccM.calls[serviceMethod]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -3507,10 +3507,10 @@ func TestResourcesV1ResourcesForEventOK(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST1", }, } @@ -3587,10 +3587,10 @@ func TestResourcesV1ResourcesForEventNotFound(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST1", }, } @@ -3652,10 +3652,10 @@ func TestResourcesV1ResourcesForEventMissingParameters(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST2", }, } @@ -3669,7 +3669,7 @@ func TestResourcesV1ResourcesForEventMissingParameters(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourcesForEventTest", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST3", }, } @@ -3683,7 +3683,7 @@ func TestResourcesV1ResourcesForEventMissingParameters(t *testing.T) { args = &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -3753,10 +3753,10 @@ func TestResourcesV1ResourcesForEventCacheReplyExists(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST1", }, } @@ -3852,10 +3852,10 @@ func TestResourcesV1ResourcesForEventCacheReplySet(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_TEST1", }, } @@ -4488,10 +4488,10 @@ func TestResourcesV1AuthorizeResourcesOK(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -4543,10 +4543,10 @@ func TestResourcesV1AuthorizeResourcesNotAuthorized(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -4597,10 +4597,10 @@ func TestResourcesV1AuthorizeResourcesNoMatch(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -4693,7 +4693,7 @@ func TestResourcesV1AuthorizeResourcesMissingUsageID(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -4768,10 +4768,10 @@ func TestResourcesV1AuthorizeResourcesCacheReplyExists(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -4852,10 +4852,10 @@ func TestResourcesV1AuthorizeResourcesCacheReplySet(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 2, utils.OptsResourcesUsageTTL: time.Minute, @@ -4916,10 +4916,10 @@ func TestResourcesV1AllocateResourcesOK(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -4970,10 +4970,10 @@ func TestResourcesV1AllocateResourcesNoMatch(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5023,7 +5023,7 @@ func TestResourcesV1AllocateResourcesMissingParameters(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5039,7 +5039,7 @@ func TestResourcesV1AllocateResourcesMissingParameters(t *testing.T) { args = &utils.CGREvent{ ID: "EventAuthorizeResource", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5053,10 +5053,10 @@ func TestResourcesV1AllocateResourcesMissingParameters(t *testing.T) { } args = &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5136,10 +5136,10 @@ func TestResourcesV1AllocateResourcesCacheReplyExists(t *testing.T) { args := &utils.CGREvent{ ID: "EventAllocateResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5220,10 +5220,10 @@ func TestResourcesV1AllocateResourcesCacheReplySet(t *testing.T) { args := &utils.CGREvent{ ID: "EventAllocateResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 2, utils.OptsResourcesUsageTTL: time.Minute, @@ -5283,10 +5283,10 @@ func TestResourcesV1AllocateResourcesResAllocErr(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5354,8 +5354,8 @@ func TestResourcesV1AllocateResourcesProcessThErr(t *testing.T) { } ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { return utils.ErrExists }, }, @@ -5369,10 +5369,10 @@ func TestResourcesV1AllocateResourcesProcessThErr(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5423,10 +5423,10 @@ func TestResourcesV1ReleaseResourcesOK(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5482,10 +5482,10 @@ func TestResourcesV1ReleaseResourcesUsageNotFound(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5500,10 +5500,10 @@ func TestResourcesV1ReleaseResourcesUsageNotFound(t *testing.T) { args = &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test2", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5553,10 +5553,10 @@ func TestResourcesV1ReleaseResourcesNoMatch(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5606,7 +5606,7 @@ func TestResourcesV1ReleaseResourcesMissingParameters(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5622,7 +5622,7 @@ func TestResourcesV1ReleaseResourcesMissingParameters(t *testing.T) { args = &utils.CGREvent{ ID: "EventAuthorizeResource", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5636,10 +5636,10 @@ func TestResourcesV1ReleaseResourcesMissingParameters(t *testing.T) { } args = &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5720,10 +5720,10 @@ func TestResourcesV1ReleaseResourcesCacheReplyExists(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventReleaseResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5803,10 +5803,10 @@ func TestResourcesV1ReleaseResourcesCacheReplySet(t *testing.T) { args := &utils.CGREvent{ ID: "EventReleaseResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 2, utils.OptsResourcesUsageTTL: time.Minute, @@ -5845,8 +5845,8 @@ func TestResourcesV1ReleaseResourcesProcessThErr(t *testing.T) { dm := NewDataManager(data, cfg.CacheCfg(), nil) Cache = NewCacheS(cfg, dm, nil, nil) ccM := &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.ThresholdSv1ProcessEvent: func(ctx *context.Context, args, reply any) error { return utils.ErrExists }, }, @@ -5900,10 +5900,10 @@ func TestResourcesV1ReleaseResourcesProcessThErr(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -5966,10 +5966,10 @@ func TestResourcesStoreResourceError(t *testing.T) { args := &utils.CGREvent{ ID: "EventAuthorizeResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RU_Test", utils.OptsResourcesUnits: 5, utils.OptsResourcesUsageTTL: time.Minute, @@ -6501,10 +6501,10 @@ func TestResourcesStartLoop(t *testing.T) { // ev := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestMatchingResourcesForEvent", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.AccountField: "1001", // }, -// APIOpts: map[string]interface{}{}, +// APIOpts: map[string]any{}, // } // Cache.SetWithoutReplicate(utils.CacheEventResources, ev.ID, utils.StringSet{ @@ -6539,10 +6539,10 @@ func TestResourcesMatchingResourcesForEventCacheSetErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestMatchingResourcesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if rcv, err := rS.matchingResourcesForEvent(context.Background(), "cgrates.org", ev, ev.ID, @@ -6599,10 +6599,10 @@ func TestResourcesMatchingResourcesForEventFinalCacheSetErr(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestMatchingResourcesForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } exp := &Resource{ Tenant: "cgrates.org", @@ -6649,10 +6649,10 @@ func TestResourcesV1ResourcesForEventErrRetrieveUsageID(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -6686,10 +6686,10 @@ func TestResourcesV1ResourcesForEventErrRetrieveUsageTTL(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -6723,10 +6723,10 @@ func TestResourcesV1AuthorizeResourcesErrRetrieveUsageID(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -6760,10 +6760,10 @@ func TestResourcesV1AuthorizeResourcesErrRetrieveUnits(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -6797,10 +6797,10 @@ func TestResourcesV1AuthorizeResourcesErrRetrieveUsageTTL(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -6834,10 +6834,10 @@ func TestResourcesV1AllocateResourcesErrRetrieveUsageID(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -6871,10 +6871,10 @@ func TestResourcesV1AllocateResourcesErrRetrieveUsageTTL(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -6908,10 +6908,10 @@ func TestResourcesV1AllocateResourcesErrRetrieveUnits(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -6945,10 +6945,10 @@ func TestResourcesV1ReleaseResourcesErrRetrieveUsageID(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -6982,10 +6982,10 @@ func TestResourcesV1ReleaseResourcesErrRetrieveUsageTTL(t *testing.T) { args := &utils.CGREvent{ ID: "ResourcesForEventTest", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } experr := `NOT_FOUND:FLTR_Invalid` @@ -7217,8 +7217,8 @@ func TestResourceMatchingResourcesForEventLocksErr(t *testing.T) { cc := make(chan birpc.ClientConnector, 1) cc <- &ccMock{ - calls: map[string]func(ctx *context.Context, args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply interface{}) error { return utils.ErrNotImplemented }, + calls: map[string]func(ctx *context.Context, args any, reply any) error{ + utils.CacheSv1ReplicateRemove: func(ctx *context.Context, args, reply any) error { return utils.ErrNotImplemented }, }, } diff --git a/ers/amqp.go b/ers/amqp.go index fdfb0b748..fcfa13a8f 100644 --- a/ers/amqp.go +++ b/ers/amqp.go @@ -186,7 +186,7 @@ func (rdr *AMQPER) readLoop(msgChan <-chan amqp.Delivery) { } func (rdr *AMQPER) processMessage(msg []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(msg, &decodedMessage); err != nil { return } diff --git a/ers/amqp_it_test.go b/ers/amqp_it_test.go index 8bbc5a088..282547eff 100644 --- a/ers/amqp_it_test.go +++ b/ers/amqp_it_test.go @@ -114,10 +114,10 @@ func TestAMQPER(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: ev.cgrEvent.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": randomOriginID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Errorf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) diff --git a/ers/amqpv1.go b/ers/amqpv1.go index 22eeade4b..7ef3f0d12 100644 --- a/ers/amqpv1.go +++ b/ers/amqpv1.go @@ -167,7 +167,7 @@ func (rdr *AMQPv1ER) readLoop(recv *amqpv1.Receiver) (err error) { } func (rdr *AMQPv1ER) processMessage(msg []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(msg, &decodedMessage); err != nil { return } diff --git a/ers/amqpv1_it_test.go b/ers/amqpv1_it_test.go index 05d277314..f46cd9781 100644 --- a/ers/amqpv1_it_test.go +++ b/ers/amqpv1_it_test.go @@ -118,7 +118,7 @@ func TestAMQPERv1(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: ev.cgrEvent.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": randomOriginID, }, } diff --git a/ers/ers.go b/ers/ers.go index a93d74497..d8acdf119 100644 --- a/ers/ers.go +++ b/ers/ers.go @@ -307,7 +307,7 @@ func (erS *ERService) processPartialEvent(ev *utils.CGREvent, rdrCfg *config.Eve } // onEvicted the function that is called when a element is removed from cache -func (erS *ERService) onEvicted(id string, value interface{}) { +func (erS *ERService) onEvicted(id string, value any) { if value == nil { // is already complete and sent to erS return } @@ -417,7 +417,7 @@ func (erS *ERService) onEvicted(id string, value interface{}) { utils.ERs, utils.ToJSON(eEvs.events), err.Error())) return } - var record map[string]interface{} + var record map[string]any if len(eEvs.rdrCfg.CacheDumpFields) != 0 { // convert the event to record eeReq := engine.NewExportRequest(map[string]utils.DataStorage{ @@ -436,7 +436,7 @@ func (erS *ERService) onEvicted(id string, value interface{}) { return } - record = make(map[string]interface{}) + record = make(map[string]any) for el := eeReq.ExpData[utils.MetaExp].GetFirstElement(); el != nil; el = el.Next() { path := el.Value nmIt, _ := eeReq.ExpData[utils.MetaExp].Field(path) diff --git a/ers/ers_it_test.go b/ers/ers_it_test.go index 5278b1acc..f97f7877e 100644 --- a/ers/ers_it_test.go +++ b/ers/ers_it_test.go @@ -492,7 +492,7 @@ func TestERsProcessEvent3(t *testing.T) { }, } cgrEvent := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -519,7 +519,7 @@ func TestERsProcessEvent4(t *testing.T) { }, } cgrEvent := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -549,7 +549,7 @@ func TestERsProcessEvent5(t *testing.T) { Tenant: "", ID: "", Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -576,7 +576,7 @@ func TestERsProcessEvent6(t *testing.T) { }, } cgrEvent := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -602,7 +602,7 @@ func TestERsProcessEvent7(t *testing.T) { }, } cgrEvent := &utils.CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -631,7 +631,7 @@ func TestERsProcessEvent8(t *testing.T) { Tenant: "", ID: "", Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -661,7 +661,7 @@ func TestERsProcessEvent9(t *testing.T) { Tenant: "", ID: "", Event: nil, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -691,10 +691,10 @@ func TestERsProcessEvent10(t *testing.T) { cgrEvent := &utils.CGREvent{ Tenant: "", ID: "", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: time.Second, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -705,10 +705,10 @@ func TestERsProcessEvent10(t *testing.T) { } type testMockClients struct { - calls map[string]func(ctx *context.Context, args, reply interface{}) error + calls map[string]func(ctx *context.Context, args, reply any) error } -func (sT *testMockClients) Call(ctx *context.Context, method string, arg interface{}, rply interface{}) error { +func (sT *testMockClients) Call(ctx *context.Context, method string, arg any, rply any) error { if call, has := sT.calls[method]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -727,8 +727,8 @@ func TestERsProcessEvent11(t *testing.T) { cfg.ERsCfg().SessionSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaSessionS)} fltrS := &engine.FilterS{} testMockClient := &testMockClients{ - calls: map[string]func(ctx *context.Context, args, reply interface{}) error{ - utils.SessionSv1ProcessMessage: func(ctx *context.Context, args, reply interface{}) error { + calls: map[string]func(ctx *context.Context, args, reply any) error{ + utils.SessionSv1ProcessMessage: func(ctx *context.Context, args, reply any) error { return errors.New("RALS_ERROR") }, }, @@ -746,10 +746,10 @@ func TestERsProcessEvent11(t *testing.T) { cgrEvent := &utils.CGREvent{ Tenant: "", ID: "", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRoutesLimit: true, }, } @@ -772,7 +772,7 @@ func TestErsOnEvictedMetaDumpToFileOK(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -824,7 +824,7 @@ func TestErsOnEvictedMetaDumpToFileCSVWriteErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -878,7 +878,7 @@ func TestErsOnEvictedMetaDumpToFileCreateErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -926,7 +926,7 @@ func TestErsOnEvictedNoCacheDumpFields(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -937,7 +937,7 @@ func TestErsOnEvictedNoCacheDumpFields(t *testing.T) { utils.Password: "secure_pass", "Additional_Field": "Additional_Value", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, @@ -958,7 +958,7 @@ func TestErsOnEvictedNoCacheDumpFields(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Usage: "12s", utils.Category: "call", @@ -968,7 +968,7 @@ func TestErsOnEvictedNoCacheDumpFields(t *testing.T) { utils.Password: "secure_password", "Additional_Field": "Additional_Value2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4d", }, }, @@ -1038,7 +1038,7 @@ func TestERsOnEvictedDumpToJSON(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1050,7 +1050,7 @@ func TestERsOnEvictedDumpToJSON(t *testing.T) { utils.Password: "secure_pass", "Additional_Field": "Additional_Value", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, @@ -1089,7 +1089,7 @@ func TestERsOnEvictedDumpToJSON(t *testing.T) { t.Error(err) } - var compare map[string]interface{} + var compare map[string]any // compare = make(map[int][]string, 2) dataJSON, err := os.ReadFile(files[0]) if err != nil { @@ -1100,7 +1100,7 @@ func TestERsOnEvictedDumpToJSON(t *testing.T) { t.Error(err) } - exp := map[string]interface{}{ + exp := map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1127,7 +1127,7 @@ func TestErsOnEvictedDumpToJSONNoPath(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1139,7 +1139,7 @@ func TestErsOnEvictedDumpToJSONNoPath(t *testing.T) { utils.Password: "secure_pass", "Additional_Field": "Additional_Value", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, @@ -1189,7 +1189,7 @@ func TestErsOnEvictedDumpToJSONMergeError(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1202,14 +1202,14 @@ func TestErsOnEvictedDumpToJSONMergeError(t *testing.T) { "Additional_Field": "Additional_Value", utils.AnswerTime: time.Date(2021, 6, 1, 12, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, { Tenant: "cgrates.org", ID: "EventErsOnEvicted2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Usage: "12s", utils.Category: "call", @@ -1220,7 +1220,7 @@ func TestErsOnEvictedDumpToJSONMergeError(t *testing.T) { "Additional_Field": "Additional_Value2", utils.AnswerTime: time.Date(2021, 6, 1, 13, 0, 0, 0, time.UTC), }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4d", }, }, @@ -1275,7 +1275,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFieldsErrPrefix(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1287,7 +1287,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFieldsErrPrefix(t *testing.T) { utils.Password: "secure_pass", "Additional_Field": "Additional_Value", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, @@ -1349,7 +1349,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFields(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1361,7 +1361,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFields(t *testing.T) { utils.Password: "secure_pass", "Additional_Field": "Additional_Value", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, @@ -1412,7 +1412,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFields(t *testing.T) { return nil }) - var compare map[string]interface{} + var compare map[string]any dataJSON, err := os.ReadFile(files[0]) if err != nil { t.Error(err) @@ -1421,7 +1421,7 @@ func TestERsOnEvictedDumpToJSONWithCacheDumpFields(t *testing.T) { if err != nil { t.Error(err) } - exp := map[string]interface{}{ + exp := map[string]any{ utils.OriginID: "25160047719:0", } if !reflect.DeepEqual(exp, compare) { @@ -1450,7 +1450,7 @@ func TestErsOnEvictedDumpToJSONInvalidPath(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1462,7 +1462,7 @@ func TestErsOnEvictedDumpToJSONInvalidPath(t *testing.T) { utils.Password: "secure_pass", "Additional_Field": "Additional_Value", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, @@ -1517,7 +1517,7 @@ func TestErsOnEvictedDumpToJSONEncodeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Usage: "10s", utils.Category: "call", @@ -1532,7 +1532,7 @@ func TestErsOnEvictedDumpToJSONEncodeErr(t *testing.T) { }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "1133dc80896edf5049b46aa911cb9085eeb27f4c", }, }, diff --git a/ers/ers_reload_it_test.go b/ers/ers_reload_it_test.go index 45894b1b6..994d7a465 100644 --- a/ers/ers_reload_it_test.go +++ b/ers/ers_reload_it_test.go @@ -133,17 +133,17 @@ func testReloadReloadConfigFromPath(t *testing.T) { } func testReloadVerifyFirstReload(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any if err := reloadRPC.Call(utils.ConfigSv1GetConfig, &config.SectionWithAPIOpts{ Sections: []string{config.ERsJSON}, }, &reply); err != nil { t.Error(err) - } else if mp, can := reply[config.ERsJSON].(map[string]interface{}); !can { + } else if mp, can := reply[config.ERsJSON].(map[string]any); !can { t.Errorf("expected a map received: %T", reply[config.ERsJSON]) } else if mp[utils.EnabledCfg] != true { t.Errorf("Expecting: , received: <%+v>", mp[utils.EnabledCfg]) - } else if readers, canConvert := mp[utils.ReadersCfg].([]interface{}); !canConvert { - if readers, canConvert := mp[utils.ReadersCfg].([]map[string]interface{}); !canConvert { // in case of gob + } else if readers, canConvert := mp[utils.ReadersCfg].([]any); !canConvert { + if readers, canConvert := mp[utils.ReadersCfg].([]map[string]any); !canConvert { // in case of gob t.Errorf("Cannot cast Readers to slice<%T>", mp[utils.ReadersCfg]) } else if len(readers) != 3 { // 2 active readers and 1 default t.Errorf("Expecting: <2>, received: <%+v>", len(readers)) diff --git a/ers/ers_test.go b/ers/ers_test.go index 3f63824ec..ebc389afb 100644 --- a/ers/ers_test.go +++ b/ers/ers_test.go @@ -36,7 +36,7 @@ func TestERsProcessPartialEvent(t *testing.T) { event := &utils.CGREvent{ Tenant: "cgrates.org", ID: "EventERsProcessPartial", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "originID", }, } @@ -82,7 +82,7 @@ func TestErsOnEvictedMetaPostCDROK(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -134,7 +134,7 @@ func TestErsOnEvictedMetaPostCDRMergeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: time.Date(2021, 6, 1, 12, 0, 0, 0, time.UTC), utils.AccountField: "1001", utils.Destination: "1002", @@ -143,7 +143,7 @@ func TestErsOnEvictedMetaPostCDRMergeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: time.Date(2021, 6, 1, 13, 0, 0, 0, time.UTC), utils.AccountField: "1001", utils.Destination: "1003", @@ -190,7 +190,7 @@ func TestErsOnEvictedMetaDumpToFileSetFieldsErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, @@ -242,7 +242,7 @@ func TestErsOnEvictedMetaDumpToFileMergeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: time.Date(2021, 6, 1, 12, 0, 0, 0, time.UTC), utils.AccountField: "1001", utils.Destination: "1002", @@ -251,7 +251,7 @@ func TestErsOnEvictedMetaDumpToFileMergeErr(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: time.Date(2021, 6, 1, 13, 0, 0, 0, time.UTC), utils.AccountField: "1001", utils.Destination: "1003", @@ -292,7 +292,7 @@ func TestErsOnEvictedMetaDumpToFileEmptyPath(t *testing.T) { { Tenant: "cgrates.org", ID: "EventErsOnEvicted", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, }, diff --git a/ers/filefwv_it_test.go b/ers/filefwv_it_test.go index 34ef889b4..e101e4d8a 100644 --- a/ers/filefwv_it_test.go +++ b/ers/filefwv_it_test.go @@ -233,7 +233,7 @@ func TestFWVFileConfig(t *testing.T) { Timezone: utils.EmptyString, Filters: []string{}, Flags: utils.FlagsWithParams{}, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), }, { ID: "file_reader2", @@ -246,7 +246,7 @@ func TestFWVFileConfig(t *testing.T) { Timezone: utils.EmptyString, Filters: []string{}, Flags: utils.FlagsWithParams{}, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), }, } expected := cfg.ERsCfg().Readers[0] @@ -446,10 +446,10 @@ func TestFileFWVProcessTrailer(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": "testOriginID", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } eR.conReqs <- struct{}{} filePath := "/tmp/TestFileFWVProcessTrailer/" @@ -620,10 +620,10 @@ func TestFileFWVCreateHeaderMap(t *testing.T) { eR.conReqs <- struct{}{} expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": "testOriginID", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } hdrFields := []*config.FCTemplate{ { diff --git a/ers/filejson.go b/ers/filejson.go index ea17e62c6..dce311c05 100644 --- a/ers/filejson.go +++ b/ers/filejson.go @@ -138,7 +138,7 @@ func (rdr *JSONFileER) processFile(fPath, fName string) (err error) { return } - var data map[string]interface{} + var data map[string]any if err = json.Unmarshal(byteValue, &data); err != nil { return } diff --git a/ers/filejson_it_test.go b/ers/filejson_it_test.go index d390edc2a..91fe96b45 100644 --- a/ers/filejson_it_test.go +++ b/ers/filejson_it_test.go @@ -130,7 +130,7 @@ var ( AttributeIDs: []string{"*none"}, Weight: 20, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.CacheOpt: utils.MetaReload, }, } @@ -152,7 +152,7 @@ var ( Account: "voiceAccount", BalanceType: utils.MetaVoice, Value: 600000000000, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: utils.MetaDefault, "RatingSubject": "*zero1m", utils.Weight: 10.0, diff --git a/ers/filexml_it_test.go b/ers/filexml_it_test.go index 04779a506..2bfe30791 100644 --- a/ers/filexml_it_test.go +++ b/ers/filexml_it_test.go @@ -374,10 +374,10 @@ func TestFileXMLProcessEvent(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": "25160047719:0", }, - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } select { case data := <-eR.rdrEvents: diff --git a/ers/kafka.go b/ers/kafka.go index c662d1316..e516cedde 100644 --- a/ers/kafka.go +++ b/ers/kafka.go @@ -192,7 +192,7 @@ func (rdr *KafkaER) readLoop(r *kafka.Reader) { } func (rdr *KafkaER) processMessage(msg []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(msg, &decodedMessage); err != nil { return } diff --git a/ers/kafka_it_test.go b/ers/kafka_it_test.go index c0e7c1414..06974122e 100644 --- a/ers/kafka_it_test.go +++ b/ers/kafka_it_test.go @@ -105,10 +105,10 @@ func TestKafkaER(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: ev.cgrEvent.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": randomOriginID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Errorf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) diff --git a/ers/kafka_test.go b/ers/kafka_test.go index 5af31ad4e..2a4bd02fc 100644 --- a/ers/kafka_test.go +++ b/ers/kafka_test.go @@ -165,10 +165,10 @@ func TestKafkaERProcessMessage(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: "*voice", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } rdr.Config().Fields = []*config.FCTemplate{ { diff --git a/ers/libers.go b/ers/libers.go index b31970186..54dc61164 100644 --- a/ers/libers.go +++ b/ers/libers.go @@ -216,7 +216,7 @@ func mergePartialEvents(cgrEvs []*utils.CGREvent, cfg *config.EventReaderCfg, fl } // get the field as interface in a slice - fields := make([]interface{}, len(cgrEvs)) + fields := make([]any, len(cgrEvs)) for i, ev := range cgrEvs { if fields[i], err = ordPath.ParseDataProviderWithInterfaces(ev.AsDataProvider()); err != nil { return @@ -241,8 +241,8 @@ func mergePartialEvents(cgrEvs []*utils.CGREvent, cfg *config.EventReaderCfg, fl cgrEv = &utils.CGREvent{ Tenant: cgrEvs[0].Tenant, ID: utils.UUIDSha1Prefix(), - Event: make(map[string]interface{}), - APIOpts: make(map[string]interface{}), + Event: make(map[string]any), + APIOpts: make(map[string]any), } for _, ev := range cgrEvs { // merge the maps for key, value := range ev.Event { diff --git a/ers/libers_test.go b/ers/libers_test.go index f5c47e08b..3af897db0 100644 --- a/ers/libers_test.go +++ b/ers/libers_test.go @@ -47,12 +47,12 @@ func TestLibErsMergePartialEvents(t *testing.T) { { Tenant: "cgrates.org", ID: "ev1", - Event: map[string]interface{}{ + Event: map[string]any{ "EvField1": "Value1", "EvField2": "Value4", utils.AnswerTime: 6., }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "Field1": "Value1", "Field2": "Value2", }, @@ -60,12 +60,12 @@ func TestLibErsMergePartialEvents(t *testing.T) { { Tenant: "cgrates.org", ID: "ev2", - Event: map[string]interface{}{ + Event: map[string]any{ "EvField3": "Value1", "EvField2": "Value2", utils.AnswerTime: 4., }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "Field4": "Value2", "Field2": "Value3", }, @@ -73,13 +73,13 @@ func TestLibErsMergePartialEvents(t *testing.T) { { Tenant: "cgrates.org", ID: "ev3", - Event: map[string]interface{}{ + Event: map[string]any{ "EvField2": "Value2", "EvField4": "Value4", "EvField3": "Value3", utils.AnswerTime: 8., }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "Field3": "Value3", "Field4": "Value4", }, @@ -87,14 +87,14 @@ func TestLibErsMergePartialEvents(t *testing.T) { } exp := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AnswerTime: 8., "EvField1": "Value1", "EvField2": "Value2", "EvField3": "Value3", "EvField4": "Value4", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "Field1": "Value1", "Field2": "Value2", "Field3": "Value3", diff --git a/ers/nats.go b/ers/nats.go index de126dd3d..e14f9c8d5 100644 --- a/ers/nats.go +++ b/ers/nats.go @@ -159,7 +159,7 @@ func (rdr *NatsER) Serve() (err error) { } func (rdr *NatsER) processMessage(msg []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(msg, &decodedMessage); err != nil { return } diff --git a/ers/nats_it_test.go b/ers/nats_it_test.go index 257e842e4..5a37fa05d 100644 --- a/ers/nats_it_test.go +++ b/ers/nats_it_test.go @@ -48,10 +48,10 @@ func testCheckNatsData(t *testing.T, randomOriginID, expData string, ch chan *na expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: ev.cgrEvent.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": randomOriginID, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } if !reflect.DeepEqual(ev.cgrEvent, expected) { t.Fatalf("Expected %s ,received %s", utils.ToJSON(expected), utils.ToJSON(ev.cgrEvent)) diff --git a/ers/s3.go b/ers/s3.go index e9af556f0..eee3e71f5 100644 --- a/ers/s3.go +++ b/ers/s3.go @@ -115,7 +115,7 @@ func (rdr *S3ER) Serve() (err error) { } func (rdr *S3ER) processMessage(body []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(body, &decodedMessage); err != nil { return } diff --git a/ers/s3_it_test.go b/ers/s3_it_test.go index dcde99e2f..939c00536 100644 --- a/ers/s3_it_test.go +++ b/ers/s3_it_test.go @@ -121,7 +121,7 @@ func TestS3ER(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: ev.cgrEvent.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": randomOriginID, }, } diff --git a/ers/s3_test.go b/ers/s3_test.go index ba433ce3c..5fd3a6f9b 100644 --- a/ers/s3_test.go +++ b/ers/s3_test.go @@ -84,10 +84,10 @@ func TestS3ERProcessMessage(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "testdest", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } body := []byte(`{"Destination":"testdest"}`) rdr.Config().Fields = []*config.FCTemplate{ diff --git a/ers/sql.go b/ers/sql.go index 14c7ccce4..de535054c 100644 --- a/ers/sql.go +++ b/ers/sql.go @@ -162,8 +162,8 @@ func (rdr *SQLEventReader) readLoop(db *gorm.DB, sqlDB io.Closer) { if rdr.Config().ConcurrentReqs != -1 { <-rdr.cap // do not try to read if the limit is reached } - columns := make([]interface{}, len(colNames)) - columnPointers := make([]interface{}, len(colNames)) + columns := make([]any, len(colNames)) + columnPointers := make([]any, len(colNames)) for i := range columns { columnPointers[i] = &columns[i] } @@ -172,7 +172,7 @@ func (rdr *SQLEventReader) readLoop(db *gorm.DB, sqlDB io.Closer) { rows.Close() return } - msg := make(map[string]interface{}) + msg := make(map[string]any) fltr := make(map[string]string) for i, colName := range colNames { msg[colName] = columns[i] @@ -201,7 +201,7 @@ func (rdr *SQLEventReader) readLoop(db *gorm.DB, sqlDB io.Closer) { return } - go func(msg map[string]interface{}) { + go func(msg map[string]any) { if err := rdr.processMessage(msg); err != nil { utils.Logger.Warning( fmt.Sprintf("<%s> processing message %s error: %s", @@ -236,7 +236,7 @@ func (rdr *SQLEventReader) readLoop(db *gorm.DB, sqlDB io.Closer) { } } -func (rdr *SQLEventReader) processMessage(msg map[string]interface{}) (err error) { +func (rdr *SQLEventReader) processMessage(msg map[string]any) (err error) { agReq := agents.NewAgentRequest( utils.MapStorage(msg), nil, nil, nil, nil, rdr.Config().Tenant, @@ -350,7 +350,7 @@ func (rdr *SQLEventReader) setURL(inURL, outURL string, opts *config.EventReader return } -func (rdr *SQLEventReader) postCDR(in []interface{}) (err error) { +func (rdr *SQLEventReader) postCDR(in []any) (err error) { sqlValues := make([]string, len(in)) for i := range in { sqlValues[i] = "?" diff --git a/ers/sql_test.go b/ers/sql_test.go index 8bb118a69..124fb26ee 100644 --- a/ers/sql_test.go +++ b/ers/sql_test.go @@ -163,7 +163,7 @@ func TestSQLPostCDR(t *testing.T) { rdrErr: nil, cap: nil, } - in := make([]interface{}, 2) + in := make([]any, 2) err := rdr.postCDR(in) expected := "db type not supported" if err == nil || err.Error() != expected { @@ -220,7 +220,7 @@ func TestSQLPostCDRMySQLError(t *testing.T) { rdrErr: nil, cap: nil, } - err := testSQLEventReader.postCDR([]interface{}{}) + err := testSQLEventReader.postCDR([]any{}) expected := "Error 1045: Access denied for user ''@'localhost' (using password: NO)" if err == nil { t.Errorf("\nExpected: <%+v>, \nreceived: <%+v>", expected, err) @@ -247,7 +247,7 @@ func TestSQLPostCDRPostgresError(t *testing.T) { rdrErr: nil, cap: nil, } - err := testSQLEventReader.postCDR([]interface{}{}) + err := testSQLEventReader.postCDR([]any{}) expected := "Error 1045: Access denied for user ''@'localhost' (using password: NO)" if err == nil { t.Errorf("\nExpected: <%+v>, \nreceived: <%+v>", expected, err) diff --git a/ers/sqs.go b/ers/sqs.go index 3f3c1fc91..42e37771c 100644 --- a/ers/sqs.go +++ b/ers/sqs.go @@ -108,7 +108,7 @@ func (rdr *SQSER) Serve() (err error) { } func (rdr *SQSER) processMessage(body []byte) (err error) { - var decodedMessage map[string]interface{} + var decodedMessage map[string]any if err = json.Unmarshal(body, &decodedMessage); err != nil { return } @@ -130,7 +130,7 @@ func (rdr *SQSER) processMessage(body []byte) (err error) { } cgrEv := utils.NMAsCGREvent(agReq.CGRRequest, agReq.Tenant, utils.NestingSep, agReq.Opts) rdrEv := rdr.rdrEvents - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) if _, isPartial := cgrEv.APIOpts[utils.PartialOpt]; isPartial { rdrEv = rdr.partialEvents } diff --git a/ers/sqs_it_test.go b/ers/sqs_it_test.go index 5d305c111..8d29feb13 100644 --- a/ers/sqs_it_test.go +++ b/ers/sqs_it_test.go @@ -119,7 +119,7 @@ func TestSQSER(t *testing.T) { expected := &utils.CGREvent{ Tenant: "cgrates.org", ID: ev.cgrEvent.ID, - Event: map[string]interface{}{ + Event: map[string]any{ "OriginID": randomOriginID, }, } diff --git a/ers/sqs_test.go b/ers/sqs_test.go index 3aaa1210b..6bde46fd2 100644 --- a/ers/sqs_test.go +++ b/ers/sqs_test.go @@ -141,10 +141,10 @@ func TestSQSERProcessMessage(t *testing.T) { } expEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testID", }, - APIOpts: make(map[string]interface{}), + APIOpts: make(map[string]any), } body := []byte(`{"OriginID":"testID"}`) rdr.Config().Fields = []*config.FCTemplate{ diff --git a/general_tests/a1_it_test.go b/general_tests/a1_it_test.go index 78113b92c..2252e3d26 100644 --- a/general_tests/a1_it_test.go +++ b/general_tests/a1_it_test.go @@ -155,7 +155,7 @@ package general_tests // Account: "rpdata1", // BalanceType: utils.MetaData, // Value: 10000000000, -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "rpdata1_test", // }, // } @@ -183,7 +183,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestA1itDataSession1", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.EventName: "INITIATE_SESSION", // utils.ToR: utils.MetaData, // utils.OriginID: "504966119", @@ -197,7 +197,7 @@ package general_tests // utils.AnswerTime: "2017-03-03 11:39:32 +0100 CET", // utils.Usage: "10240", // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsSesTTL: "28800s", // utils.OptsSesTTLLastUsed: "0s", // utils.OptsSesTTLUsage: "0s", @@ -220,7 +220,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSessionsVoiceLastUsed", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.EventName: "UPDATE_SESSION", // utils.AccountField: "rpdata1", // utils.Category: "data1", @@ -236,7 +236,7 @@ package general_tests // utils.AnswerTime: "2017-03-03 11:39:32 +0100 CET", // utils.Usage: "2097152", // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsSesTTL: "28800s", // utils.OptsSesTTLLastUsed: "2097152s", // utils.OptsSesTTLUsage: "0s", @@ -259,7 +259,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSessionsVoiceLastUsed", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.EventName: "TERMINATE_SESSION", // utils.AccountField: "rpdata1", // utils.Category: "data1", diff --git a/general_tests/accountactions_it_test.go b/general_tests/accountactions_it_test.go index f41a1d709..87b6fd979 100644 --- a/general_tests/accountactions_it_test.go +++ b/general_tests/accountactions_it_test.go @@ -180,7 +180,7 @@ func testAccActionsSetActionProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string if err := accSRPC.Call(context.Background(), utils.AdminSv1SetActionProfile, actPrf, &reply); err != nil { @@ -201,10 +201,10 @@ func testAccActionsExecuteAction(t *testing.T) { var reply string if err := accSRPC.Call(context.Background(), utils.ActionSv1ExecuteActions, &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "BAL_NEW": true, "BAL_ADD": true, }, @@ -219,10 +219,10 @@ func testAccActionsExecuteAction2(t *testing.T) { var reply string if err := accSRPC.Call(context.Background(), utils.ActionSv1ExecuteActions, &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "BAL_NEW": true, "BAL_ADD": true, utils.OptsActionsProfileIDs: []string{"CREATE_ACC"}, @@ -304,7 +304,7 @@ func testAccActionsSetActionProfile2(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var reply string if err := accSRPC.Call(context.Background(), utils.AdminSv1SetActionProfile, actPrf, &reply); err != nil { @@ -325,10 +325,10 @@ func testAccActionsExecuteAction3(t *testing.T) { var reply string if err := accSRPC.Call(context.Background(), utils.ActionSv1ExecuteActions, &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsActionsProfileIDs: []string{"REM_ACC"}, }, }, &reply); err != nil { diff --git a/general_tests/accounts_it_test.go b/general_tests/accounts_it_test.go index d86440ac4..8682b901e 100644 --- a/general_tests/accounts_it_test.go +++ b/general_tests/accounts_it_test.go @@ -135,7 +135,7 @@ func testV1AccLoadTarrifPlans(t *testing.T) { var reply string if err := accRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStopOnError: true, utils.MetaCache: caching, }, diff --git a/general_tests/analyzers_doc_it_test.go b/general_tests/analyzers_doc_it_test.go index dcfd61156..53d82d9c7 100644 --- a/general_tests/analyzers_doc_it_test.go +++ b/general_tests/analyzers_doc_it_test.go @@ -128,7 +128,7 @@ func testAnzDocKillEngine(t *testing.T) { } func testAnzDocCoreSStatus(t *testing.T) { - var status map[string]interface{} + var status map[string]any if err = anzDocRPC.Call(context.Background(), utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { return } @@ -368,7 +368,7 @@ func testAnzDocAttributeSProcessEvent(t *testing.T) { eventCall1001to1002 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "call1001to1002", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "abcdef", utils.OriginHost: "192.168.1.1", @@ -388,7 +388,7 @@ func testAnzDocAttributeSProcessEvent(t *testing.T) { eventCall1101to1002 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "call1011to1002", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "ghijkl", utils.OriginHost: "192.168.1.1", @@ -407,7 +407,7 @@ func testAnzDocAttributeSProcessEvent(t *testing.T) { eventCall1102to1001 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "call1102to1001", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "uvwxyz", utils.OriginHost: "192.168.1.1", @@ -453,7 +453,7 @@ func testAnzDocAttributeSProcessEvent(t *testing.T) { func testAnzDocQueryWithHeaderFilters(t *testing.T) { time.Sleep(500 * time.Millisecond) - var result []map[string]interface{} + var result []map[string]any // Query results for the AdminSv1.SetAttributeProfile request method using HeaderFilters if err := anzDocRPC.Call(context.Background(), utils.AnalyzerSv1StringQuery, &analyzers.QueryArgs{ @@ -549,7 +549,7 @@ func testAnzDocQueryWithHeaderFilters(t *testing.T) { } func testAnzDocQueryWithContentFiltersFilters(t *testing.T) { - var result []map[string]interface{} + var result []map[string]any // Query results for the AdminSv1.SetAttributeProfile request method using ContentFilters if err := anzDocRPC.Call(context.Background(), utils.AnalyzerSv1StringQuery, &analyzers.QueryArgs{ HeaderFilters: "", @@ -645,7 +645,7 @@ func testAnzDocQueryWithContentFiltersFilters(t *testing.T) { } func testAnzDocQuery(t *testing.T) { - var result []map[string]interface{} + var result []map[string]any // Get results for AttributeSv1.ProcessEvent request replies whose events have a non-null cost if err := anzDocRPC.Call(context.Background(), utils.AnalyzerSv1StringQuery, &analyzers.QueryArgs{ diff --git a/general_tests/attributes_filters_index_it_test.go b/general_tests/attributes_filters_index_it_test.go index 257475b6a..c72bad9a8 100644 --- a/general_tests/attributes_filters_index_it_test.go +++ b/general_tests/attributes_filters_index_it_test.go @@ -159,10 +159,10 @@ func testAttributeSetProfile(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Subject": "44", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } var rplyEv engine.AttrSProcessEventReply if err := attrFltrRPC.Call(context.Background(), utils.AttributeSv1ProcessEvent, @@ -206,10 +206,10 @@ func testAttributeSetFltr2(t *testing.T) { //same event for process ev := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Subject": "4444", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } exp := engine.AttrSProcessEventReply{ AlteredFields: []*engine.FieldsAltered{ @@ -220,11 +220,11 @@ func testAttributeSetFltr2(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Subject": "4444", "FL1": "Al1", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } var rplyEv engine.AttrSProcessEventReply diff --git a/general_tests/attributes_it_test.go b/general_tests/attributes_it_test.go index 8777a0adf..8f039ff7f 100644 --- a/general_tests/attributes_it_test.go +++ b/general_tests/attributes_it_test.go @@ -122,7 +122,7 @@ func testAttributeSLoadFromFolder(t *testing.T) { var replyLD string if err := attrRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: caching, utils.MetaStopOnError: true, }, @@ -138,11 +138,11 @@ func testAttributeSProcessEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "VariableTest", utils.ToR: utils.MetaVoice, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -156,12 +156,12 @@ func testAttributeSProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "VariableTest", utils.Category: utils.MetaVoice, utils.ToR: utils.MetaVoice, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -221,10 +221,10 @@ func testAttributeSProcessEventWithAccount(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithAccount", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddAccountInfo", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } eRply := engine.AttrSProcessEventReply{ @@ -237,11 +237,11 @@ func testAttributeSProcessEventWithAccount(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithAccount", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddAccountInfo", "Balance": "10", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } var rplyEv engine.AttrSProcessEventReply @@ -298,10 +298,10 @@ func testAttributeSProcessEventWithAccountFull(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithAccount2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullAccount", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -316,11 +316,11 @@ func testAttributeSProcessEventWithAccountFull(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithAccount2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullAccount", "FullAccount": "{\"ID\":\"cgrates.org:1001\",\"BalanceMap\":{\"*monetary\":[{\"Uuid\":\"18160631-a4ae-4078-8048-b4c6b87a36c6\",\"ID\":\"\",\"Value\":10,\"ExpirationDate\":\"0001-01-01T00:00:00Z\",\"Weight\":10,\"DestinationIDs\":{},\"RatingSubject\":\"\",\"Categories\":{},\"SharedGroups\":{},\"Disabled\":false,\"Factor\":null,\"Blocker\":false}]},\"UnitCounters\":null,\"ActionTriggers\":null,\"AllowNegative\":false,\"Disabled\":false,\"UpdateTime\":\"2020-10-06T12:43:51.805Z\"}", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } var rplyEv engine.AttrSProcessEventReply @@ -341,10 +341,10 @@ func testAttributeSProcessEventWithStat(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 11 * time.Second, utils.MetaCost: 10, @@ -360,10 +360,10 @@ func testAttributeSProcessEventWithStat(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaUsage: 11 * time.Second, utils.MetaCost: 10.5, @@ -418,10 +418,10 @@ func testAttributeSProcessEventWithStat(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithStat", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddStatEvent", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, } eRply := engine.AttrSProcessEventReply{ @@ -434,11 +434,11 @@ func testAttributeSProcessEventWithStat(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithStat", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddStatEvent", "AcdMetric": "1.1E+10", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } var rplyEv engine.AttrSProcessEventReply @@ -496,10 +496,10 @@ func testAttributeSProcessEventWithStatFull(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithStat", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullStats", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -514,11 +514,11 @@ func testAttributeSProcessEventWithStatFull(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithStat", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullStats", "AllMetrics": "{\"*acd\":1.1E+10,\"*asr\":100,\"*tcd\":22000000000}", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -569,10 +569,10 @@ func testAttributeSProcessEventWithResource(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e21", utils.OptsResourcesUnits: 3, }, @@ -585,10 +585,10 @@ func testAttributeSProcessEventWithResource(t *testing.T) { argsRU2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e22", utils.OptsResourcesUnits: 2, }, @@ -640,10 +640,10 @@ func testAttributeSProcessEventWithResource(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithResource", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddResourceUsages", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -658,11 +658,11 @@ func testAttributeSProcessEventWithResource(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithResource", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddResourceUsages", "ResourceTotalUsages": "5", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -722,10 +722,10 @@ func testAttributeSProcessEventWithResourceFull(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithResource2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullResource", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -740,7 +740,7 @@ func testAttributeSProcessEventWithResourceFull(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithResource2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddFullResource", "FullResource": "{\"Tenant\":\"cgrates.org\",\"ID\":\"ResTest\",\"Usages\":{\"651a8db2-4f67-4cf8-b622-169e8a482e21\":{\"Tenant\":\"cgrates.org\",\"ID\":\"651a8db2-4f67-4cf8-b622-169e8a482e21\",\"ExpiryTime\":\"2020-10-06T16:12:52.450804203+03:00\",\"Units\":3},\"651a8db2-4f67-4cf8-b622-169e8a482e22\":{\"Tenant\":\"cgrates.org\",\"ID\":\"651a8db2-4f67-4cf8-b622-169e8a482e22\",\"ExpiryTime\":\"2020-10-06T16:12:52.451034151+03:00\",\"Units\":2}},\"TTLIdx\":[\"651a8db2-4f67-4cf8-b622-169e8a482e21\",\"651a8db2-4f67-4cf8-b622-169e8a482e22\"]}", }, @@ -810,11 +810,11 @@ func testAttributeSProcessEventWithLibPhoneNumber(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumber2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddDestinationCarrier", "Destination": "+447779330921", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -829,12 +829,12 @@ func testAttributeSProcessEventWithLibPhoneNumber(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumber2", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddDestinationCarrier", "Destination": "+447779330921", "DestinationCarrier": "Orange", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -899,11 +899,11 @@ func testAttributeSProcessEventWithLibPhoneNumberComposed(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumberComposed", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddComposedInfo", "Destination": "+447779330921", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -918,12 +918,12 @@ func testAttributeSProcessEventWithLibPhoneNumberComposed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumberComposed", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddComposedInfo", "Destination": "+447779330921", "DestinationCarrier": "Orange44", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, @@ -983,11 +983,11 @@ func testAttributeSProcessEventWithLibPhoneNumberFull(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumber", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddDestinationDetails", "Destination": "+447779330921", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, } @@ -1002,12 +1002,12 @@ func testAttributeSProcessEventWithLibPhoneNumberFull(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testAttributeSProcessEventWithLibPhoneNumber", - Event: map[string]interface{}{ + Event: map[string]any{ "EventName": "AddDestinationDetails", "Destination": "+447779330921", "DestinationDetails": "{\"Carrier\":\"Orange\",\"CountryCode\":44,\"CountryCodeSource\":1,\"Extension\":\"\",\"GeoLocation\":\"United Kingdom\",\"ItalianLeadingZero\":false,\"LengthOfNationalDestinationCode\":0,\"NationalNumber\":7779330921,\"NumberOfLeadingZeros\":1,\"NumberType\":1,\"PreferredDomesticCarrierCode\":\"\",\"RawInput\":\"+447779330921\",\"Region\":\"GB\"}", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaSessionS, }, }, diff --git a/general_tests/broadcast_client_it_test.go b/general_tests/broadcast_client_it_test.go index 9104669cf..919663de7 100644 --- a/general_tests/broadcast_client_it_test.go +++ b/general_tests/broadcast_client_it_test.go @@ -131,7 +131,7 @@ package general_tests // args := utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSSv1ItProcessCDR", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.Category: utils.Call, // utils.ToR: utils.MetaVoice, diff --git a/general_tests/cacherpl_it_test.go b/general_tests/cacherpl_it_test.go index c98dfc4d5..0b9da556a 100644 --- a/general_tests/cacherpl_it_test.go +++ b/general_tests/cacherpl_it_test.go @@ -320,10 +320,10 @@ func testCacheRplAAAddData(t *testing.T) { } func testCacheRplPing(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRoute123", }, } @@ -337,7 +337,7 @@ func testCacheRplPing(t *testing.T) { if err := dspEngine1RPC.Call(context.Background(), utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRoute123", }, }, &rpl); err != nil { @@ -348,7 +348,7 @@ func testCacheRplPing(t *testing.T) { } func testCacheRplCheckReplication(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", } @@ -377,7 +377,7 @@ func testCacheRplCheckReplication(t *testing.T) { var rpl string if err := dspEngine2RPC.Call(context.Background(), utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRoute123", }, }, &rpl); err != nil { @@ -408,7 +408,7 @@ func testCacheRplAACheckReplication(t *testing.T) { if err := dspEngine2RPC.Call(context.Background(), utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRouteFromDispatcher2", }, }, &rpl); err != nil { @@ -419,7 +419,7 @@ func testCacheRplAACheckReplication(t *testing.T) { if err := dspEngine1RPC.Call(context.Background(), utils.AttributeSv1Ping, &utils.CGREvent{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRouteFromDispatcher1", }, }, &rpl); err != nil { @@ -477,13 +477,13 @@ func testCacheRplAACheckLoadReplication(t *testing.T) { if err := dspEngine1RPC.Call(context.Background(), utils.ChargerSv1ProcessEvent, &utils.CGREvent{ Tenant: "cgrates.org", ID: "testCacheRplAACheckLoadReplication", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", "EventName": "TestLoad", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRouteFromDispatcher1", }, }, &rpl); err != nil { @@ -499,13 +499,13 @@ func testCacheRplAACheckLoadReplication(t *testing.T) { Tenant: "cgrates.org", ID: "testCacheRplAACheckLoadReplication", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", "EventName": "TestLoad", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRouteFromDispatcher2", }, }, &rpl); err != nil { @@ -590,13 +590,13 @@ func testCacheRplCheckLoadReplication(t *testing.T) { Tenant: "cgrates.org", ID: "testCacheRplCheckLoadReplication", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: "+491511231234", "EventName": "TestLoad", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "testRoute123", }, }, &rpl); err != nil { diff --git a/general_tests/cdrs_it_test.go b/general_tests/cdrs_it_test.go index f8cb0532c..22cf0a6ca 100644 --- a/general_tests/cdrs_it_test.go +++ b/general_tests/cdrs_it_test.go @@ -128,7 +128,7 @@ func testCDRsLoadTariffPlanFromFolder(t *testing.T) { var rpl string if err := cdrsRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: caching, utils.MetaStopOnError: true, }, @@ -155,7 +155,7 @@ func testCDRsLoadTariffPlanFromFolder(t *testing.T) { func testCDRsProcessCDR(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testCDRsProcessCDR1", utils.OriginHost: "192.168.1.1", utils.Source: "testCDRsProcessCDR", @@ -167,7 +167,7 @@ func testCDRsProcessCDR(t *testing.T) { "field_extr1": "val_extr1", "fieldextr2": "valextr2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: true, utils.MetaChargers: true, utils.MetaRates: true, @@ -193,8 +193,8 @@ func testCDRsProcessCDR(t *testing.T) { t.Errorf("PayPalAccount should be added by AttributeS, have: %s", reply[0].Event["PayPalAccount"]) } - if reply[1].Opts[utils.MetaRateSCost].(map[string]interface{})[utils.Cost] != 0.4666666666666667 { - t.Errorf("Unexpected cost for CDR: %f", reply[1].Opts[utils.MetaRateSCost].(map[string]interface{})[utils.Cost]) + if reply[1].Opts[utils.MetaRateSCost].(map[string]any)[utils.Cost] != 0.4666666666666667 { + t.Errorf("Unexpected cost for CDR: %f", reply[1].Opts[utils.MetaRateSCost].(map[string]any)[utils.Cost]) } if reply[1].Event["PayPalAccount"] != "paypal@cgrates.org" { t.Errorf("PayPalAccount should be added by AttributeS, have: %s", @@ -207,7 +207,7 @@ func testCDRsProcessCDR(t *testing.T) { func testCDRsProcessCDR2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testCDRsProcessCDR2", utils.OriginHost: "192.168.1.1", utils.Source: "testCDRsProcessCDR2", @@ -219,7 +219,7 @@ func testCDRsProcessCDR2(t *testing.T) { "field_extr1": "val_extr1", "fieldextr2": "valextr2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: false, utils.MetaChargers: true, utils.MetaRates: true, @@ -245,8 +245,8 @@ func testCDRsProcessCDR2(t *testing.T) { t.Errorf("PayPalAccount should NOT be added by AttributeS, have: %s", reply[0].Event["PayPalAccount"]) } - if reply[1].Opts[utils.MetaRateSCost].(map[string]interface{})[utils.Cost] != 0.4666666666666667 { - t.Errorf("Unexpected cost for CDR: %f", reply[1].Opts[utils.MetaRateSCost].(map[string]interface{})[utils.Cost]) + if reply[1].Opts[utils.MetaRateSCost].(map[string]any)[utils.Cost] != 0.4666666666666667 { + t.Errorf("Unexpected cost for CDR: %f", reply[1].Opts[utils.MetaRateSCost].(map[string]any)[utils.Cost]) } //we disable the connection to AttributeS and PayPalAccount shouldn't be present if _, has := reply[1].Event["PayPalAccount"]; has { @@ -260,7 +260,7 @@ func testCDRsProcessCDR2(t *testing.T) { func testCDRsProcessCDR3(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testCDRsProcessCDR3", utils.OriginHost: "192.168.1.1", utils.Source: "testCDRsProcessCDR3", @@ -272,7 +272,7 @@ func testCDRsProcessCDR3(t *testing.T) { "field_extr1": "val_extr1", "fieldextr2": "valextr2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: false, utils.MetaChargers: false, utils.MetaRates: true, @@ -417,7 +417,7 @@ func testCDRsSetThresholdProfile(t *testing.T) { func testCDRsProcessCDR4(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testCDRsProcessCDR4", utils.OriginHost: "192.168.1.1", utils.Source: "testCDRsProcessCDR4", @@ -429,7 +429,7 @@ func testCDRsProcessCDR4(t *testing.T) { "field_extr1": "val_extr1", "fieldextr2": "valextr2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: true, utils.MetaChargers: true, utils.MetaRates: true, @@ -489,7 +489,7 @@ func testCDRsGetThreshold1(t *testing.T) { func testCDRsProcessCDR5(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testCDRsProcessCDR4", utils.OriginHost: "192.168.1.2", utils.Source: "testCDRsProcessCDR5", @@ -501,7 +501,7 @@ func testCDRsProcessCDR5(t *testing.T) { "field_extr1": "val_extr1", "fieldextr2": "valextr2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaAttributes: true, utils.MetaChargers: true, utils.MetaRates: true, diff --git a/general_tests/cdrs_onlexp_it_test.go b/general_tests/cdrs_onlexp_it_test.go index 7d6846168..5a2f87d0b 100644 --- a/general_tests/cdrs_onlexp_it_test.go +++ b/general_tests/cdrs_onlexp_it_test.go @@ -272,7 +272,7 @@ package general_tests // } // var reply string // arg := testCdr1.AsCGREvent() -// arg.APIOpts = map[string]interface{}{"ExporterID": "http_localhost"} +// arg.APIOpts = map[string]any{"ExporterID": "http_localhost"} // // we expect that the cdr export to fail and go into the failed post directory // if err := cdrsMasterRpc.Call(context.Background(), utils.CDRsV1ProcessEvent, @@ -445,7 +445,7 @@ package general_tests // v2 := url.Values{} // v1.Set("OriginID", "httpjsonrpc1") // v2.Set("OriginID", "amqpreconnect") -// httpContent := []interface{}{&ees.HTTPPosterRequest{Body: v1, Header: http.Header{"Content-Type": []string{"application/x-www-form-urlencoded"}}}, +// httpContent := []any{&ees.HTTPPosterRequest{Body: v1, Header: http.Header{"Content-Type": []string{"application/x-www-form-urlencoded"}}}, // &ees.HTTPPosterRequest{Body: v2, Header: http.Header{"Content-Type": []string{"application/x-www-form-urlencoded"}}}} // filesInDir, _ := os.ReadDir(cdrsMasterCfg.GeneralCfg().FailedPostsDir) // if len(filesInDir) == 0 { diff --git a/general_tests/cdrs_post_failover_it_test.go b/general_tests/cdrs_post_failover_it_test.go index c12df4d54..a89301758 100644 --- a/general_tests/cdrs_post_failover_it_test.go +++ b/general_tests/cdrs_post_failover_it_test.go @@ -120,7 +120,7 @@ func testCDRsPostFailoverLoadTariffPlanFromFolder(t *testing.T) { var reply string if err := cdrsPostFailRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStopOnError: true, utils.MetaCache: caching, }, @@ -150,7 +150,7 @@ func testCDRsPostFailoverProcessCDR(t *testing.T) { args := &utils.CGREvent{ ID: "1", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "testCDRsPostFailoverProcessCDR", utils.OriginHost: "192.168.1.1", utils.Source: "testCDRsPostFailoverProcessCDR", @@ -164,7 +164,7 @@ func testCDRsPostFailoverProcessCDR(t *testing.T) { "field_extr1": "val_extr1", "fieldextr2": "valextr2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsCDRsExport: true, utils.MetaAttributes: false, utils.MetaChargers: false, diff --git a/general_tests/cdrs_processevent_it_test.go b/general_tests/cdrs_processevent_it_test.go index 283129b73..890033fcf 100644 --- a/general_tests/cdrs_processevent_it_test.go +++ b/general_tests/cdrs_processevent_it_test.go @@ -155,7 +155,7 @@ package general_tests // argsEv := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "test1", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.RunID: "testv1", // utils.OriginID: "test1_processEvent", // utils.OriginHost: "OriginHost1", @@ -165,7 +165,7 @@ package general_tests // utils.AnswerTime: time.Date(2019, 11, 27, 12, 21, 26, 0, time.UTC), // utils.Usage: 2 * time.Minute, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaUsage: 2 * time.Minute, // utils.OptsAttributeS: true, // utils.OptsChargerS: false, @@ -246,7 +246,7 @@ package general_tests // argsEv := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "test2", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.RunID: "testv1", // utils.OriginID: "test2_processEvent", // utils.OriginHost: "OriginHost2", @@ -256,7 +256,7 @@ package general_tests // utils.AnswerTime: time.Date(2019, 11, 27, 12, 21, 26, 0, time.UTC), // utils.Usage: 2 * time.Minute, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaUsage: 2 * time.Minute, // utils.OptsChargerS: true, // utils.OptsAttributeS: false, @@ -292,7 +292,7 @@ package general_tests // argsEv := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "test3", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.RunID: "testv1", // utils.OriginID: "test3_processEvent", // utils.OriginHost: "OriginHost3", @@ -302,7 +302,7 @@ package general_tests // utils.AnswerTime: time.Date(2019, 11, 27, 12, 21, 26, 0, time.UTC), // utils.Usage: 2 * time.Minute, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaUsage: 2 * time.Minute, // utils.OptsRateS: true, // utils.OptsChargerS: false, @@ -331,7 +331,7 @@ package general_tests // argsEv := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "test4", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.RunID: "testv1", // utils.Tenant: "cgrates.org", // utils.Category: "call", @@ -345,7 +345,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), // utils.Usage: 5 * time.Minute, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaOriginID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", // utils.OptsStatS: true, // utils.OptsRateS: false, @@ -421,7 +421,7 @@ package general_tests // argsEv := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "test5", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.RunID: "testv1", // utils.OriginID: "test5_processEvent", // utils.OriginHost: "OriginHost5", @@ -431,7 +431,7 @@ package general_tests // utils.AnswerTime: time.Date(2019, 11, 27, 12, 21, 26, 0, time.UTC), // utils.Usage: 2 * time.Minute, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaUsage: 2 * time.Minute, // utils.OptsAttributeS: false, // utils.OptsChargerS: false, @@ -524,7 +524,7 @@ package general_tests // // Account: "1005", // // BalanceType: utils.MetaMonetary, // // Value: 1, -// // Balance: map[string]interface{}{ +// // Balance: map[string]any{ // // utils.ID: utils.MetaDefault, // // utils.Weight: 10.0, // // }, @@ -545,7 +545,7 @@ package general_tests // } // args := &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.OriginID: "testV2CDRsProcessCDRWithThreshold", // utils.OriginHost: "OriginHost6", // utils.Source: "testV2CDRsProcessCDRWithThreshold", @@ -559,7 +559,7 @@ package general_tests // "field_extr1": "val_extr1", // "fieldextr2": "valextr2", // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaUsage: 2 * time.Minute, // utils.OptsThresholdS: true, // utils.OptsRateS: true, @@ -607,7 +607,7 @@ package general_tests // args := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "test7", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.RunID: "testv1", // utils.OriginID: "test7_processEvent", // utils.OriginHost: "OriginHost7", @@ -617,7 +617,7 @@ package general_tests // utils.AnswerTime: time.Date(2019, 11, 27, 12, 21, 26, 0, time.UTC), // utils.Usage: 2 * time.Minute, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaUsage: 2 * time.Minute, // utils.OptsThresholdS: false, // utils.OptsChargerS: false, @@ -665,7 +665,7 @@ package general_tests // argsEv := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "test101", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.RunID: "testv1", // utils.OriginID: "test3_v2processEvent", // utils.OriginHost: "OriginHost101", @@ -675,7 +675,7 @@ package general_tests // utils.AnswerTime: time.Date(2019, 11, 27, 12, 21, 26, 0, time.UTC), // utils.Usage: 2 * time.Minute, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.MetaUsage: 2 * time.Minute, // utils.OptsChargerS: false, // utils.OptsCDRsExport: true, @@ -686,7 +686,7 @@ package general_tests // expRply := []*utils.EventWithFlags{ // { // Flags: []string{}, -// Event: map[string]interface{}{ +// Event: map[string]any{ // "Account": "1001", // "AnswerTime": "2019-11-27T12:21:26Z", // "CGRID": "d13c705aa38164aaf297fb77d7700565a3cea04b", diff --git a/general_tests/data_it_test.go b/general_tests/data_it_test.go index d6f2da30b..1b4178b40 100644 --- a/general_tests/data_it_test.go +++ b/general_tests/data_it_test.go @@ -132,7 +132,7 @@ package general_tests // Account: "testV1DataDataCost", // BalanceType: utils.MetaData, // Value: 356000000, -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.Categories: "data", // utils.ID: "testV1DataDataCost", // utils.RatingSubject: "*zero10000ns", @@ -211,7 +211,7 @@ package general_tests // Account: "testV1DataDebitBalance", // BalanceType: utils.MetaData, // Value: 356000000, -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.Categories: "data", // utils.ID: "testV1DataDebitBalance", // utils.RatingSubject: "*zero10000ns", @@ -270,7 +270,7 @@ package general_tests // Account: "testV1DataDataDebitUsage1G0", // BalanceType: utils.MetaData, // Value: 1100000000, -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.Categories: "data", // utils.ID: "testV1DataDataDebitUsage1G0", // utils.RatingSubject: "*zero10000ns", @@ -349,7 +349,7 @@ package general_tests // Account: "testV1DataDebitBalance1G0", // BalanceType: utils.MetaData, // Value: 1100000000, -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.Categories: "data", // utils.ID: "testV1DataDebitBalance1G0", // utils.RatingSubject: "*zero10000ns", @@ -408,7 +408,7 @@ package general_tests // Account: "testV1DataInitSession", // BalanceType: utils.MetaData, // Value: 1100000000, -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.Categories: "data", // utils.ID: "testV1DataInitSession", // utils.RatingSubject: "*zero10000ns", @@ -441,7 +441,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "testV1DataInitSession", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.ToR: utils.MetaData, // utils.Category: "data", @@ -454,7 +454,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), // utils.Usage: initUsage, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsSesTTL: "300s", // utils.OptsSesTTLLastUsed: "0s", // utils.OptsSesTTLMaxDelay: "1800s", @@ -486,7 +486,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "testV1DataUpdateWith1Mo", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.ToR: utils.MetaData, // utils.Category: "data", @@ -501,7 +501,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), // utils.Usage: reqUsage, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsSesTTL: "28807s", // utils.OptsSesTTLLastUsed: "0s", // utils.OptsSesTTLMaxDelay: "1800s", @@ -530,7 +530,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "testV1DataUpdateWith1Go", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.ToR: utils.MetaData, // utils.Category: "data", @@ -545,7 +545,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), // utils.Usage: reqUsage, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsSesTTL: "28807s", // utils.OptsSesTTLLastUsed: "0s", // utils.OptsSesTTLMaxDelay: "1800s", diff --git a/general_tests/dataconverter_it_test.go b/general_tests/dataconverter_it_test.go index 037971764..7393c0bde 100644 --- a/general_tests/dataconverter_it_test.go +++ b/general_tests/dataconverter_it_test.go @@ -174,7 +174,7 @@ func testDCLoaderRun(t *testing.T) { var reply string if err := dcRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, utils.MetaStopOnError: false, }, @@ -199,7 +199,7 @@ func testDCAttributeProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "DCEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": 1001, "DivideVariable": "2", "DurationVariable": "5s", @@ -214,7 +214,7 @@ func testDCAttributeProcessEvent(t *testing.T) { "UnixTimeVariable": "1704067200", "VariableInSeconds": "3600", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "variable01": time.Hour, "variable02": 10, "variable03": 2.4, @@ -234,10 +234,10 @@ func testDCAttributeProcessEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "DCEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: 1001, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "variable01": time.Hour, "variable02": 10, "variable03": 2.4, diff --git a/general_tests/dispatcher_opts_it_test.go b/general_tests/dispatcher_opts_it_test.go index 16208643e..841a1f995 100644 --- a/general_tests/dispatcher_opts_it_test.go +++ b/general_tests/dispatcher_opts_it_test.go @@ -162,10 +162,10 @@ func testDispatcherOptsDSPRPCConn(t *testing.T) { func testDispatcherOptsCoreStatus(t *testing.T) { // HOST1 host matched - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -178,10 +178,10 @@ func testDispatcherOptsCoreStatus(t *testing.T) { func testDispatcherAdminCoreStatus(t *testing.T) { // HOST2 host matched because it was called from engine with port :4012 -> host2 - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "account#dan.bogos", utils.MetaDispatchers: false, }, @@ -197,7 +197,7 @@ func testDispatcherGetItemBothEnginesFirstAttempt(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -205,7 +205,7 @@ func testDispatcherGetItemBothEnginesFirstAttempt(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} + var reply any if err := dspOptsRPC.Call(context.Background(), utils.CacheSv1GetItemWithRemote, argsCache, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Error(err) @@ -218,7 +218,7 @@ func testDispatcherGetItemBothEnginesFirstAttempt(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -238,7 +238,7 @@ func testDispatcherGetItemBothEnginesFirstAttempt(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -272,7 +272,7 @@ func testDispatcherOptsAdminSetDispatcherProfile(t *testing.T) { ReplyTimeout: 2 * time.Minute, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -295,7 +295,7 @@ func testDispatcherOptsAdminSetDispatcherProfile(t *testing.T) { ReplyTimeout: 2 * time.Minute, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -323,7 +323,7 @@ func testDispatcherOptsAdminSetDispatcherProfile(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -335,10 +335,10 @@ func testDispatcherOptsAdminSetDispatcherProfile(t *testing.T) { } func testDispatcherAdminCoreStatusWithRouteID(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "account#dan.bogos", }, } @@ -353,7 +353,7 @@ func testDispatcherAdminGetItemHOST2(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -361,12 +361,12 @@ func testDispatcherAdminGetItemHOST2(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} + var reply any if err := adminsRPC.Call(context.Background(), utils.CacheSv1GetItemWithRemote, argsCache, &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.Tenant: "cgrates.org", utils.ProfileID: "DSP1", "HostID": "HOST2", @@ -379,7 +379,7 @@ func testDispatcherAdminGetItemHOST2(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -391,17 +391,17 @@ func testDispatcherAdminGetItemHOST2(t *testing.T) { &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.FilterIDs: nil, - utils.Hosts: []interface{}{ - map[string]interface{}{ + utils.Hosts: []any{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST1", utils.Params: nil, utils.Weight: 10., }, - map[string]interface{}{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST2", @@ -423,7 +423,7 @@ func testDispatcherAdminGetItemHOST2(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -441,7 +441,7 @@ func testDispatcherAdminGetItemHOST2(t *testing.T) { func testDisaptcherCacheClear(t *testing.T) { var reply string if err := adminsRPC.Call(context.Background(), utils.CacheSv1Clear, &utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, }, &reply); err != nil { @@ -452,10 +452,10 @@ func testDisaptcherCacheClear(t *testing.T) { } func testDispatcherAdminCoreStatusWithRouteIDButHost1(t *testing.T) { - var reply map[string]interface{} + var reply map[string]any ev := utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRouteID: "account#dan.bogos", }, } @@ -470,7 +470,7 @@ func testDispatcherAdminCheckCacheAfterRouting(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -478,12 +478,12 @@ func testDispatcherAdminCheckCacheAfterRouting(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} + var reply any if err := adminsRPC.Call(context.Background(), utils.CacheSv1GetItemWithRemote, argsCache, &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.Tenant: "cgrates.org", utils.ProfileID: "DSP1", "HostID": "HOST1", @@ -496,7 +496,7 @@ func testDispatcherAdminCheckCacheAfterRouting(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -508,17 +508,17 @@ func testDispatcherAdminCheckCacheAfterRouting(t *testing.T) { &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.FilterIDs: nil, - utils.Hosts: []interface{}{ - map[string]interface{}{ + utils.Hosts: []any{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST1", utils.Params: nil, utils.Weight: 10., }, - map[string]interface{}{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST2", @@ -540,7 +540,7 @@ func testDispatcherAdminCheckCacheAfterRouting(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -573,7 +573,7 @@ func testDispatcherSetDispatcherProfileOverwrite(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -588,7 +588,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -596,7 +596,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} // Should receive NOT_FOUND, as CallCache that was called in API will remove the DispatcherRoute + var reply any // Should receive NOT_FOUND, as CallCache that was called in API will remove the DispatcherRoute if err := adminsRPC.Call(context.Background(), utils.CacheSv1GetItemWithRemote, argsCache, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { t.Errorf("Unexpected error returned: %v", err) @@ -605,7 +605,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -618,10 +618,10 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { &reply); err != nil { t.Error(err) } else { - expected := map[string]interface{}{ + expected := map[string]any{ utils.FilterIDs: nil, - utils.Hosts: []interface{}{ - map[string]interface{}{ + utils.Hosts: []any{ + map[string]any{ utils.Blocker: false, utils.FilterIDs: nil, utils.ID: "HOST2", @@ -643,7 +643,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP1(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -678,7 +678,7 @@ func testDispatcherSetAnotherProifle(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, } @@ -693,7 +693,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP2(t *testing.T) { // get for *dispatcher_routes argsCache := &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -701,7 +701,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP2(t *testing.T) { ItemID: "account#dan.bogos:*core", }, } - var reply interface{} + var reply any // NOT_FOUND if err := adminsRPC.Call(context.Background(), utils.CacheSv1GetItemWithRemote, argsCache, &reply); err == nil || err.Error() != utils.ErrNotFound.Error() { @@ -711,7 +711,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP2(t *testing.T) { // get for *dispatcher_profiles argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ @@ -728,7 +728,7 @@ func testDispatcherCheckCacheAfterSetDispatcherDSP2(t *testing.T) { // get for *dispatchers argsCache = &utils.ArgsGetCacheItemWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaDispatchers: false, }, ArgsGetCacheItem: utils.ArgsGetCacheItem{ diff --git a/general_tests/ees_blocker_it_test.go b/general_tests/ees_blocker_it_test.go index 0ca050f82..7812cfea4 100644 --- a/general_tests/ees_blocker_it_test.go +++ b/general_tests/ees_blocker_it_test.go @@ -126,14 +126,14 @@ func testEEsBlockerExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "EEsProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ "TestCase": "EEsBlockerBehaviour", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := eesBlockerRPC.Call(context.Background(), utils.EeSv1ProcessEvent, exportedEvent, &reply); err != nil { t.Error(err) } diff --git a/general_tests/export_it_test.go b/general_tests/export_it_test.go index 88b551f07..cafbde4c9 100644 --- a/general_tests/export_it_test.go +++ b/general_tests/export_it_test.go @@ -138,7 +138,7 @@ func testExpLoadTPFromFolder(t *testing.T) { var reply string if err := expRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: caching, utils.MetaStopOnError: true, }, @@ -217,7 +217,7 @@ func testExpLoadTPFromExported(t *testing.T) { if err := expRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ LoaderID: "exported_ldr", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: caching, }, }, &reply); err != nil { diff --git a/general_tests/filter_update_it_test.go b/general_tests/filter_update_it_test.go index bf593d923..3fdd300fc 100644 --- a/general_tests/filter_update_it_test.go +++ b/general_tests/filter_update_it_test.go @@ -61,14 +61,14 @@ var ( ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } ev2 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, } @@ -160,7 +160,7 @@ func testFilterUpdateSetFilterE1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaLoad, }, } @@ -200,7 +200,7 @@ func testFilterUpdateSetAttrProfileE1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, }, } @@ -350,7 +350,7 @@ func testFilterUpdateSetFilterAfterAttrE1(t *testing.T) { }, }, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaLoad, }, } diff --git a/general_tests/filtered_replication_it_test.go b/general_tests/filtered_replication_it_test.go index d321af197..2a15d370d 100644 --- a/general_tests/filtered_replication_it_test.go +++ b/general_tests/filtered_replication_it_test.go @@ -509,7 +509,7 @@ func testFltrRplThresholdProfile(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "dan", }, } @@ -697,7 +697,7 @@ func testFltrRplThresholdProfile(t *testing.T) { // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "event1", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.AccountField: "dan", // utils.Usage: 45 * time.Second, // }, @@ -717,7 +717,7 @@ func testFltrRplThresholdProfile(t *testing.T) { // sq.SQItems = []engine.SQItem{{ // EventID: "event1", // }} -// s.AddEvent("event1", utils.MapStorage{utils.MetaReq: map[string]interface{}{utils.Usage: 45 * time.Second}}) +// s.AddEvent("event1", utils.MapStorage{utils.MetaReq: map[string]any{utils.Usage: 45 * time.Second}}) // replySq.SQItems[0].ExpiryTime = sq.SQItems[0].ExpiryTime // if !reflect.DeepEqual(sq, replySq) { // t.Errorf("Expecting : %s, received: %s", utils.ToJSON(sq), utils.ToJSON(replySq)) @@ -876,10 +876,10 @@ func testFltrRplThresholdProfile(t *testing.T) { // rEv := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: utils.UUIDSha1Prefix(), -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.AccountField: "dan", // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e61", // utils.OptsResourcesUnits: 6, // }, diff --git a/general_tests/filters_it_test.go b/general_tests/filters_it_test.go index d5fbcdbbf..8b270c1b0 100644 --- a/general_tests/filters_it_test.go +++ b/general_tests/filters_it_test.go @@ -128,7 +128,7 @@ func testV1FltrLoadTarrifPlans(t *testing.T) { var reply string if err := fltrRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStopOnError: true, utils.MetaCache: caching, }, @@ -146,10 +146,10 @@ func testV1FltrAddStats(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 11 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 10.0, @@ -165,10 +165,10 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 11 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 10.5, @@ -184,10 +184,10 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 5 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 12.5, @@ -203,10 +203,10 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 6 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 17.5, @@ -222,10 +222,10 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 11 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), utils.MetaCost: 12.5, @@ -241,10 +241,10 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Stat": "Stat1_1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 12 * time.Second, utils.MetaUsage: 11 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), @@ -261,10 +261,10 @@ func testV1FltrAddStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Stat": "Stat1_1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaPDD: 15 * time.Second, utils.MetaUsage: 15 * time.Second, utils.MetaStartTime: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC), @@ -361,7 +361,7 @@ func testV1FltrGetThresholdForEvent(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010"}, } var ids []string @@ -422,7 +422,7 @@ func testV1FltrGetThresholdForEvent2(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010"}, } var ids []string @@ -473,11 +473,11 @@ func testV1FltrPopulateResources(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e21", utils.OptsResourcesUnits: 3, }, @@ -546,7 +546,7 @@ func testV1FltrPopulateResources(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "2020"}, } @@ -633,10 +633,10 @@ func testV1FltrPopulateResourcesAvailableUnits(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "3001", "Destination": "3002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e21", utils.OptsResourcesUnits: 9, }, @@ -708,10 +708,10 @@ func testV1FltrPopulateResourcesAvailableUnits(t *testing.T) { statsEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event_nr2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "1", }, } @@ -850,7 +850,7 @@ func testV1FltrAccounts(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}, } var ids []string @@ -953,7 +953,7 @@ func testV1FltrAccountsExistsDynamicaly(t *testing.T) { tEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}, } var ids []string @@ -966,7 +966,7 @@ func testV1FltrAccountsExistsDynamicaly(t *testing.T) { tEv = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "non"}, } ids = nil @@ -1041,12 +1041,12 @@ func testV1FltrChargerSuffix(t *testing.T) { CGREvent: &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "intraState", utils.Destination: "999", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRunID: "Intra", utils.OptsAttributesProfileIDs: []string{"*constant:*req.Subject:intraState"}, utils.MetaSubsys: utils.MetaChargers, @@ -1058,7 +1058,7 @@ func testV1FltrChargerSuffix(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "Something_intra", utils.Destination: "999", @@ -1090,12 +1090,12 @@ func testV1FltrChargerSuffix(t *testing.T) { CGREvent: &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "interState", utils.Destination: "999", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaSubsys: utils.MetaChargers, utils.MetaRunID: "Inter", utils.OptsContext: "*chargers", @@ -1107,7 +1107,7 @@ func testV1FltrChargerSuffix(t *testing.T) { cgrEv = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Subject: "Something_inter", utils.Destination: "999", @@ -1161,12 +1161,12 @@ func testV1FltrAttributesPrefix(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.new", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "2007", "CustomField2": "+2007", utils.Destination: "+1207", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "prefix", }, }, @@ -1174,12 +1174,12 @@ func testV1FltrAttributesPrefix(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.new", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "+2007", "CustomField2": "+2007", utils.Destination: "+1207", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: "prefix", }, } diff --git a/general_tests/fltr_sep_it_test.go b/general_tests/fltr_sep_it_test.go index bcb10fe70..1e4c443a1 100644 --- a/general_tests/fltr_sep_it_test.go +++ b/general_tests/fltr_sep_it_test.go @@ -143,7 +143,7 @@ func testFltrSepLoadTarrifPlans(t *testing.T) { var reply string if err := fltrSepRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, utils.MetaStopOnError: false, }, @@ -158,10 +158,10 @@ func testFltrSepFilterSeparation(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "filter_separation_test", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsContext: utils.MetaAny, }, } diff --git a/general_tests/gocs_it_test.go b/general_tests/gocs_it_test.go index d53c057cf..3e7a55b5b 100644 --- a/general_tests/gocs_it_test.go +++ b/general_tests/gocs_it_test.go @@ -232,7 +232,7 @@ func testGOCSAuthSession(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -244,7 +244,7 @@ func testGOCSAuthSession(t *testing.T) { utils.SetupTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), utils.Usage: authUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesMaxUsage: true, }, } @@ -262,7 +262,7 @@ func testGOCSInitSession(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -275,7 +275,7 @@ func testGOCSInitSession(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: initUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesInitiate: true, }, } @@ -341,7 +341,7 @@ func testGOCSUpdateSession(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -354,7 +354,7 @@ func testGOCSUpdateSession(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: reqUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesUpdate: true, }, } @@ -424,7 +424,7 @@ func testGOCSUpdateSession2(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItUpdateSession2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -437,7 +437,7 @@ func testGOCSUpdateSession2(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: reqUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesUpdate: true, }, } @@ -499,7 +499,7 @@ func testGOCSTerminateSession(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testGOCSTerminateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", @@ -512,7 +512,7 @@ func testGOCSTerminateSession(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 15 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesTerminate: true, }, } @@ -564,7 +564,7 @@ func testGOCSProcessCDR(t *testing.T) { Tenant: "cgrates.org", ID: "TestSSv1ItProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testGOCS", diff --git a/general_tests/kafka_ssl_it_test.go b/general_tests/kafka_ssl_it_test.go index 3f31cda2e..238f2c99d 100644 --- a/general_tests/kafka_ssl_it_test.go +++ b/general_tests/kafka_ssl_it_test.go @@ -123,7 +123,7 @@ func testKafkaSSLExportEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "KafkaEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "abcdef", utils.OriginHost: "192.168.1.1", @@ -142,7 +142,7 @@ func testKafkaSSLExportEvent(t *testing.T) { }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := kafkaSSLRpc.Call(context.Background(), utils.EeSv1ProcessEvent, event, &reply); err != nil { t.Error(err) } diff --git a/general_tests/ld_process_match_ac_it_test.go b/general_tests/ld_process_match_ac_it_test.go index 70866bdad..7f6bf4357 100644 --- a/general_tests/ld_process_match_ac_it_test.go +++ b/general_tests/ld_process_match_ac_it_test.go @@ -60,7 +60,7 @@ type TestRPC1 struct { var testRPC2 TestRPC1 -func (rpc *TestRPC1) ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs, rply *map[string]map[string]interface{}) (err error) { +func (rpc *TestRPC1) ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs, rply *map[string]map[string]any) (err error) { rpc.Event = cgrEv return nil } @@ -138,7 +138,7 @@ func testLdPrMatchAcLoadTP(t *testing.T) { var reply string if err := testLdPrMatchAcRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: caching, utils.MetaStopOnError: true, }, @@ -153,7 +153,7 @@ func testLdPrMatchAcCDRSProcessEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEv1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "TestEv1", utils.RequestType: utils.MetaPrepaid, @@ -161,7 +161,7 @@ func testLdPrMatchAcCDRSProcessEvent(t *testing.T) { utils.Subject: "1001", utils.Destination: "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 2 * time.Minute, utils.MetaRates: false, utils.OptsCDRsExport: true, @@ -182,7 +182,7 @@ func testLdPrMatchAcCDRSProcessEvent(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEv1", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", @@ -191,25 +191,25 @@ func testLdPrMatchAcCDRSProcessEvent(t *testing.T) { "Subject": "1001", "ToR": "*voice", }, - APIOpts: map[string]interface{}{ - utils.MetaAccountSCost: map[string]interface{}{ + APIOpts: map[string]any{ + utils.MetaAccountSCost: map[string]any{ "Abstracts": 0, - "Accounting": map[string]interface{}{}, - "Accounts": map[string]interface{}{ - "1001": map[string]interface{}{ - "Balances": map[string]interface{}{ - "VoiceBalance": map[string]interface{}{ + "Accounting": map[string]any{}, + "Accounts": map[string]any{ + "1001": map[string]any{ + "Balances": map[string]any{ + "VoiceBalance": map[string]any{ "AttributeIDs": nil, "Blockers": nil, "CostIncrements": nil, "FilterIDs": nil, "ID": "VoiceBalance", - "Opts": map[string]interface{}{}, + "Opts": map[string]any{}, "RateProfileIDs": nil, "Type": utils.MetaAbstract, "UnitFactors": nil, "Units": 3600000000000, - "Weights": []map[string]interface{}{ + "Weights": []map[string]any{ { "FilterIDs": nil, "Weight": 10, @@ -220,7 +220,7 @@ func testLdPrMatchAcCDRSProcessEvent(t *testing.T) { "Blockers": nil, "FilterIDs": nil, "ID": "1001", - "Opts": map[string]interface{}{}, + "Opts": map[string]any{}, "Tenant": "cgrates.org", "ThresholdIDs": nil, "Weights": nil, @@ -228,9 +228,9 @@ func testLdPrMatchAcCDRSProcessEvent(t *testing.T) { }, "Charges": nil, "Concretes": nil, - "Rates": map[string]interface{}{}, - "Rating": map[string]interface{}{}, - "UnitFactors": map[string]interface{}{}, + "Rates": map[string]any{}, + "Rating": map[string]any{}, + "UnitFactors": map[string]any{}, }, utils.MetaUsage: 2 * time.Minute, utils.OptsCDRsExport: true, diff --git a/general_tests/ld_process_match_rt_it_test.go b/general_tests/ld_process_match_rt_it_test.go index 611b860bd..c3828236b 100644 --- a/general_tests/ld_process_match_rt_it_test.go +++ b/general_tests/ld_process_match_rt_it_test.go @@ -60,7 +60,7 @@ type TestRPC struct { var testRPCrt1 TestRPC -func (rpc *TestRPC) ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs, rply *map[string]map[string]interface{}) (err error) { +func (rpc *TestRPC) ProcessEvent(ctx *context.Context, cgrEv *utils.CGREventWithEeIDs, rply *map[string]map[string]any) (err error) { rpc.Event = cgrEv return nil } @@ -134,7 +134,7 @@ func testLdPrMatchRtLoadTP(t *testing.T) { var reply string if err := testLdPrMatchRtRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStopOnError: true, utils.MetaCache: utils.MetaReload, }, @@ -149,7 +149,7 @@ func testLdPrMatchRtCDRSProcessEvent(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEv1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "TestEv1", utils.RequestType: utils.MetaPrepaid, @@ -158,7 +158,7 @@ func testLdPrMatchRtCDRSProcessEvent(t *testing.T) { utils.Destination: "1002", utils.Usage: time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRates: true, utils.OptsCDRsExport: true, utils.MetaAccounts: false, @@ -176,13 +176,13 @@ func testLdPrMatchRtCDRSProcessEvent(t *testing.T) { if testRPCrt1.Event == nil { t.Fatal("The rpc was not called") } - costIntervalRatesID := testRPCrt1.Event.APIOpts[utils.MetaRateSCost].(map[string]interface{})["CostIntervals"].([]interface{})[0].(map[string]interface{})["Increments"].([]interface{})[0].(map[string]interface{})["RateID"] + costIntervalRatesID := testRPCrt1.Event.APIOpts[utils.MetaRateSCost].(map[string]any)["CostIntervals"].([]any)[0].(map[string]any)["Increments"].([]any)[0].(map[string]any)["RateID"] expected2 := &utils.CGREventWithEeIDs{ EeIDs: nil, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestEv1", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", "OriginID": "TestEv1", @@ -191,15 +191,15 @@ func testLdPrMatchRtCDRSProcessEvent(t *testing.T) { "ToR": "*voice", "Usage": 60000000000, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: 0.4, - utils.MetaRateSCost: map[string]interface{}{ + utils.MetaRateSCost: map[string]any{ "Altered": nil, utils.Cost: 0.4, - "CostIntervals": []map[string]interface{}{ + "CostIntervals": []map[string]any{ { "CompressFactor": 1, - "Increments": []map[string]interface{}{ + "Increments": []map[string]any{ { "CompressFactor": 2, "RateID": costIntervalRatesID, @@ -213,8 +213,8 @@ func testLdPrMatchRtCDRSProcessEvent(t *testing.T) { "MaxCost": 0, "MaxCostStrategy": "", "MinCost": 0, - "Rates": map[string]interface{}{ - utils.IfaceAsString(costIntervalRatesID): map[string]interface{}{ + "Rates": map[string]any{ + utils.IfaceAsString(costIntervalRatesID): map[string]any{ "FixedFee": 0, "Increment": 30000000000, "IntervalStart": 0, diff --git a/general_tests/loaders_internal_indexes_it_test.go b/general_tests/loaders_internal_indexes_it_test.go index 53b468e6b..959485ce6 100644 --- a/general_tests/loaders_internal_indexes_it_test.go +++ b/general_tests/loaders_internal_indexes_it_test.go @@ -115,7 +115,7 @@ func testLoadersIDBIdxItLoad(t *testing.T) { var reply string if err := loadersIDBIdxRPCInternal.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStopOnError: false, utils.MetaCache: utils.MetaReload, }, diff --git a/general_tests/poster_it_test.go b/general_tests/poster_it_test.go index fb1f2efae..c13ab9361 100644 --- a/general_tests/poster_it_test.go +++ b/general_tests/poster_it_test.go @@ -171,7 +171,7 @@ package general_tests // t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) // } // body := ev.Events[0].([]byte) -// var acc map[string]interface{} +// var acc map[string]any // if err := json.Unmarshal(body, &acc); err != nil { // t.Fatal(err) // } @@ -209,7 +209,7 @@ package general_tests // t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) // } // body := ev.Events[0].([]byte) -// var acc map[string]interface{} +// var acc map[string]any // if err := json.Unmarshal(body, &acc); err != nil { // t.Fatal(err) // } @@ -247,7 +247,7 @@ package general_tests // t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) // } // body := ev.Events[0].([]byte) -// var acc map[string]interface{} +// var acc map[string]any // if err := json.Unmarshal(body, &acc); err != nil { // t.Fatal(err) // } @@ -285,7 +285,7 @@ package general_tests // t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) // } // body := ev.Events[0].([]byte) -// var acc map[string]interface{} +// var acc map[string]any // if err := json.Unmarshal(body, &acc); err != nil { // t.Fatal(err) // } @@ -323,7 +323,7 @@ package general_tests // t.Fatalf("Expected 1 event received: %d events", len(ev.Events)) // } // body := ev.Events[0].([]byte) -// var acc map[string]interface{} +// var acc map[string]any // if err := json.Unmarshal(body, &acc); err != nil { // t.Fatal(err) // } diff --git a/general_tests/redis_tls_it_test.go b/general_tests/redis_tls_it_test.go index 34c975852..183e33815 100644 --- a/general_tests/redis_tls_it_test.go +++ b/general_tests/redis_tls_it_test.go @@ -107,7 +107,7 @@ func testRedisTLSRPCCon(t *testing.T) { func testRedisTLSSetGetAttribute(t *testing.T) { // status command to check if the engine starts - var rply map[string]interface{} + var rply map[string]any if err := redisTLSRPC.Call(context.Background(), utils.CoreSv1Status, &utils.TenantWithAPIOpts{}, &rply); err != nil { t.Error(err) } diff --git a/general_tests/resourcesv1_it_test.go b/general_tests/resourcesv1_it_test.go index b3fc5f098..3d58d94f9 100644 --- a/general_tests/resourcesv1_it_test.go +++ b/general_tests/resourcesv1_it_test.go @@ -129,11 +129,11 @@ func testV1RsAllocate(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "chan_1", utils.OptsResourcesUnits: 1, }, @@ -149,11 +149,11 @@ func testV1RsAllocate(t *testing.T) { argsRU2 := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "chan_2", utils.OptsResourcesUnits: 1, }, @@ -171,11 +171,11 @@ func testV1RsAuthorize(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomUsageID", }, } @@ -204,10 +204,10 @@ func testV1RsAuthorize(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1001", "Destination": "1002"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "chan_1", utils.OptsResourcesUnits: 1, }, diff --git a/general_tests/route_it_test.go b/general_tests/route_it_test.go index 284424ba4..6990e08e0 100644 --- a/general_tests/route_it_test.go +++ b/general_tests/route_it_test.go @@ -122,7 +122,7 @@ func testV1SplSLoadTarrifPlans(t *testing.T) { var reply string if err := splSv1Rpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStopOnError: true, utils.MetaCache: caching, }, @@ -190,7 +190,7 @@ func testV1SplSSetSupplierProfilesWithoutRateProfileIDs(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetLeastCostSuppliers", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "accc", utils.Subject: "1003", utils.Destination: "1002", @@ -396,12 +396,12 @@ func testV1SplSPopulateResUsage(t *testing.T) { argsRU := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event1", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Supplier": "route1", "ResID": "ResourceSupplier1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomID", utils.OptsResourcesUnits: 4, }, @@ -418,12 +418,12 @@ func testV1SplSPopulateResUsage(t *testing.T) { argsRU = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event2", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Supplier": "route1", "ResID": "Resource2Supplier1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomID2", utils.OptsResourcesUnits: 7, }, @@ -440,12 +440,12 @@ func testV1SplSPopulateResUsage(t *testing.T) { argsRU = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event3", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Supplier": "route2", "ResID": "ResourceSupplier2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomID3", utils.OptsResourcesUnits: 7, }, @@ -462,12 +462,12 @@ func testV1SplSPopulateResUsage(t *testing.T) { argsRU = &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event4", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", "Supplier": "route3", "ResID": "ResourceSupplier3", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "RandomID4", utils.OptsResourcesUnits: 7, }, @@ -487,7 +487,7 @@ func testV1SplSGetSortedSuppliers(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetSortedRoutes", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "ResourceTest", }, } @@ -597,7 +597,7 @@ func testV1SplSGetSortedSuppliers2(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetSortedSuppliers2", - Event: map[string]interface{}{ + Event: map[string]any{ "CustomField": "ResourceDescendent", }, } @@ -630,7 +630,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier1", }, @@ -645,7 +645,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier1", }, @@ -672,7 +672,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier2", }, @@ -687,7 +687,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event4", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier2", }, @@ -710,7 +710,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event5", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier3", }, @@ -725,7 +725,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event6", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier3", }, @@ -740,7 +740,7 @@ func testV1SplSPopulateStats(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event7", - Event: map[string]interface{}{ + Event: map[string]any{ "LoadReq": 1, "StatID": "Stat_Supplier3", }, @@ -768,7 +768,7 @@ func testV1SplSGetSoredSuppliersWithLoad(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testV1SplSGetSoredSuppliersWithLoad", - Event: map[string]interface{}{ + Event: map[string]any{ "DistinctMatch": "LoadDistStrategy", }, } @@ -777,7 +777,7 @@ func testV1SplSGetSoredSuppliersWithLoad(t *testing.T) { { RouteID: "route2", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Load": 2.0, "Ratio": "7", "Weight": 20.0}, @@ -785,7 +785,7 @@ func testV1SplSGetSoredSuppliersWithLoad(t *testing.T) { { RouteID: "route3", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Load": 3.0, "Ratio": "5", "Weight": 35.0}, @@ -793,7 +793,7 @@ func testV1SplSGetSoredSuppliersWithLoad(t *testing.T) { { RouteID: "route1", RouteParameters: "", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Load": 2.0, "Ratio": "2", "Weight": 10.0}, diff --git a/general_tests/route_stats_it_test.go b/general_tests/route_stats_it_test.go index 361f88616..b74f6e0e7 100644 --- a/general_tests/route_stats_it_test.go +++ b/general_tests/route_stats_it_test.go @@ -116,7 +116,7 @@ func testV1RtStatsFromFolder(t *testing.T) { if err := RtStatsSv1BiRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ // StopOnError: true, - APIOpts: map[string]interface{}{utils.MetaCache: caching}, + APIOpts: map[string]any{utils.MetaCache: caching}, }, &reply); err != nil { t.Error(err) } else if reply != utils.OK { @@ -130,12 +130,12 @@ func testV1RtStatsProcessStatsValid(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Destination: "1021", utils.Category: "call", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: 1.8, utils.MetaStartTime: "2022-04-01T05:00:00Z", utils.MetaUsage: "1m20s", @@ -159,11 +159,11 @@ func testV1RtStatsProcessStatsNotAnswered(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Destination: "1021", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: 1.8, utils.MetaUsage: "26s", }, @@ -194,11 +194,11 @@ func testV1RtStatsProcessStatsNotAnswered(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", utils.Category: "call", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCost: 1.8, utils.MetaUsage: "50s", utils.MetaStartTime: "2022-04-01T05:00:00Z", @@ -280,7 +280,7 @@ func testV1RtStatsGetRoutesQOSStrategy(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "10015", utils.Destination: "+33426654", }, @@ -292,7 +292,7 @@ func testV1RtStatsGetRoutesQOSStrategy(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 46400000000., utils.MetaASR: 60., utils.Weight: 20., @@ -300,7 +300,7 @@ func testV1RtStatsGetRoutesQOSStrategy(t *testing.T) { }, { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACD: 44000000000., utils.MetaASR: 33.33333333333333, utils.Weight: 50., @@ -322,7 +322,7 @@ func testV1RtStatsGetRoutesLowestCostStrategy(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "10015", utils.Destination: "+2273676400", }, @@ -334,7 +334,7 @@ func testV1RtStatsGetRoutesLowestCostStrategy(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 10., @@ -342,7 +342,7 @@ func testV1RtStatsGetRoutesLowestCostStrategy(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 20., @@ -350,7 +350,7 @@ func testV1RtStatsGetRoutesLowestCostStrategy(t *testing.T) { }, { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.6, utils.RateProfileID: "RP_STANDARD", utils.Weight: 15., diff --git a/general_tests/routes_cases_it_test.go b/general_tests/routes_cases_it_test.go index ce3b45940..f365fd462 100644 --- a/general_tests/routes_cases_it_test.go +++ b/general_tests/routes_cases_it_test.go @@ -99,11 +99,11 @@ func BenchmarkV1RtsCasesSortingRoutesLowestCost(t *testing.B) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "acnt22", utils.Destination: "104423", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaUsage: "50s", }, @@ -115,33 +115,33 @@ func BenchmarkV1RtsCasesSortingRoutesLowestCost(t *testing.B) { Routes: []*engine.SortedRoute{ { RouteID: "route4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: nil, - utils.AccountIDs: []interface{}{"ACCNT_ROUTES2"}, + utils.AccountIDs: []any{"ACCNT_ROUTES2"}, utils.Weight: 55., }, }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 5., - utils.AccountIDs: []interface{}{"ACCNT_ROUTES1"}, + utils.AccountIDs: []any{"ACCNT_ROUTES1"}, utils.Weight: 20., }, }, { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 5., - utils.AccountIDs: []interface{}{"ACCNT_ROUTES1"}, + utils.AccountIDs: []any{"ACCNT_ROUTES1"}, utils.Weight: 15., }, }, { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 5., - utils.AccountIDs: []interface{}{"ACCNT_ROUTES1"}, + utils.AccountIDs: []any{"ACCNT_ROUTES1"}, utils.Weight: 10., }, }, @@ -227,7 +227,7 @@ func testV1RtsCaseFromFolder(t *testing.T) { if err := rtsCaseSv1BiRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ // StopOnError: true, - APIOpts: map[string]interface{}{utils.MetaCache: caching}, + APIOpts: map[string]any{utils.MetaCache: caching}, }, &reply); err != nil { t.Error(err) } else if reply != utils.OK { @@ -560,7 +560,7 @@ func testV1RtsCasesSortingRoutesWeightAccountValue(t *testing.T) { ev := &utils.CGREvent{ ID: "WEIGHT_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, } @@ -571,13 +571,13 @@ func testV1RtsCasesSortingRoutesWeightAccountValue(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 35., }, }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20., }, }, @@ -597,7 +597,7 @@ func testV1RtsCasesSortingRoutesWeightAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "WEIGHT_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1003", }, @@ -609,25 +609,25 @@ func testV1RtsCasesSortingRoutesWeightAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 40., }, }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 35., }, }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 20., }, }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10., }, }, @@ -667,7 +667,7 @@ func testV1RtsCasesSortingRoutesWeightNotMatchingValue(t *testing.T) { ev := &utils.CGREvent{ ID: "WEIGHT_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1003", }, @@ -679,19 +679,19 @@ func testV1RtsCasesSortingRoutesWeightNotMatchingValue(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 40., }, }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 35., }, }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Weight: 10., }, }, @@ -711,11 +711,11 @@ func testV1RtsCasesSortingRoutesLowestCost(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "2m30s", }, } @@ -726,7 +726,7 @@ func testV1RtsCasesSortingRoutesLowestCost(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.125, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 10., @@ -734,7 +734,7 @@ func testV1RtsCasesSortingRoutesLowestCost(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.25, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 0., @@ -758,11 +758,11 @@ func testV1RtsCasesSortingRoutesLowestCostDefaultUsage(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", }, } @@ -773,7 +773,7 @@ func testV1RtsCasesSortingRoutesLowestCostDefaultUsage(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.05, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 10., @@ -781,7 +781,7 @@ func testV1RtsCasesSortingRoutesLowestCostDefaultUsage(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 0., @@ -789,7 +789,7 @@ func testV1RtsCasesSortingRoutesLowestCostDefaultUsage(t *testing.T) { }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.6, utils.RateProfileID: "RP_STANDARD", utils.Weight: 30., @@ -813,10 +813,10 @@ func testV1RtsCasesSortingRoutesLCSetStatsAndResForMatching(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 6, }, @@ -835,11 +835,11 @@ func testV1RtsCasesSortingRoutesLCSetStatsAndResForMatching(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Category: "vendor2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaCost: 1.0, utils.MetaUsage: "2m30s", @@ -861,11 +861,11 @@ func testV1RtsCasesSortingRoutesLowestCostStats(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaUsage: "2m30s", }, @@ -877,7 +877,7 @@ func testV1RtsCasesSortingRoutesLowestCostStats(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.125, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 10., @@ -885,7 +885,7 @@ func testV1RtsCasesSortingRoutesLowestCostStats(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.125, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 0., @@ -893,7 +893,7 @@ func testV1RtsCasesSortingRoutesLowestCostStats(t *testing.T) { }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 1.5, utils.RateProfileID: "RP_STANDARD", utils.Weight: 30., @@ -917,10 +917,10 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { evRes := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 4, }, @@ -936,11 +936,11 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaUsage: "2m30s", }, @@ -952,7 +952,7 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.125, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 10., @@ -960,7 +960,7 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.125, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 0., @@ -968,7 +968,7 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.25, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 0., @@ -976,7 +976,7 @@ func testV1RtsCasesSortingRoutesLowestCosMatchingAllRoutes(t *testing.T) { }, { RouteID: "vendor4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 1.5, utils.RateProfileID: "RP_STANDARD", utils.Weight: 30., @@ -998,11 +998,11 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCost(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.OptsRoutesMaxCost: "0.35", utils.MetaUsage: "2m30s", @@ -1015,7 +1015,7 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCost(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.125, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 10., @@ -1023,7 +1023,7 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCost(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.125, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 0., @@ -1031,7 +1031,7 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCost(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.25, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 0., @@ -1053,11 +1053,11 @@ func testV1RtsCasesSortingRoutesLowestCosMaxCostNotMatch(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1002", utils.Destination: "1003", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.OptsRoutesMaxCost: "0.05", utils.MetaUsage: "2m30s", @@ -1077,11 +1077,11 @@ func testV1RtsCasesSortingRoutesProcessMetrics(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Category: "vendor2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaCost: 1.0, utils.MetaUsage: "2m30s", @@ -1112,11 +1112,11 @@ func testV1RtsCasesSortingRoutesProcessMetrics(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Category: "vendor1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaCost: 1.0, utils.MetaUsage: "2m30s", @@ -1147,11 +1147,11 @@ func testV1RtsCasesSortingRoutesQOS(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Destination: "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaUsage: "50s", }, @@ -1163,7 +1163,7 @@ func testV1RtsCasesSortingRoutesQOS(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 1., utils.MetaACD: 150. * 1e9, "*sum#1": 3., @@ -1175,7 +1175,7 @@ func testV1RtsCasesSortingRoutesQOS(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 1., utils.MetaACD: 150. * 1e9, "*sum#1": 2., @@ -1201,11 +1201,11 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Category: "vendor1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaCost: 10.0, utils.MetaUsage: "2m30s", @@ -1220,11 +1220,11 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1003", utils.Destination: "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaUsage: "50s", }, @@ -1236,7 +1236,7 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 4., utils.MetaACD: 150. * 1e9, "*sum#1": 3., @@ -1247,7 +1247,7 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 4., utils.MetaACD: 150. * 1e9, "*sum#1": 3., @@ -1258,7 +1258,7 @@ func testV1RtsCasesSortingRoutesQOSAllRoutes(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.MetaACC: 1., utils.MetaACD: 150. * 1e9, "*sum#1": 3., @@ -1284,11 +1284,11 @@ func testV1RtsCasesSortingRoutesQOSNotFound(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaUsage: "50s", }, @@ -1304,10 +1304,10 @@ func testV1RtsCasesSortingRoutesAllocateResources(t *testing.T) { ev := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 6, }, @@ -1323,10 +1323,10 @@ func testV1RtsCasesSortingRoutesAllocateResources(t *testing.T) { ev = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e31", utils.OptsResourcesUnits: 7, }, @@ -1343,7 +1343,7 @@ func testV1RtsCasesSortingRoutesReasNotAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Destination: "1007", }, @@ -1355,14 +1355,14 @@ func testV1RtsCasesSortingRoutesReasNotAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 6.0, utils.Weight: 0., }, }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 7.0, utils.Weight: 0., }, @@ -1383,10 +1383,10 @@ func testV1RtsCasesSortingRoutesReasAllRoutes(t *testing.T) { evRs := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 9, }, @@ -1402,7 +1402,7 @@ func testV1RtsCasesSortingRoutesReasAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1004", utils.Destination: "1007", }, @@ -1414,21 +1414,21 @@ func testV1RtsCasesSortingRoutesReasAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 7.0, utils.Weight: 10., }, }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 7.0, utils.Weight: 0., }, }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.ResourceUsage: 9.0, utils.Weight: 0., }, @@ -1452,10 +1452,10 @@ func testV1RtsCasesRoutesProcessStatsForLoadRtsSorting(t *testing.T) { ev1 := &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "vendor1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaCost: 1.8, utils.MetaUsage: "1m20s", @@ -1476,10 +1476,10 @@ func testV1RtsCasesRoutesProcessStatsForLoadRtsSorting(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "vendor1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "20s", utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaCost: 1.8, @@ -1502,10 +1502,10 @@ func testV1RtsCasesRoutesProcessStatsForLoadRtsSorting(t *testing.T) { ev1 = &utils.CGREvent{ Tenant: "cgrates.org", ID: "event1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "vendor2", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaCost: 0.77, utils.MetaUsage: "30s", @@ -1526,7 +1526,7 @@ func testV1RtsCasesRoutesLoadRtsSorting(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1005", //utils.Destination: "1007", }, @@ -1538,7 +1538,7 @@ func testV1RtsCasesRoutesLoadRtsSorting(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "vendor3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Load: 2., utils.Ratio: "2", utils.Weight: 0., @@ -1546,7 +1546,7 @@ func testV1RtsCasesRoutesLoadRtsSorting(t *testing.T) { }, { RouteID: "vendor2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Load: 4., utils.Ratio: "2", utils.Weight: 10., @@ -1554,7 +1554,7 @@ func testV1RtsCasesRoutesLoadRtsSorting(t *testing.T) { }, { RouteID: "vendor1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Load: 7., utils.Ratio: "3", utils.Weight: 0., @@ -1576,11 +1576,11 @@ func testV1RtsCasesSortRoutesHigherCostV2V3(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m25s", }, } @@ -1591,7 +1591,7 @@ func testV1RtsCasesSortRoutesHigherCostV2V3(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3416666666666667, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 20., @@ -1599,7 +1599,7 @@ func testV1RtsCasesSortRoutesHigherCostV2V3(t *testing.T) { }, { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3416666666666667, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 10., @@ -1624,10 +1624,10 @@ func testV1RtsCasesSortRoutesHigherCostAllocateRes(t *testing.T) { evRs := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e31", utils.OptsResourcesUnits: 7, }, @@ -1642,10 +1642,10 @@ func testV1RtsCasesSortRoutesHigherCostAllocateRes(t *testing.T) { evRs = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 7, }, @@ -1660,10 +1660,10 @@ func testV1RtsCasesSortRoutesHigherCostAllocateRes(t *testing.T) { evRs = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1004", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e31", utils.OptsResourcesUnits: 1, }, @@ -1679,10 +1679,10 @@ func testV1RtsCasesSortRoutesHigherCostAllocateRes(t *testing.T) { evRs = &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 4, }, @@ -1699,11 +1699,11 @@ func testV1RtsCasesSortRoutesHigherCostV1V3(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m25s", }, } @@ -1714,7 +1714,7 @@ func testV1RtsCasesSortRoutesHigherCostV1V3(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3416666666666667, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 10., @@ -1722,7 +1722,7 @@ func testV1RtsCasesSortRoutesHigherCostV1V3(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1708333333333333, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 20., @@ -1745,10 +1745,10 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { evRs := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1002", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsResourcesUsageID: "651a8db2-4f67-4cf8-b622-169e8a482e51", utils.OptsResourcesUnits: 9, }, @@ -1763,11 +1763,11 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1008", utils.Destination: "1007", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: "3m25s", }, } @@ -1778,7 +1778,7 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3416666666666667, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 20., @@ -1786,7 +1786,7 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { }, { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.3416666666666667, utils.RateProfileID: "RP_VENDOR1", utils.Weight: 10., @@ -1794,7 +1794,7 @@ func testV1RtsCasesSortRoutesHigherCostAllRoutes(t *testing.T) { }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 0.1708333333333333, utils.RateProfileID: "RP_VENDOR2", utils.Weight: 20., @@ -1817,11 +1817,11 @@ func testV1RtsCasesSortingRoutesLowestCostAccounts(t *testing.T) { ev := &utils.CGREvent{ ID: "LC_SORT", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "acnt22", utils.Destination: "104423", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStartTime: "2013-06-01T05:00:00Z", utils.MetaUsage: "50s", }, @@ -1833,33 +1833,33 @@ func testV1RtsCasesSortingRoutesLowestCostAccounts(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "route4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: nil, - utils.AccountIDs: []interface{}{"ACCNT_ROUTES2"}, + utils.AccountIDs: []any{"ACCNT_ROUTES2"}, utils.Weight: 55., }, }, { RouteID: "route1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 5., - utils.AccountIDs: []interface{}{"ACCNT_ROUTES1"}, + utils.AccountIDs: []any{"ACCNT_ROUTES1"}, utils.Weight: 20., }, }, { RouteID: "route2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 5., - utils.AccountIDs: []interface{}{"ACCNT_ROUTES1"}, + utils.AccountIDs: []any{"ACCNT_ROUTES1"}, utils.Weight: 15., }, }, { RouteID: "route3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.Cost: 5., - utils.AccountIDs: []interface{}{"ACCNT_ROUTES1"}, + utils.AccountIDs: []any{"ACCNT_ROUTES1"}, utils.Weight: 10., }, }, diff --git a/general_tests/rpccaching_it_test.go b/general_tests/rpccaching_it_test.go index 47c25d5de..634400cb5 100644 --- a/general_tests/rpccaching_it_test.go +++ b/general_tests/rpccaching_it_test.go @@ -129,7 +129,7 @@ func testRPCMethodsFromFolder(t *testing.T) { if err := rpcRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ // StopOnError: true, - APIOpts: map[string]interface{}{utils.MetaCache: caching}, + APIOpts: map[string]any{utils.MetaCache: caching}, }, &reply); err != nil { t.Error(err) } else if reply != utils.OK { @@ -236,7 +236,7 @@ func testRPCMethodsAuthorizeSession(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsAuthorizeSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsAuthorizeSession", @@ -247,7 +247,7 @@ func testRPCMethodsAuthorizeSession(t *testing.T) { utils.SetupTime: time.Date(2018, time.January, 7, 16, 60, 0, 0, time.UTC), utils.Usage: authUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesMaxUsage: true, utils.MetaUsage: authUsage, utils.MetaAccounts: true, @@ -267,7 +267,7 @@ func testRPCMethodsAuthorizeSession(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "DisableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "DisableAction": "DisableAction", }, @@ -315,7 +315,7 @@ func testRPCMethodsAuthorizeSession(t *testing.T) { thEvent = &utils.CGREvent{ Tenant: "cgrates.org", ID: "EnableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "EnableAction": "EnableAction", }, @@ -333,7 +333,7 @@ func testRPCMethodsInitSession(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsInitSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsInitSession", @@ -345,7 +345,7 @@ func testRPCMethodsInitSession(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: initUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesInitiate: true, utils.MetaUsage: initUsage, }, @@ -364,7 +364,7 @@ func testRPCMethodsInitSession(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "DisableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "DisableAction": "DisableAction", }, @@ -413,7 +413,7 @@ func testRPCMethodsInitSession(t *testing.T) { thEvent = &utils.CGREvent{ Tenant: "cgrates.org", ID: "EnableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "EnableAction": "EnableAction", }, @@ -431,7 +431,7 @@ func testRPCMethodsUpdateSession(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsUpdateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsUpdateSession", @@ -443,7 +443,7 @@ func testRPCMethodsUpdateSession(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: reqUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesUpdate: true, utils.MetaUsage: reqUsage, }, @@ -462,7 +462,7 @@ func testRPCMethodsUpdateSession(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "DisableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "DisableAction": "DisableAction", }, @@ -510,7 +510,7 @@ func testRPCMethodsUpdateSession(t *testing.T) { thEvent = &utils.CGREvent{ Tenant: "cgrates.org", ID: "EnableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "EnableAction": "EnableAction", }, @@ -527,7 +527,7 @@ func testRPCMethodsTerminateSession(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsTerminateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsTerminateSession", @@ -539,7 +539,7 @@ func testRPCMethodsTerminateSession(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesTerminate: true, utils.MetaUsage: 10 * time.Minute, }, @@ -553,7 +553,7 @@ func testRPCMethodsTerminateSession(t *testing.T) { } //replace event with empty - args.Event = map[string]interface{}{} + args.Event = map[string]any{} if err := rpcRpc.Call(context.Background(), utils.SessionSv1TerminateSession, args, &rply); err != nil { @@ -576,7 +576,7 @@ func testRPCMethodsTerminateSession(t *testing.T) { // args := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "testRPCMethodsProcessCDR", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.ToR: utils.MetaVoice, // utils.OriginID: "testRPCMethodsProcessCDR", @@ -647,7 +647,7 @@ func testRPCMethodsProcessEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testRPCMethodsProcessEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testRPCMethodsProcessEvent", @@ -659,7 +659,7 @@ func testRPCMethodsProcessEvent(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: initUsage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSesMessage: true, utils.MetaUsage: initUsage, }, @@ -677,7 +677,7 @@ func testRPCMethodsProcessEvent(t *testing.T) { thEvent := &utils.CGREvent{ Tenant: "cgrates.org", ID: "DisableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "DisableAction": "DisableAction", }, @@ -726,7 +726,7 @@ func testRPCMethodsProcessEvent(t *testing.T) { thEvent = &utils.CGREvent{ Tenant: "cgrates.org", ID: "EnableAccount", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "EnableAction": "EnableAction", }, @@ -743,7 +743,7 @@ func testRPCMethodsProcessEvent(t *testing.T) { // args := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "testRPCMethodsCdrsProcessCDR", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.ToR: utils.MetaVoice, // utils.OriginHost: "host", diff --git a/general_tests/rpcclient_it_test.go b/general_tests/rpcclient_it_test.go index 87e5b9100..b28d08d7b 100644 --- a/general_tests/rpcclient_it_test.go +++ b/general_tests/rpcclient_it_test.go @@ -135,7 +135,7 @@ package general_tests // // Connect rpc client to rater // func testRPCITLclStatusSecondEngine(t *testing.T) { -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { @@ -157,7 +157,7 @@ package general_tests // // Connect rpc client to rater // func testRPCITLclStatusFirstInitial(t *testing.T) { -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { @@ -178,7 +178,7 @@ package general_tests // t.Error(err) // } // time.Sleep(time.Duration(*waitRater) * time.Millisecond) -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { @@ -197,7 +197,7 @@ package general_tests // if ral1, err = engine.StartEngine(rpcITCfgPath1, *waitRater); err != nil { // t.Fatal(err) // } -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == node2 { @@ -219,7 +219,7 @@ package general_tests // } // // func testRPCITLclTimeout(t *testing.T) { -// // var status map[string]interface{} +// // var status map[string]any // // if err := rpcPoolFirst.Call(utils.CoreSv1Status, "10s", &status); err == nil { // // t.Error("Expecting timeout") // // } else if err.Error() != rpcclient.ErrReplyTimeout.Error() { @@ -235,7 +235,7 @@ package general_tests // } // func testRPCITLclBcastStatusInitial(t *testing.T) { -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { @@ -253,7 +253,7 @@ package general_tests // t.Error(err) // } // time.Sleep(time.Duration(*waitRater) * time.Millisecond) -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { @@ -271,7 +271,7 @@ package general_tests // t.Error(err) // } // time.Sleep(time.Duration(*waitRater) * time.Millisecond) -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err == nil { // t.Error("Should get error") // } @@ -281,7 +281,7 @@ package general_tests // if ral2, err = engine.StartEngine(rpcITCfgPath2, *waitRater); err != nil { // t.Fatal(err) // } -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { @@ -298,7 +298,7 @@ package general_tests // if ral1, err = engine.StartEngine(rpcITCfgPath1, *waitRater); err != nil { // t.Fatal(err) // } -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolBroadcast.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { @@ -371,7 +371,7 @@ package general_tests // if !*testRemoteRALs { // return // } -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { @@ -395,7 +395,7 @@ package general_tests // time.Sleep(time.Second) // } // fmt.Println("\n\nExecuting query ...") -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { @@ -423,7 +423,7 @@ package general_tests // time.Sleep(time.Second) // } // fmt.Println("\n\nExecuting query ...") -// var status map[string]interface{} +// var status map[string]any // if err := rpcPoolFirst.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err != nil { // t.Error(err) // } else if status[utils.NodeID].(string) == "" { diff --git a/general_tests/rpcexp_opts_it_test.go b/general_tests/rpcexp_opts_it_test.go index 887cb7c87..6d8e53dcf 100644 --- a/general_tests/rpcexp_opts_it_test.go +++ b/general_tests/rpcexp_opts_it_test.go @@ -209,13 +209,13 @@ func testRPCExpProcessEventWithConfigOpts(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdProcessEv1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := ng1RPC.Call(context.Background(), utils.EeSv1ProcessEvent, args, &reply); err != nil { t.Error(err) } @@ -227,10 +227,10 @@ func testRPCExpGetThresholdsAfterFirstEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdEventTest1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_1", "THD_2", "THD_3"}, }, } @@ -276,15 +276,15 @@ func testRPCExpProcessEventWithAPIOpts(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdProcessEv2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_2"}, }, }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := ng1RPC.Call(context.Background(), utils.EeSv1ProcessEvent, args, &reply); err != nil { t.Error(err) } @@ -295,10 +295,10 @@ func testRPCExpGetThresholdsAfterSecondEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdEventTest2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_1", "THD_2", "THD_3"}, }, } @@ -344,15 +344,15 @@ func testRPCExpProcessEventWithRPCAPIOpts(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdProcessEv3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_2"}, }, }, } - var reply map[string]map[string]interface{} + var reply map[string]map[string]any if err := ng1RPC.Call(context.Background(), utils.EeSv1ProcessEvent, args, &reply); err != nil { t.Error(err) } @@ -363,10 +363,10 @@ func testRPCExpGetThresholdsAfterThirdEvent(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "ThresholdEventTest3", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsThresholdsProfileIDs: []string{"THD_1", "THD_2", "THD_3"}, }, } diff --git a/general_tests/session2_it_test.go b/general_tests/session2_it_test.go index e220a1b32..7ec121af5 100644 --- a/general_tests/session2_it_test.go +++ b/general_tests/session2_it_test.go @@ -110,7 +110,7 @@ func testSes2ItLoadFromFolder(t *testing.T) { var reply string if err := ses2RPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaStopOnError: true, utils.MetaCache: utils.MetaReload, }, @@ -129,7 +129,7 @@ func testSes2ItInitSession(t *testing.T) { // Account: "1001", // BalanceType: utils.MetaVoice, // Value: float64(time.Hour), - // Balance: map[string]interface{}{ + // Balance: map[string]any{ // utils.ID: "TestDynamicDebitBalance", // }, // } @@ -143,7 +143,7 @@ func testSes2ItInitSession(t *testing.T) { initArgs := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.OriginID: utils.UUIDSha1Prefix(), utils.ToR: utils.MetaVoice, @@ -192,7 +192,7 @@ func testSes2StirAuthenticate(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSes2StirAuthorize", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "testSes2StirAuthorize", utils.RequestType: utils.MetaPrepaid, @@ -201,7 +201,7 @@ func testSes2StirAuthenticate(t *testing.T) { utils.Destination: "1002", utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStirIdentity: "eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiL3Vzci9zaGFyZS9jZ3JhdGVzL3N0aXIvc3Rpcl9wdWJrZXkucGVtIn0.eyJhdHRlc3QiOiJBIiwiZGVzdCI6eyJ0biI6WyIxMDAyIl19LCJpYXQiOjE1ODcwMzg4MDIsIm9yaWciOnsidG4iOiIxMDAxIn0sIm9yaWdpZCI6IjEyMzQ1NiJ9.cMEMlFnfyTu8uxfeU4RoZTamA7ifFT9Ibwrvi1_LKwL2xAU6fZ_CSIxKbtyOpNhM_sV03x7CfA_v0T4sHkifzg;info=;ppt=shaken", }, } @@ -229,7 +229,7 @@ func testSes2StirInit(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSes2StirInit", - Event: map[string]interface{}{ + Event: map[string]any{ utils.ToR: utils.MetaVoice, utils.OriginID: "testSes2StirInit", utils.RequestType: utils.MetaPrepaid, @@ -238,7 +238,7 @@ func testSes2StirInit(t *testing.T) { utils.Destination: "1002", utils.Usage: 10 * time.Minute, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsStirPublicKeyPath: "/usr/share/cgrates/stir/stir_pubkey.pem", utils.OptsStirPrivateKeyPath: "/usr/share/cgrates/stir/stir_privatekey.pem", }, diff --git a/general_tests/session3_it_test.go b/general_tests/session3_it_test.go index e666cf5e4..8564d8c3b 100644 --- a/general_tests/session3_it_test.go +++ b/general_tests/session3_it_test.go @@ -128,7 +128,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSSv1ItProcessEvent", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", // utils.Tenant: "cgrates.org", // utils.Category: "call", @@ -141,7 +141,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), // utils.Usage: initUsage, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsAPIKey: "ses12345", // }, // }, @@ -164,7 +164,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSSv1ItProcessEvent", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.CGRID: "c87609aa1cb6e9529ab1836cfeeebaab7aa7ebaf", // utils.Tenant: "cgrates.org", // utils.Category: "call", @@ -178,7 +178,7 @@ package general_tests // utils.AnswerTime: "2018-01-07T17:00:10Z", // utils.Usage: 300000000000.0, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.Subsys: utils.MetaSessionS, // utils.OptsAPIKey: "ses12345", // utils.MetaEventType: utils.StatUpdate, @@ -266,7 +266,7 @@ package general_tests // Account: "1002", // BalanceType: utils.MetaVoice, // Value: 5 * float64(time.Second), -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "TestDynamicDebitBalance", // utils.RatingSubject: "*zero5ms", // }, @@ -298,7 +298,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSesItUpdateSession", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.Category: "call", // utils.ToR: utils.MetaVoice, @@ -329,7 +329,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSesItInitiateSession", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.Category: "call", // utils.ToR: utils.MetaVoice, @@ -379,7 +379,7 @@ package general_tests // if err := ses3RPC.Call(utils.SessionSv1ProcessCDR, &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSesItProccesCDR", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.Category: "call", // utils.ToR: utils.MetaVoice, diff --git a/general_tests/session4_it_test.go b/general_tests/session4_it_test.go index 76a9a5c8e..9e59c04bc 100644 --- a/general_tests/session4_it_test.go +++ b/general_tests/session4_it_test.go @@ -124,7 +124,7 @@ package general_tests // // will make the BalanceInfo nil and result in a panic // args := &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.OriginID: "testV2CDRsProcessCDR1", // utils.OriginHost: "192.168.1.1", // utils.Source: "testV2CDRsProcessCDR", @@ -136,7 +136,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, 8, 24, 16, 00, 26, 0, time.UTC), // utils.Usage: time.Minute, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // // utils.MetaRALs:true, // utils.OptsCDRsStore: true, // utils.OptsRouteS: false, diff --git a/general_tests/session_graceful_shutdown_it_test.go b/general_tests/session_graceful_shutdown_it_test.go index e187dcb10..4fc7678c8 100644 --- a/general_tests/session_graceful_shutdown_it_test.go +++ b/general_tests/session_graceful_shutdown_it_test.go @@ -190,13 +190,13 @@ func testSessionSRplcApierGetInitateSessions(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.RequestType: utils.MetaNone, utils.OriginID: "testSessionRplORIGINID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "testSessionRploriginID", utils.OptsSesInitiate: true, }, diff --git a/general_tests/session_it_test.go b/general_tests/session_it_test.go index dfb469536..74913136a 100644 --- a/general_tests/session_it_test.go +++ b/general_tests/session_it_test.go @@ -128,7 +128,7 @@ package general_tests // Account: sesAccount, // BalanceType: utils.MetaMonetary, // Value: 0, -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "TestDynamicDebitBalance", // utils.RatingSubject: "*zero1s", // }, @@ -148,7 +148,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: sesTenant, // ID: "TestSesItInitiateSession", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: sesTenant, // utils.Category: "call", // utils.ToR: utils.MetaVoice, @@ -180,7 +180,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: sesTenant, // ID: "TestSesItUpdateSession", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: sesTenant, // utils.Category: "call", // utils.ToR: utils.MetaVoice, diff --git a/general_tests/session_nonereq_it_test.go b/general_tests/session_nonereq_it_test.go index c3eb86d8f..da2f97dc5 100644 --- a/general_tests/session_nonereq_it_test.go +++ b/general_tests/session_nonereq_it_test.go @@ -122,7 +122,7 @@ package general_tests // InitSession: true, // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.CGRID: "cgrID", // utils.Category: utils.Call, // utils.ToR: utils.MetaVoice, @@ -135,7 +135,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), // utils.Usage: 10 * time.Second, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsSesDebitInterval: "0s", // }, // }, diff --git a/general_tests/session_replications_automaticdebit_it_test.go b/general_tests/session_replications_automaticdebit_it_test.go index 4fe439eee..eb545a825 100644 --- a/general_tests/session_replications_automaticdebit_it_test.go +++ b/general_tests/session_replications_automaticdebit_it_test.go @@ -83,7 +83,7 @@ package general_tests // Account: "1005", // BalanceType: utils.MetaVoice, // Value: 5 * float64(time.Second), //value -> 20ms for future -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "TestDynamicDebitBalance", // utils.RatingSubject: "*zero5ms", // }, @@ -176,7 +176,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSessionSRplInitiate", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.EventName: "TEST_EVENT", // utils.Tenant: "cgrates.org", // utils.OriginID: "123451", @@ -355,7 +355,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSessionSRplTerminate", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.EventName: "TEST_EVENT", // utils.Tenant: "cgrates.org", // utils.OriginID: "123451", diff --git a/general_tests/session_rpl_prepaid_it_test.go b/general_tests/session_rpl_prepaid_it_test.go index 8a40618c3..00fc0b671 100644 --- a/general_tests/session_rpl_prepaid_it_test.go +++ b/general_tests/session_rpl_prepaid_it_test.go @@ -114,7 +114,7 @@ func testSeSRplPrepaidTPFromFolder(t *testing.T) { Account: "1005", BalanceType: utils.MetaVoice, Value: 5 * float64(time.Hour), //value -> 20ms for future - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestRplDebitBalance", utils.RatingSubject: "*zero5ms", }, @@ -145,7 +145,7 @@ func testSeSRplPrepaidActivateSessions(t *testing.T) { Tenant: "cgrates.org", ResourceID: "testSeSRplPrepaidActivateSessions", DebitInterval: time.Second, - EventStart: engine.NewMapEvent(map[string]interface{}{ + EventStart: engine.NewMapEvent(map[string]any{ utils.CGRID: "ede927f8e42318a8db02c0f74adc2d9e16770339", utils.Category: "call", utils.ToR: utils.MetaVoice, @@ -157,7 +157,7 @@ func testSeSRplPrepaidActivateSessions(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), }), SRuns: []*sessions.SRun{{ - Event: engine.NewMapEvent(map[string]interface{}{ + Event: engine.NewMapEvent(map[string]any{ utils.RunID: utils.MetaRaw, utils.CGRID: "ede927f8e42318a8db02c0f74adc2d9e16770339", utils.Category: "call", @@ -232,7 +232,7 @@ func testSeSRplPrepaidActivateSessions(t *testing.T) { LastUsage: time.Second, TotalUsage: time.Second, }}, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.DebitInterval: "5ms", }, Chargeable: true, diff --git a/general_tests/session_volume_discount_it_test.go b/general_tests/session_volume_discount_it_test.go index 28e462922..ec5dc1782 100644 --- a/general_tests/session_volume_discount_it_test.go +++ b/general_tests/session_volume_discount_it_test.go @@ -135,7 +135,7 @@ func testSessVolDiscLoadersLoad(t *testing.T) { var reply string if err := tSessVolDiscBiRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{utils.MetaCache: caching}, + APIOpts: map[string]any{utils.MetaCache: caching}, }, &reply); err != nil { t.Error(err) } else if reply != utils.OK { @@ -152,15 +152,15 @@ func testSessVolDiscAuthorizeEventSortRoutes1Min30Sec(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "supplier1", - SortingData: map[string]interface{}{ - "AccountIDs": []interface{}{"ACNT_VOL1"}, + SortingData: map[string]any{ + "AccountIDs": []any{"ACNT_VOL1"}, "Cost": nil, // returns from accounts null concretes, so the cost will be null, "Weight": float64(0), }, }, { RouteID: "supplier2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(1.2), utils.RateProfileID: "RP_SUPPLIER2", "Weight": float64(0), @@ -168,7 +168,7 @@ func testSessVolDiscAuthorizeEventSortRoutes1Min30Sec(t *testing.T) { }, { RouteID: "supplier4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(1.365), utils.RateProfileID: "RP_SUPPLIER4", "Weight": float64(0), @@ -176,7 +176,7 @@ func testSessVolDiscAuthorizeEventSortRoutes1Min30Sec(t *testing.T) { }, { RouteID: "supplier3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(1.425), utils.RateProfileID: "RP_SUPPLIER3", "Weight": float64(0), @@ -189,12 +189,12 @@ func testSessVolDiscAuthorizeEventSortRoutes1Min30Sec(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessVolDiscAuthorizeEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Category: "call", utils.ToR: "*voice", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute + 30*time.Second, utils.MetaRoutes: true, utils.MetaProfileIgnoreFilters: true, @@ -219,15 +219,15 @@ func testSessVolDiscAuthorizeEventSortRoutes11Min10Sec(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "supplier1", - SortingData: map[string]interface{}{ - "AccountIDs": []interface{}{"ACNT_VOL1"}, + SortingData: map[string]any{ + "AccountIDs": []any{"ACNT_VOL1"}, "Cost": float64(8.521666666666668), // returns from accounts null concretes, so the cost will be null, "Weight": float64(0), }, }, { RouteID: "supplier2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(8.933333333333332), utils.RateProfileID: "RP_SUPPLIER2", "Weight": float64(0), @@ -235,7 +235,7 @@ func testSessVolDiscAuthorizeEventSortRoutes11Min10Sec(t *testing.T) { }, { RouteID: "supplier4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(10.16166666666667), utils.RateProfileID: "RP_SUPPLIER4", "Weight": float64(0), @@ -243,7 +243,7 @@ func testSessVolDiscAuthorizeEventSortRoutes11Min10Sec(t *testing.T) { }, { RouteID: "supplier3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(10.60833333333333), utils.RateProfileID: "RP_SUPPLIER3", "Weight": float64(0), @@ -256,12 +256,12 @@ func testSessVolDiscAuthorizeEventSortRoutes11Min10Sec(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessVolDiscAuthorizeEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Category: "call", utils.ToR: "*voice", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 11*time.Minute + 10*time.Second, utils.MetaRoutes: true, utils.MetaProfileIgnoreFilters: true, @@ -286,7 +286,7 @@ func testSessVolDiscAuthorizeEventSortRoutes20Min(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "supplier2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ utils.RateProfileID: "RP_SUPPLIER2", "Cost": float64(16), // returns from accounts null concretes, so the cost will be null, "Weight": float64(0), @@ -294,15 +294,15 @@ func testSessVolDiscAuthorizeEventSortRoutes20Min(t *testing.T) { }, { RouteID: "supplier1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(17.09), - "AccountIDs": []interface{}{"ACNT_VOL1"}, + "AccountIDs": []any{"ACNT_VOL1"}, "Weight": float64(0), }, }, { RouteID: "supplier4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(18.2), utils.RateProfileID: "RP_SUPPLIER4", "Weight": float64(0), @@ -310,7 +310,7 @@ func testSessVolDiscAuthorizeEventSortRoutes20Min(t *testing.T) { }, { RouteID: "supplier3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(19), utils.RateProfileID: "RP_SUPPLIER3", "Weight": float64(0), @@ -323,12 +323,12 @@ func testSessVolDiscAuthorizeEventSortRoutes20Min(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessVolDiscAuthorizeEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Category: "call", utils.ToR: "*voice", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 20 * time.Minute, utils.MetaRoutes: true, utils.MetaProfileIgnoreFilters: true, @@ -348,12 +348,12 @@ func testSessVolDiscProcessCDRSupplier(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", utils.RouteID: "supplier1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.StartTime: time.Date(2020, time.January, 7, 16, 60, 0, 0, time.UTC), utils.MetaUsage: 15 * time.Minute, }, @@ -373,12 +373,12 @@ func testSessVolDiscProcessCDRCustomer(t *testing.T) { args := utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItProcessCDR", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "DifferentAccount", utils.Destination: "1002", utils.RouteID: "supplier1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.StartTime: time.Date(2020, time.January, 7, 16, 60, 0, 0, time.UTC), utils.MetaUsage: 15 * time.Minute, }, @@ -398,7 +398,7 @@ func testSessVolDiscAccountAfterDebiting(t *testing.T) { expectedAcc := utils.Account{ Tenant: "cgrates.org", ID: "ACNT_VOL1", - Opts: make(map[string]interface{}), + Opts: make(map[string]any), Balances: map[string]*utils.Balance{ "ABS_VOLUME1": { ID: "ABS_VOLUME1", @@ -408,7 +408,7 @@ func testSessVolDiscAccountAfterDebiting(t *testing.T) { Weight: 30, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), Type: "*abstract", Units: utils.SumDecimal(&utils.Decimal{utils.NewDecimal(0, 0).Neg(utils.NewDecimal(1, 0).Big)}, utils.NewDecimal(1, 0)), // this should be -0 CostIncrements: []*utils.CostIncrement{ @@ -426,7 +426,7 @@ func testSessVolDiscAccountAfterDebiting(t *testing.T) { Weight: 20, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), Type: "*abstract", Units: utils.SumDecimal(&utils.Decimal{utils.NewDecimal(0, 0).Neg(utils.NewDecimal(1, 0).Big)}, utils.NewDecimal(1, 0)), CostIncrements: []*utils.CostIncrement{ @@ -444,7 +444,7 @@ func testSessVolDiscAccountAfterDebiting(t *testing.T) { Weight: 10, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ utils.MetaBalanceUnlimited: "true", }, Type: "*concrete", @@ -481,7 +481,7 @@ func testSessVolDiscAuthorizeEventSortRoutes1Min30SecAfterDebiting(t *testing.T) Routes: []*engine.SortedRoute{ { RouteID: "supplier2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(1.2), utils.RateProfileID: "RP_SUPPLIER2", "Weight": float64(0), @@ -489,7 +489,7 @@ func testSessVolDiscAuthorizeEventSortRoutes1Min30SecAfterDebiting(t *testing.T) }, { RouteID: "supplier4", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(1.365), utils.RateProfileID: "RP_SUPPLIER4", "Weight": float64(0), @@ -497,7 +497,7 @@ func testSessVolDiscAuthorizeEventSortRoutes1Min30SecAfterDebiting(t *testing.T) }, { RouteID: "supplier3", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Cost": float64(1.425), utils.RateProfileID: "RP_SUPPLIER3", "Weight": float64(0), @@ -505,8 +505,8 @@ func testSessVolDiscAuthorizeEventSortRoutes1Min30SecAfterDebiting(t *testing.T) }, { RouteID: "supplier1", - SortingData: map[string]interface{}{ - "AccountIDs": []interface{}{"ACNT_VOL1"}, + SortingData: map[string]any{ + "AccountIDs": []any{"ACNT_VOL1"}, "Cost": float64(1.455), // returns from accounts null concretes, so the cost will be null, "Weight": float64(0), }, @@ -518,12 +518,12 @@ func testSessVolDiscAuthorizeEventSortRoutes1Min30SecAfterDebiting(t *testing.T) args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessVolDiscAuthorizeEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Category: "call", utils.ToR: "*voice", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: time.Minute + 30*time.Second, utils.MetaRoutes: true, utils.MetaProfileIgnoreFilters: true, diff --git a/general_tests/sessionpause_it_test.go b/general_tests/sessionpause_it_test.go index a74ec0147..c1678d607 100644 --- a/general_tests/sessionpause_it_test.go +++ b/general_tests/sessionpause_it_test.go @@ -117,7 +117,7 @@ package general_tests // InitSession: true, // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.CGRID: cgrID, // utils.Category: utils.Call, // utils.ToR: utils.MetaVoice, @@ -130,7 +130,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), // utils.Usage: usage, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsSesDebitInterval: "0s", // utils.OptsSesChargeable: chargeable, // }, @@ -151,7 +151,7 @@ package general_tests // UpdateSession: true, // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.CGRID: cgrID, // utils.Category: utils.Call, // utils.ToR: utils.MetaVoice, @@ -164,7 +164,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), // utils.Usage: usage, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsSesChargeable: chargeable, // }, // }, @@ -184,7 +184,7 @@ package general_tests // TerminateSession: true, // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.CGRID: cgrID, // utils.Category: utils.Call, // utils.ToR: utils.MetaVoice, @@ -197,7 +197,7 @@ package general_tests // utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), // utils.Usage: usage, // }, -// APIOpts: map[string]interface{}{ +// APIOpts: map[string]any{ // utils.OptsSesChargeable: chargeable, // }, // }, @@ -213,7 +213,7 @@ package general_tests // if err := sesPauseRPC.Call(utils.SessionSv1ProcessCDR, &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "testSesPauseItProccesCDR", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.CGRID: cgrID, // utils.Category: utils.Call, // utils.ToR: utils.MetaVoice, diff --git a/general_tests/sessionrefund_it_test.go b/general_tests/sessionrefund_it_test.go index 4a82e5470..d7ef581f5 100644 --- a/general_tests/sessionrefund_it_test.go +++ b/general_tests/sessionrefund_it_test.go @@ -131,7 +131,7 @@ package general_tests // Account: sraccount, // BalanceType: utils.MetaVoice, // Value: 5 * float64(time.Second), -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "TestDynamicDebitBalance", // utils.RatingSubject: "*zero5ms", // }, @@ -154,7 +154,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: srtenant, // ID: "TestSrItInitiateSession", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: srtenant, // utils.Category: "call", // utils.ToR: utils.MetaVoice, @@ -188,7 +188,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: srtenant, // ID: "TestSrItUpdateSession", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: srtenant, // utils.Category: "call", // utils.ToR: utils.MetaVoice, @@ -228,7 +228,7 @@ package general_tests // Account: sraccount, // BalanceType: utils.MetaMonetary, // Value: 10.65, -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: utils.MetaDefault, // }, // } @@ -248,7 +248,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: srtenant, // ID: "TestSrItInitiateSession1", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: srtenant, // utils.Category: "call", // utils.ToR: utils.MetaVoice, @@ -281,7 +281,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: srtenant, // ID: "TestSrItUpdateSession", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: srtenant, // utils.Category: "call", // utils.ToR: utils.MetaVoice, diff --git a/general_tests/sessionroutes_it_test.go b/general_tests/sessionroutes_it_test.go index fbec05328..3b187d573 100644 --- a/general_tests/sessionroutes_it_test.go +++ b/general_tests/sessionroutes_it_test.go @@ -113,7 +113,7 @@ package general_tests // func testSesRoutesAuthorizeEvent(t *testing.T) { // cgrEv := &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Source: "testV4CDRsProcessCDR", // utils.OriginID: "testV4CDRsProcessCDR", // utils.OriginHost: "192.168.1.1", @@ -126,7 +126,7 @@ package general_tests // utils.SetupTime: time.Date(2018, 8, 24, 16, 00, 00, 0, time.UTC), // utils.Usage: time.Minute, // }, -// APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, +// APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, // } // args := sessions.NewV1AuthorizeArgs(false, []string{}, // false, []string{}, false, []string{}, false, false, @@ -144,7 +144,7 @@ package general_tests // { // RouteID: "route3", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 15., @@ -152,7 +152,7 @@ package general_tests // }, { // RouteID: "route1", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 10., @@ -160,7 +160,7 @@ package general_tests // }, { // RouteID: "route2", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 1.2, // utils.RateProfileID: "RP_RETAIL1", // "Weight": 20., @@ -194,7 +194,7 @@ package general_tests // { // RouteID: "route3", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 15., @@ -202,7 +202,7 @@ package general_tests // }, { // RouteID: "route1", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 10., @@ -244,7 +244,7 @@ package general_tests // func testSesRoutesProcessMessage(t *testing.T) { // cgrEv := &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Source: "testV4CDRsProcessCDR", // utils.OriginID: "testV4CDRsProcessCDR", // utils.OriginHost: "192.168.1.1", @@ -257,7 +257,7 @@ package general_tests // utils.SetupTime: time.Date(2018, 8, 24, 16, 00, 00, 0, time.UTC), // utils.Usage: time.Minute, // }, -// APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, +// APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, // } // args := sessions.NewV1ProcessMessageArgs(false, []string{}, // false, []string{}, false, []string{}, false, false, @@ -276,7 +276,7 @@ package general_tests // { // RouteID: "route3", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 15., @@ -284,7 +284,7 @@ package general_tests // }, { // RouteID: "route1", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 10., @@ -292,7 +292,7 @@ package general_tests // }, { // RouteID: "route2", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 1.2, // utils.RateProfileID: "RP_RETAIL1", // "Weight": 20., @@ -327,7 +327,7 @@ package general_tests // { // RouteID: "route3", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 15., @@ -335,7 +335,7 @@ package general_tests // }, { // RouteID: "route1", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 10., @@ -377,7 +377,7 @@ package general_tests // func testSesRoutesProcessEvent(t *testing.T) { // cgrEv := &utils.CGREvent{ // Tenant: "cgrates.org", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Source: "testV4CDRsProcessCDR", // utils.OriginID: "testV4CDRsProcessCDR", // utils.OriginHost: "192.168.1.1", @@ -390,7 +390,7 @@ package general_tests // utils.SetupTime: time.Date(2018, 8, 24, 16, 00, 00, 0, time.UTC), // utils.Usage: time.Minute, // }, -// APIOpts: map[string]interface{}{utils.OptsRoutesProfileCount: 1}, +// APIOpts: map[string]any{utils.OptsRoutesProfileCount: 1}, // } // args := sessions.V1ProcessEventArgs{ // Flags: []string{"*routes"}, @@ -411,7 +411,7 @@ package general_tests // { // RouteID: "route3", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 15., @@ -419,7 +419,7 @@ package general_tests // }, { // RouteID: "route1", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 10., @@ -427,7 +427,7 @@ package general_tests // }, { // RouteID: "route2", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 1.2, // utils.RateProfileID: "RP_RETAIL1", // "Weight": 20., @@ -466,7 +466,7 @@ package general_tests // { // RouteID: "route3", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 15., @@ -474,7 +474,7 @@ package general_tests // }, { // RouteID: "route1", // RouteParameters: "", -// SortingData: map[string]interface{}{ +// SortingData: map[string]any{ // "Cost": 0.0102, // utils.RateProfileID: "RP_SPECIAL_1002", // "Weight": 10., diff --git a/general_tests/sessions_concur_test.go b/general_tests/sessions_concur_test.go index 5b295f5e0..5f7391da0 100644 --- a/general_tests/sessions_concur_test.go +++ b/general_tests/sessions_concur_test.go @@ -151,7 +151,7 @@ func testSCncrRunSessions(t *testing.T) { Account: acntID, BalanceType: utils.MetaVoice, Value: float64(bufferTopup.Nanoseconds()), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "BUFFER", }, } @@ -202,7 +202,7 @@ func testRunSession(t *testing.T) { Account: acntID, BalanceType: utils.MetaVoice, Value: float64(mainTopup.Nanoseconds()), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "MAIN", utils.Weight: 10, }, @@ -222,7 +222,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrAuth%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.OriginID: originID, utils.RequestType: utils.MetaPrepaid, @@ -248,7 +248,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrInit%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: originID, utils.RequestType: utils.MetaPrepaid, utils.AccountField: acntID, @@ -278,7 +278,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrUpdate%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: originID, utils.InitialOriginID: initOriginID, utils.Usage: updtUsage, @@ -301,7 +301,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrTerminate%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: originID, utils.Usage: 90 * time.Second, }, @@ -322,7 +322,7 @@ func testRunSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: fmt.Sprintf("TestSCncrCDR%s", originID), - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: originID, }, }, diff --git a/general_tests/sessions_tnt_change_cdr_it_test.go b/general_tests/sessions_tnt_change_cdr_it_test.go index adc2defff..9db4bab03 100644 --- a/general_tests/sessions_tnt_change_cdr_it_test.go +++ b/general_tests/sessions_tnt_change_cdr_it_test.go @@ -166,7 +166,7 @@ package general_tests // Account: "1001", // BalanceType: utils.MetaVoice, // Value: float64(2 * time.Minute), -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "testSes", // utils.RatingSubject: "*zero1ms", // }, @@ -183,7 +183,7 @@ package general_tests // Account: "1234", // BalanceType: utils.MetaVoice, // Value: float64(2 * time.Minute), -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "testSes", // utils.RatingSubject: "*zero1ms", // }, @@ -198,7 +198,7 @@ package general_tests // ev := &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestEv1", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.ToR: utils.MetaVoice, // utils.OriginID: "TestEv1", // utils.RequestType: utils.MetaPrepaid, diff --git a/general_tests/sessions_tnt_change_it_test.go b/general_tests/sessions_tnt_change_it_test.go index da3fba9c5..92c3a36bf 100644 --- a/general_tests/sessions_tnt_change_it_test.go +++ b/general_tests/sessions_tnt_change_it_test.go @@ -166,7 +166,7 @@ package general_tests // Account: "1001", // BalanceType: utils.VOICE, // Value: float64(2 * time.Minute), -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "testSes", // utils.RatingSubject: "*zero1ms", // }, @@ -183,7 +183,7 @@ package general_tests // Account: "1234", // BalanceType: utils.VOICE, // Value: float64(2 * time.Minute), -// Balance: map[string]interface{}{ +// Balance: map[string]any{ // utils.ID: "testSes", // utils.RatingSubject: "*zero1ms", // }, @@ -200,7 +200,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestEv1", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.ToR: utils.VOICE, // utils.OriginID: "TestEv1", // utils.RequestType: "*prepaid", diff --git a/general_tests/tls_it_test.go b/general_tests/tls_it_test.go index 785526c93..cb70b4511 100644 --- a/general_tests/tls_it_test.go +++ b/general_tests/tls_it_test.go @@ -144,7 +144,7 @@ package general_tests // CGREvent: &utils.CGREvent{ // Tenant: "cgrates.org", // ID: "TestSSv1ItInitiateSession", -// Event: map[string]interface{}{ +// Event: map[string]any{ // utils.Tenant: "cgrates.org", // utils.Category: "call", // utils.ToR: utils.MetaVoice, diff --git a/general_tests/tp_it_test.go b/general_tests/tp_it_test.go index 4d74ccd85..0b1fdf376 100644 --- a/general_tests/tp_it_test.go +++ b/general_tests/tp_it_test.go @@ -123,7 +123,7 @@ func testTpLoadTariffPlanFromFolder(t *testing.T) { var reply string if err := tpRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: caching, utils.MetaStopOnError: true, }, @@ -173,7 +173,7 @@ func testTpLoadTariffPlanFromFolder(t *testing.T) { // if err := tpRPC.Call(utils.APIerSv1SetActionTrigger, v1.AttrSetActionTrigger{ // GroupID: "TestATR", // UniqueID: "Unique atr id", -// ActionTrigger: map[string]interface{}{ +// ActionTrigger: map[string]any{ // utils.BalanceID: utils.StringPointer("BID1"), // }, // }, &reply); err != nil { diff --git a/general_tests/tut_smgeneric_it_test.go b/general_tests/tut_smgeneric_it_test.go index d35929623..0116d9a59 100644 --- a/general_tests/tut_smgeneric_it_test.go +++ b/general_tests/tut_smgeneric_it_test.go @@ -118,7 +118,7 @@ func testTutSMGLoadTariffPlanFromFolder(t *testing.T) { if err := tutSMGRpc.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ // StopOnError: true, - APIOpts: map[string]interface{}{utils.MetaCache: caching}, + APIOpts: map[string]any{utils.MetaCache: caching}, }, &reply); err != nil { t.Error(err) } else if reply != utils.OK { diff --git a/general_tests/tutorial_calls_test.go b/general_tests/tutorial_calls_test.go index fcdba797d..90727947f 100644 --- a/general_tests/tutorial_calls_test.go +++ b/general_tests/tutorial_calls_test.go @@ -289,7 +289,7 @@ func testCallCheckResourceBeforeAllocation(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourceEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", @@ -440,7 +440,7 @@ func testCallCheckResourceAllocation(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourceAllocation", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", @@ -630,7 +630,7 @@ func testCallCheckResourceRelease(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ResourceRelease", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", @@ -707,7 +707,7 @@ func testCallSyncSessions(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "AllocateResource", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Subject: "1001", utils.Destination: "1002", diff --git a/general_tests/twoengines_it_test.go b/general_tests/twoengines_it_test.go index 76791dd39..d95caec35 100644 --- a/general_tests/twoengines_it_test.go +++ b/general_tests/twoengines_it_test.go @@ -255,7 +255,7 @@ func testTwoEnginesUpdateThreshold(t *testing.T) { ActionProfileIDs: []string{"ACT_1.1"}, Async: true, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, } diff --git a/guardian/guardian.go b/guardian/guardian.go index 8423e124b..a5b66532b 100644 --- a/guardian/guardian.go +++ b/guardian/guardian.go @@ -183,13 +183,13 @@ func (gl *GuardianLocker) UnguardIDs(refID string) []string { } type AttrRemoteLockWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string utils.AttrRemoteLock } type AttrRemoteUnlockWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string RefID string } diff --git a/loaders/libloader.go b/loaders/libloader.go index 4ca8524f6..249db82fb 100644 --- a/loaders/libloader.go +++ b/loaders/libloader.go @@ -54,7 +54,7 @@ type record struct { func (r *record) String() string { return r.req.String() } func (r *record) FieldAsString(path []string) (str string, err error) { - var val interface{} + var val any if val, err = r.FieldAsInterface(path); err != nil { return } @@ -79,7 +79,7 @@ func RateIDsFromOrderedNavigableMap(data *utils.OrderedNavigableMap) ([]string, } // FieldAsInterface implements utils.DataProvider -func (ar *record) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ar *record) FieldAsInterface(fldPath []string) (val any, err error) { switch fldPath[0] { default: val, err = ar.data.FieldAsInterface(fldPath) @@ -144,7 +144,7 @@ func (ar *record) SetFields(ctx *context.Context, tmpls []*config.FCTemplate, fi case utils.MetaRemoveAll: ar.RemoveAll(fld.GetPathSlice()[0]) default: - var out interface{} + var out any if out, err = engine.ParseAttribute(ar, fld.Type, fld.Path, fld.Value, rndDec, utils.FirstNonEmpty(fld.Timezone, dftTmz), fld.Layout, rsrSep); err != nil { if err == utils.ErrNotFound { @@ -220,7 +220,7 @@ func (ar *record) Compose(fullPath *utils.FullPath, val *utils.DataLeaf, sep str return ar.tmp.Compose(fullPath.PathSlice[1:], val) case utils.MetaUCH: path := fullPath.Path[5:] - var prv interface{} + var prv any if prvI, ok := ar.cache.Get(path); !ok { prv = val.Data } else { @@ -253,8 +253,8 @@ func (ar *record) Set(fullPath *utils.FullPath, nm *utils.DataLeaf, sep string) type profile interface { utils.DataProvider - Set([]string, interface{}, bool, string) error - Merge(interface{}) + Set([]string, any, bool, string) error + Merge(any) TenantID() string } @@ -291,7 +291,7 @@ func newProfileFunc(lType string) func() profile { case utils.MetaDispatchers: return func() profile { return &engine.DispatcherProfile{ - StrategyParams: make(map[string]interface{}), + StrategyParams: make(map[string]any), } } case utils.MetaDispatcherHosts: @@ -319,7 +319,7 @@ func newProfileFunc(lType string) func() profile { case utils.MetaAccounts: return func() profile { return &utils.Account{ - Opts: make(map[string]interface{}), + Opts: make(map[string]any), Balances: make(map[string]*utils.Balance), } } diff --git a/loaders/libloader_test.go b/loaders/libloader_test.go index 31d727f2f..e4a4387fa 100644 --- a/loaders/libloader_test.go +++ b/loaders/libloader_test.go @@ -145,25 +145,25 @@ func TestNewRecordWithTmp(t *testing.T) { type profileTest utils.MapStorage -func (p profileTest) Set(path []string, val interface{}, _ bool, _ string) error { +func (p profileTest) Set(path []string, val any, _ bool, _ string) error { return utils.MapStorage(p).Set(path, val) } -func (p profileTest) Merge(v2 interface{}) { - var vi map[string]interface{} +func (p profileTest) Merge(v2 any) { + var vi map[string]any json.Unmarshal([]byte(utils.ToJSON(v2)), &vi) for k, v := range vi { - (map[string]interface{}(p))[k] = v + (map[string]any(p))[k] = v } } func (p profileTest) TenantID() string { - return utils.ConcatenatedKey(utils.IfaceAsString(map[string]interface{}(p)[utils.Tenant]), utils.IfaceAsString(map[string]interface{}(p)[utils.ID])) + return utils.ConcatenatedKey(utils.IfaceAsString(map[string]any(p)[utils.Tenant]), utils.IfaceAsString(map[string]any(p)[utils.ID])) } func (p profileTest) String() string { return utils.MapStorage(p).String() } func (p profileTest) FieldAsString(fldPath []string) (string, error) { return utils.MapStorage(p).FieldAsString(fldPath) } -func (p profileTest) FieldAsInterface(fldPath []string) (interface{}, error) { +func (p profileTest) FieldAsInterface(fldPath []string) (any, error) { return utils.MapStorage(p).FieldAsInterface(fldPath) } diff --git a/loaders/loader.go b/loaders/loader.go index 35166e668..1999f1a67 100644 --- a/loaders/loader.go +++ b/loaders/loader.go @@ -181,7 +181,7 @@ type loader struct { Locker } -func (l *loader) process(ctx *context.Context, obj profile, lType, action string, opts map[string]interface{}, withIndex, partialRates bool) (err error) { +func (l *loader) process(ctx *context.Context, obj profile, lType, action string, opts map[string]any, withIndex, partialRates bool) (err error) { switch action { case utils.MetaParse: return @@ -244,7 +244,7 @@ func (l *loader) process(ctx *context.Context, obj profile, lType, action string cacheArgs, cacheIDs, opts, false, l.ldrCfg.Tenant) } -func (l *loader) processData(ctx *context.Context, csv *CSVFile, tmpls []*config.FCTemplate, lType, action string, opts map[string]interface{}, withIndex, partialRates bool) (err error) { +func (l *loader) processData(ctx *context.Context, csv *CSVFile, tmpls []*config.FCTemplate, lType, action string, opts map[string]any, withIndex, partialRates bool) (err error) { newPrf := newProfileFunc(lType) obj := newPrf() var prevTntID string @@ -287,7 +287,7 @@ func (l *loader) processData(ctx *context.Context, csv *CSVFile, tmpls []*config return } -func (l *loader) processFile(ctx *context.Context, cfg *config.LoaderDataType, inPath, outPath, action string, opts map[string]interface{}, withIndex bool, prv CSVProvider) (err error) { +func (l *loader) processFile(ctx *context.Context, cfg *config.LoaderDataType, inPath, outPath, action string, opts map[string]any, withIndex bool, prv CSVProvider) (err error) { var csv *CSVFile if csv, err = NewCSVReader(prv, inPath, cfg.Filename, rune(l.ldrCfg.FieldSeparator[0]), 0); err != nil { return @@ -327,7 +327,7 @@ func (l *loader) processIFile(_, fileName string) (err error) { return l.processFile(context.Background(), cfg, l.ldrCfg.TpInDir, l.ldrCfg.TpOutDir, l.ldrCfg.Action, nil, l.ldrCfg.Opts.WithIndex, fileProvider{}) } -func (l *loader) processFolder(ctx *context.Context, opts map[string]interface{}, withIndex, stopOnError bool) (err error) { +func (l *loader) processFolder(ctx *context.Context, opts map[string]any, withIndex, stopOnError bool) (err error) { if err = l.Lock(); err != nil { return } @@ -401,7 +401,7 @@ func (l *loader) ListenAndServe(stopChan chan struct{}) (err error) { return } -func (l *loader) processZip(ctx *context.Context, opts map[string]interface{}, withIndex, stopOnError bool, zipR *zip.Reader) (err error) { +func (l *loader) processZip(ctx *context.Context, opts map[string]any, withIndex, stopOnError bool, zipR *zip.Reader) (err error) { if err = l.Lock(); err != nil { return } diff --git a/loaders/loader_test.go b/loaders/loader_test.go index 29e2931c6..24e7e176b 100644 --- a/loaders/loader_test.go +++ b/loaders/loader_test.go @@ -259,7 +259,7 @@ func TestSetToDB(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v5), utils.ToJSON(prf)) } - v6 := &engine.DispatcherProfile{Tenant: "cgrates.org", ID: "ID", StrategyParams: make(map[string]interface{})} + v6 := &engine.DispatcherProfile{Tenant: "cgrates.org", ID: "ID", StrategyParams: make(map[string]any)} if err := setToDB(context.Background(), dm, utils.MetaDispatchers, v6, true, false); err != nil { t.Fatal(err) } @@ -320,7 +320,7 @@ func TestSetToDB(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v11), utils.ToJSON(prf)) } - v12 := &utils.Account{Tenant: "cgrates.org", ID: "ID", Balances: map[string]*utils.Balance{}, Opts: make(map[string]interface{})} + v12 := &utils.Account{Tenant: "cgrates.org", ID: "ID", Balances: map[string]*utils.Balance{}, Opts: make(map[string]any)} if err := setToDB(context.Background(), dm, utils.MetaAccounts, v12, true, false); err != nil { t.Fatal(err) } @@ -365,12 +365,12 @@ func TestLoaderProcess(t *testing.T) { expErrMsg := `unsupported loader action: <"notSupported">` if err := ld.process(context.Background(), nil, utils.MetaAttributes, "notSupported", - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err == nil || err.Error() != expErrMsg { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err == nil || err.Error() != expErrMsg { t.Errorf("Expected: %v, received: %v", expErrMsg, err) } if err := ld.process(context.Background(), nil, utils.MetaAttributes, utils.MetaParse, - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err != nil { t.Error(err) } @@ -382,7 +382,7 @@ func TestLoaderProcess(t *testing.T) { utils.Logger = utils.NewStdLoggerWithWriter(&buf, "", 7) if err := ld.process(context.Background(), profileTest{utils.Tenant: "cgrates.org", utils.ID: "ID"}, utils.MetaAttributes, utils.MetaDryRun, - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err != nil { t.Error(err) } @@ -393,7 +393,7 @@ func TestLoaderProcess(t *testing.T) { v1 := &engine.AttributeProfile{Tenant: "cgrates.org", ID: "ID"} if err := ld.process(context.Background(), v1, utils.MetaAttributes, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetAttributeProfile(context.Background(), "cgrates.org", "ID", true, true, utils.NonTransactional); err != nil { @@ -402,7 +402,7 @@ func TestLoaderProcess(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v1), utils.ToJSON(prf)) } if err := ld.process(context.Background(), v1, utils.MetaAttributes, utils.MetaRemove, - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err != nil { t.Error(err) } if _, err := dm.GetAttributeProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != utils.ErrNotFound { @@ -410,9 +410,9 @@ func TestLoaderProcess(t *testing.T) { } } -type ccMock map[string]func(ctx *context.Context, args interface{}, reply interface{}) error +type ccMock map[string]func(ctx *context.Context, args any, reply any) error -func (ccM ccMock) Call(ctx *context.Context, serviceMethod string, args interface{}, reply interface{}) (err error) { +func (ccM ccMock) Call(ctx *context.Context, serviceMethod string, args any, reply any) (err error) { if call, has := ccM[serviceMethod]; has { return call(ctx, args, reply) } @@ -420,15 +420,15 @@ func (ccM ccMock) Call(ctx *context.Context, serviceMethod string, args interfac } func TestLoaderProcessCallCahe(t *testing.T) { - var reloadCache, clearCache interface{} + var reloadCache, clearCache any cfg := config.NewDefaultCGRConfig() cM := engine.NewConnManager(cfg) connID := utils.ConcatenatedKey(utils.MetaInternal, utils.MetaCache) tntID := "cgrates.org:ID" iCh := make(chan birpc.ClientConnector, 1) iCh <- ccMock{ - utils.CacheSv1ReloadCache: func(_ *context.Context, args, _ interface{}) error { reloadCache = args; return nil }, - utils.CacheSv1Clear: func(_ *context.Context, args, _ interface{}) error { clearCache = args; return nil }, + utils.CacheSv1ReloadCache: func(_ *context.Context, args, _ any) error { reloadCache = args; return nil }, + utils.CacheSv1Clear: func(_ *context.Context, args, _ any) error { clearCache = args; return nil }, } cM.AddInternalConn(connID, utils.CacheSv1, iCh) dm := engine.NewDataManager(engine.NewInternalDB(nil, nil, cfg.DataDbCfg().Items), cfg.CacheCfg(), cM) @@ -441,7 +441,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := &engine.AttributeProfile{Tenant: "cgrates.org", ID: "ID"} if err := ld.process(context.Background(), v, utils.MetaAttributes, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetAttributeProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -450,14 +450,14 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, AttributeProfileIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(exp), utils.ToJSON(reloadCache)) } if exp := (&utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, CacheIDs: []string{utils.CacheAttributeFilterIndexes}}); !reflect.DeepEqual(exp, clearCache) { @@ -467,7 +467,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := (&engine.ResourceProfile{Tenant: "cgrates.org", ID: "ID"}) if err := ld.process(context.Background(), v, utils.MetaResources, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetResourceProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -476,14 +476,14 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, ResourceProfileIDs: []string{tntID}, ResourceIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(exp), utils.ToJSON(reloadCache)) } if exp := (&utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, CacheIDs: []string{utils.CacheResourceFilterIndexes}}); !reflect.DeepEqual(exp, clearCache) { @@ -493,7 +493,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := (&engine.StatQueueProfile{Tenant: "cgrates.org", ID: "ID"}) if err := ld.process(context.Background(), v, utils.MetaStats, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetStatQueueProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -502,14 +502,14 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, StatsQueueProfileIDs: []string{tntID}, StatsQueueIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(exp), utils.ToJSON(reloadCache)) } if exp := (&utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, CacheIDs: []string{utils.CacheStatFilterIndexes}}); !reflect.DeepEqual(exp, clearCache) { @@ -520,7 +520,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := (&engine.ThresholdProfile{Tenant: "cgrates.org", ID: "ID"}) if err := ld.process(context.Background(), v, utils.MetaThresholds, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetThresholdProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -529,14 +529,14 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, ThresholdProfileIDs: []string{tntID}, ThresholdIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(exp), utils.ToJSON(reloadCache)) } if exp := (&utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, CacheIDs: []string{utils.CacheThresholdFilterIndexes}}); !reflect.DeepEqual(exp, clearCache) { @@ -547,7 +547,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := (&engine.RouteProfile{Tenant: "cgrates.org", ID: "ID"}) if err := ld.process(context.Background(), v, utils.MetaRoutes, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetRouteProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -556,14 +556,14 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, RouteProfileIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(exp), utils.ToJSON(reloadCache)) } if exp := (&utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, CacheIDs: []string{utils.CacheRouteFilterIndexes}}); !reflect.DeepEqual(exp, clearCache) { @@ -574,7 +574,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := (&engine.ChargerProfile{Tenant: "cgrates.org", ID: "ID"}) if err := ld.process(context.Background(), v, utils.MetaChargers, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetChargerProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -583,14 +583,14 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, ChargerProfileIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(exp), utils.ToJSON(reloadCache)) } if exp := (&utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, CacheIDs: []string{utils.CacheChargerFilterIndexes}}); !reflect.DeepEqual(exp, clearCache) { @@ -599,9 +599,9 @@ func TestLoaderProcessCallCahe(t *testing.T) { } { - v := (&engine.DispatcherProfile{Tenant: "cgrates.org", ID: "ID", StrategyParams: make(map[string]interface{})}) + v := (&engine.DispatcherProfile{Tenant: "cgrates.org", ID: "ID", StrategyParams: make(map[string]any)}) if err := ld.process(context.Background(), v, utils.MetaDispatchers, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetDispatcherProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -610,14 +610,14 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, DispatcherProfileIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(exp), utils.ToJSON(reloadCache)) } if exp := (&utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, CacheIDs: []string{utils.CacheDispatcherFilterIndexes}}); !reflect.DeepEqual(exp, clearCache) { @@ -628,7 +628,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := (&utils.RateProfile{Tenant: "cgrates.org", ID: "ID", Rates: map[string]*utils.Rate{}, MinCost: utils.NewDecimal(0, 0), MaxCost: utils.NewDecimal(0, 0)}) if err := ld.process(context.Background(), v, utils.MetaRateProfiles, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetRateProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -637,14 +637,14 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, RateProfileIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(exp), utils.ToJSON(reloadCache)) } if exp := (&utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, CacheIDs: []string{utils.CacheRateProfilesFilterIndexes, utils.CacheRateFilterIndexes}}); !reflect.DeepEqual(exp, clearCache) { @@ -655,7 +655,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := (&engine.ActionProfile{Tenant: "cgrates.org", ID: "ID", Targets: map[string]utils.StringSet{}}) if err := ld.process(context.Background(), v, utils.MetaActionProfiles, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetActionProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -664,14 +664,14 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, ActionProfileIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(exp), utils.ToJSON(reloadCache)) } if exp := (&utils.AttrCacheIDsWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, CacheIDs: []string{utils.CacheActionProfiles, utils.CacheActionProfilesFilterIndexes}}); !reflect.DeepEqual(exp, clearCache) { @@ -684,7 +684,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := (&engine.Filter{Tenant: "cgrates.org", ID: "ID", Rules: make([]*engine.FilterRule, 0)}) if err := ld.process(context.Background(), v, utils.MetaFilters, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetFilter(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -693,7 +693,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, FilterIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { @@ -707,7 +707,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { { v := (&engine.DispatcherHost{Tenant: "cgrates.org", RemoteHost: &config.RemoteHost{ID: "ID", Address: "127.0.0.1", Transport: utils.MetaJSON}}) if err := ld.process(context.Background(), v, utils.MetaDispatcherHosts, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetDispatcherHost(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -716,7 +716,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, DispatcherHostIDs: []string{tntID}}); !reflect.DeepEqual(exp, reloadCache) { @@ -730,9 +730,9 @@ func TestLoaderProcessCallCahe(t *testing.T) { reloadCache, clearCache = nil, nil { - v := (&utils.Account{Tenant: "cgrates.org", ID: "ID", Balances: map[string]*utils.Balance{}, Opts: make(map[string]interface{})}) + v := (&utils.Account{Tenant: "cgrates.org", ID: "ID", Balances: map[string]*utils.Balance{}, Opts: make(map[string]any)}) if err := ld.process(context.Background(), v, utils.MetaAccounts, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaReload}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaReload}, true, false); err != nil { t.Error(err) } if prf, err := dm.GetAccount(context.Background(), "cgrates.org", "ID"); err != nil { @@ -741,7 +741,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { t.Errorf("Expected: %v, received: %v", utils.ToJSON(v), utils.ToJSON(prf)) } if exp := (&utils.AttrReloadCacheWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, }); !reflect.DeepEqual(exp, reloadCache) { @@ -749,7 +749,7 @@ func TestLoaderProcessCallCahe(t *testing.T) { } if exp := (&utils.AttrCacheIDsWithAPIOpts{ CacheIDs: []string{utils.CacheAccounts, utils.CacheAccountsFilterIndexes}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaReload, }, }); !reflect.DeepEqual(exp, clearCache) { @@ -778,7 +778,7 @@ func TestLoaderProcessData(t *testing.T) { } if err := ld.processData(context.Background(), NewStringCSV(`cgrates.org,ID cgrates.org,ID2`, utils.CSVSep, -1), fc, utils.MetaAttributes, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err != nil { t.Fatal(err) } if prf, err := dm.GetAttributeProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -817,7 +817,7 @@ func TestLoaderProcessDataErrors(t *testing.T) { expErrMsg := "inline parse error for string: <*string>" if err := ld.processData(context.Background(), NewStringCSV(`cgrates.org,ID cgrates.org,ID2`, utils.CSVSep, -1), fc, utils.MetaAttributes, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err == nil || err.Error() != expErrMsg { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err == nil || err.Error() != expErrMsg { t.Errorf("Expected: %q, received: %v", expErrMsg, err) } @@ -831,12 +831,12 @@ cgrates.org,ID2`, utils.CSVSep, -1), fc, utils.MetaAttributes, utils.MetaStore, expErrMsg = `unsupported loader action: <"notSupported">` if err := ld.processData(context.Background(), NewStringCSV(`cgrates.org,ID cgrates.org,ID2`, utils.CSVSep, -1), fc, utils.MetaAttributes, "notSupported", - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err == nil || err.Error() != expErrMsg { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err == nil || err.Error() != expErrMsg { t.Errorf("Expected: %q, received: %v", expErrMsg, err) } if err := ld.processData(context.Background(), &CSVFile{csvRdr: csv.NewReader(mockReader{})}, fc, utils.MetaAttributes, "notSupported", - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err != utils.ErrNotFound { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err != utils.ErrNotFound { t.Errorf("Expected: %q, received: %v", utils.ErrNotFound, err) } } @@ -871,7 +871,7 @@ func TestLoaderProcessFileURL(t *testing.T) { Filename: utils.AttributesCsv, Fields: fc, }, s.URL+"/ok", utils.EmptyString, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, urlProvider{}); err != nil { + map[string]any{utils.MetaCache: utils.MetaNone}, true, urlProvider{}); err != nil { t.Fatal(err) } if prf, err := dm.GetAttributeProfile(context.Background(), "cgrates.org", "ID", false, true, utils.NonTransactional); err != nil { @@ -885,7 +885,7 @@ func TestLoaderProcessFileURL(t *testing.T) { Filename: utils.AttributesCsv, Fields: fc, }, s.URL+"/notFound", utils.EmptyString, utils.MetaStore, - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, urlProvider{}); err != utils.ErrNotFound { + map[string]any{utils.MetaCache: utils.MetaNone}, true, urlProvider{}); err != utils.ErrNotFound { t.Errorf("Expected: %v, received: %v", utils.ErrNotFound, err) } @@ -1060,7 +1060,7 @@ func TestLoaderProcessFolder(t *testing.T) { t.Fatal(err) } if err := ld.processFolder(context.Background(), - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, true); err != nil { + map[string]any{utils.MetaCache: utils.MetaNone}, true, true); err != nil { t.Fatal(err) } @@ -1090,7 +1090,7 @@ func TestLoaderProcessFolder(t *testing.T) { ld.Locker = mockLock{} if err := ld.processFolder(context.Background(), - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, true); err != utils.ErrExists { + map[string]any{utils.MetaCache: utils.MetaNone}, true, true); err != utils.ErrExists { t.Fatal(err) } @@ -1098,7 +1098,7 @@ func TestLoaderProcessFolder(t *testing.T) { ld.ldrCfg.TpInDir = "http://localhost:0" expErrMsg := `path:"http://localhost:0/Attributes.csv" is not reachable` if err := ld.processFolder(context.Background(), - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, true); err == nil || err.Error() != expErrMsg { + map[string]any{utils.MetaCache: utils.MetaNone}, true, true); err == nil || err.Error() != expErrMsg { t.Errorf("Expected: %v, received: %v", expErrMsg, err) } } @@ -1164,7 +1164,7 @@ func TestLoaderProcessFolderErrors(t *testing.T) { expErrMsg := "inline parse error for string: <*string>" if err := ld.processFolder(context.Background(), - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, true); err == nil || err.Error() != expErrMsg { + map[string]any{utils.MetaCache: utils.MetaNone}, true, true); err == nil || err.Error() != expErrMsg { t.Errorf("Expected: %v, received: %v", expErrMsg, err) } @@ -1184,7 +1184,7 @@ func TestLoaderProcessFolderErrors(t *testing.T) { utils.Logger = utils.NewStdLoggerWithWriter(&buf, "", 7) if err := ld.processFolder(context.Background(), - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false); err != nil { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false); err != nil { t.Fatal(err) } @@ -1371,7 +1371,7 @@ func TestLoaderProcessZipErrors(t *testing.T) { expErrMsg := "inline parse error for string: <*string>" if err := ld.processZip(context.Background(), - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, true, r); err == nil || err.Error() != expErrMsg { + map[string]any{utils.MetaCache: utils.MetaNone}, true, true, r); err == nil || err.Error() != expErrMsg { t.Errorf("Expected: %v, received: %v", expErrMsg, err) } @@ -1386,7 +1386,7 @@ func TestLoaderProcessZipErrors(t *testing.T) { var buf bytes.Buffer utils.Logger = utils.NewStdLoggerWithWriter(&buf, "", 7) if err := ld.processZip(context.Background(), - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, false, r); err != nil { + map[string]any{utils.MetaCache: utils.MetaNone}, true, false, r); err != nil { t.Fatal(err) } @@ -1401,7 +1401,7 @@ func TestLoaderProcessZipErrors(t *testing.T) { ld.Locker = mockLock{} if err := ld.processZip(context.Background(), - map[string]interface{}{utils.MetaCache: utils.MetaNone}, true, true, r); err != utils.ErrExists { + map[string]any{utils.MetaCache: utils.MetaNone}, true, true, r); err != utils.ErrExists { t.Fatal(err) } diff --git a/loaders/loaders.go b/loaders/loaders.go index 3466f943f..f61e0e8c1 100644 --- a/loaders/loaders.go +++ b/loaders/loaders.go @@ -68,7 +68,7 @@ func (ldrS *LoaderS) ListenAndServe(stopChan chan struct{}) (err error) { type ArgsProcessFolder struct { LoaderID string - APIOpts map[string]interface{} + APIOpts map[string]any } func (ldrS *LoaderS) V1Run(ctx *context.Context, args *ArgsProcessFolder, @@ -124,7 +124,7 @@ func (ldrS *LoaderS) V1Run(ctx *context.Context, args *ArgsProcessFolder, type ArgsProcessZip struct { LoaderID string Data []byte - APIOpts map[string]interface{} + APIOpts map[string]any } func (ldrS *LoaderS) V1ImportZip(ctx *context.Context, args *ArgsProcessZip, diff --git a/loaders/loaders_test.go b/loaders/loaders_test.go index f7c28bc47..697220739 100644 --- a/loaders/loaders_test.go +++ b/loaders/loaders_test.go @@ -149,7 +149,7 @@ func TestLoaderServiceV1Run(t *testing.T) { ld := NewLoaderS(cfg, dm, fS, cM) var rply string if err := ld.V1Run(context.Background(), &ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: true, utils.MetaStopOnError: true, @@ -227,7 +227,7 @@ func TestLoaderServiceV1RunErrors(t *testing.T) { expErrMsg := "SERVER_ERROR: inline parse error for string: <*string>" if err := ld.V1Run(context.Background(), &ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: true, utils.MetaStopOnError: true, @@ -239,7 +239,7 @@ func TestLoaderServiceV1RunErrors(t *testing.T) { expErrMsg = `strconv.ParseBool: parsing "notfloat": invalid syntax` if err := ld.V1Run(context.Background(), &ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: true, utils.MetaStopOnError: "notfloat", @@ -249,7 +249,7 @@ func TestLoaderServiceV1RunErrors(t *testing.T) { t.Errorf("Expeceted: %v, received: %v", expErrMsg, err) } if err := ld.V1Run(context.Background(), &ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: "notfloat", utils.MetaStopOnError: "notfloat", @@ -261,7 +261,7 @@ func TestLoaderServiceV1RunErrors(t *testing.T) { ld.ldrs[utils.MetaDefault].Locker.Lock() if err := ld.V1Run(context.Background(), &ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: "notfloat", utils.MetaStopOnError: "notfloat", @@ -273,7 +273,7 @@ func TestLoaderServiceV1RunErrors(t *testing.T) { expErrMsg = `ANOTHER_LOADER_RUNNING` if err := ld.V1Run(context.Background(), &ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: "notfloat", utils.MetaStopOnError: "notfloat", @@ -291,7 +291,7 @@ func TestLoaderServiceV1RunErrors(t *testing.T) { } ld.ldrs[utils.MetaDefault].Locker = mockLock2{} - if err := ld.V1Run(context.Background(), &ArgsProcessFolder{APIOpts: map[string]interface{}{ + if err := ld.V1Run(context.Background(), &ArgsProcessFolder{APIOpts: map[string]any{ utils.MetaForceLock: true}}, &rply); err == nil || err.Error() != expErrMsg { t.Errorf("Expeceted: %v, received: %v", expErrMsg, err) } @@ -344,7 +344,7 @@ func TestLoaderServiceV1ImportZip(t *testing.T) { var rply string if err := ld.V1ImportZip(context.Background(), &ArgsProcessZip{ Data: buf.Bytes(), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: true, utils.MetaStopOnError: true, @@ -402,7 +402,7 @@ func TestLoaderServiceV1ImportZipErrors(t *testing.T) { expErrMsg := "SERVER_ERROR: inline parse error for string: <*string>" if err := ld.V1ImportZip(context.Background(), &ArgsProcessZip{ Data: buf.Bytes(), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: true, utils.MetaStopOnError: true, @@ -414,7 +414,7 @@ func TestLoaderServiceV1ImportZipErrors(t *testing.T) { expErrMsg = "zip: not a valid zip file" if err := ld.V1ImportZip(context.Background(), &ArgsProcessZip{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: true, utils.MetaStopOnError: true, @@ -427,7 +427,7 @@ func TestLoaderServiceV1ImportZipErrors(t *testing.T) { expErrMsg = `strconv.ParseBool: parsing "notfloat": invalid syntax` if err := ld.V1ImportZip(context.Background(), &ArgsProcessZip{ Data: buf.Bytes(), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: true, utils.MetaStopOnError: "notfloat", @@ -438,7 +438,7 @@ func TestLoaderServiceV1ImportZipErrors(t *testing.T) { } if err := ld.V1ImportZip(context.Background(), &ArgsProcessZip{ Data: buf.Bytes(), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: "notfloat", utils.MetaStopOnError: "notfloat", @@ -451,7 +451,7 @@ func TestLoaderServiceV1ImportZipErrors(t *testing.T) { ld.ldrs[utils.MetaDefault].Locker.Lock() if err := ld.V1ImportZip(context.Background(), &ArgsProcessZip{ Data: buf.Bytes(), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: "notfloat", utils.MetaStopOnError: "notfloat", @@ -464,7 +464,7 @@ func TestLoaderServiceV1ImportZipErrors(t *testing.T) { expErrMsg = `ANOTHER_LOADER_RUNNING` if err := ld.V1ImportZip(context.Background(), &ArgsProcessZip{ Data: buf.Bytes(), - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaCache: utils.MetaNone, utils.MetaWithIndex: "notfloat", utils.MetaStopOnError: "notfloat", @@ -485,7 +485,7 @@ func TestLoaderServiceV1ImportZipErrors(t *testing.T) { ld.ldrs[utils.MetaDefault].Locker = mockLock2{} if err := ld.V1ImportZip(context.Background(), &ArgsProcessZip{ - Data: buf.Bytes(), APIOpts: map[string]interface{}{ + Data: buf.Bytes(), APIOpts: map[string]any{ utils.MetaForceLock: true}}, &rply); err == nil || err.Error() != expErrMsg { t.Errorf("Expeceted: %v, received: %v", expErrMsg, err) } diff --git a/migrator/attributes.go b/migrator/attributes.go index 6d7172930..5ec0c0e5d 100644 --- a/migrator/attributes.go +++ b/migrator/attributes.go @@ -430,7 +430,7 @@ func (v4AttrPrf v4AttributeProfile) AsAttributeProfile() (attrPrf *v6AttributePr type v2Attribute struct { FieldName string - Initial interface{} + Initial any Substitute config.RSRParsers Append bool } diff --git a/rates/rates_test.go b/rates/rates_test.go index b6fcb12a4..c56f6ddd3 100644 --- a/rates/rates_test.go +++ b/rates/rates_test.go @@ -103,7 +103,7 @@ func TestRateProfileCostForEvent(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}}, rateS.cfg.RateSCfg().Verbosity); err == nil || err != utils.ErrNotFound { t.Error(err) } @@ -141,7 +141,7 @@ func TestRateProfileCostForEvent(t *testing.T) { if rcv, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}}, rateS.cfg.RateSCfg().Verbosity); err != nil { t.Error(err) } else { @@ -169,7 +169,7 @@ func TestRateProfileCostForEvent(t *testing.T) { if err := rateS.V1CostForEvent(context.Background(), &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}}, expectedRPCost); err != nil { t.Error(err) } else if !reflect.DeepEqual(expectedRPCost, expRpCostAfterV1) { @@ -251,7 +251,7 @@ func TestRateProfileCostForEventUnmatchEvent(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "10", utils.Cost: 1002, @@ -263,7 +263,7 @@ func TestRateProfileCostForEventUnmatchEvent(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "10", utils.Cost: 1002, @@ -306,7 +306,7 @@ func TestMatchingRateProfileEvent(t *testing.T) { &utils.CGREvent{ Tenant: "cgrates.org", ID: "CACHE1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, utils.AnswerTime: t1.Add(-10 * time.Second), @@ -321,7 +321,7 @@ func TestMatchingRateProfileEvent(t *testing.T) { &utils.CGREvent{ Tenant: "cgrates.org", ID: "CACHE1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 2002, utils.AnswerTime: t1.Add(-10 * time.Second), @@ -333,7 +333,7 @@ func TestMatchingRateProfileEvent(t *testing.T) { &utils.CGREvent{ Tenant: "cgrates.org", ID: "CACHE1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 2002, utils.AnswerTime: t1.Add(10 * time.Second), @@ -345,7 +345,7 @@ func TestMatchingRateProfileEvent(t *testing.T) { &utils.CGREvent{ Tenant: "cgrates.org", ID: "CACHE1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: 1002, utils.AnswerTime: t1.Add(-10 * time.Second), @@ -358,7 +358,7 @@ func TestMatchingRateProfileEvent(t *testing.T) { &utils.CGREvent{ Tenant: "cgrates.org", ID: "CACHE1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: 1002, utils.AnswerTime: t1.Add(-10 * time.Second), @@ -371,7 +371,7 @@ func TestMatchingRateProfileEvent(t *testing.T) { &utils.CGREvent{ Tenant: "cgrates.org", ID: "CACHE1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Cost: 1002, utils.AnswerTime: t1.Add(-10 * time.Second), @@ -386,7 +386,7 @@ func TestMatchingRateProfileEvent(t *testing.T) { &utils.CGREvent{ Tenant: "cgrates.org", ID: "CACHE1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1007", utils.Destination: 1002, utils.AnswerTime: t1.Add(-10 * time.Second), @@ -448,7 +448,7 @@ func TestV1CostForEventError(t *testing.T) { rcv, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}}, rateS.cfg.RateSCfg().Verbosity) if err != nil { t.Error(err) @@ -459,9 +459,9 @@ func TestV1CostForEventError(t *testing.T) { if err := rateS.V1CostForEvent(context.Background(), &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesProfileIDs: []string{"RATE_1"}, }, }, rcv); err == nil || err.Error() != expectedErr { @@ -474,9 +474,9 @@ func TestV1CostForEventError(t *testing.T) { if err := rateS.V1CostForEvent(context.Background(), &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesProfileIDs: []string{"RATE_1"}, }}, rcv); err == nil || err.Error() != expectedErr { t.Errorf("Expected %+v, received %+v", expectedErr, err) @@ -573,10 +573,10 @@ func BenchmarkRateS_V1CostForEvent(b *testing.B) { argsRt := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.Subject: "1010", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesStartTime: time.Date(2020, 12, 23, 59, 0, 0, 0, time.UTC), utils.OptsRatesUsage: "2h", }, @@ -662,10 +662,10 @@ func BenchmarkRateS_V1CostForEventSingleRate(b *testing.B) { argsRt := &utils.CGREvent{ Tenant: "cgrates.org", ID: utils.UUIDSha1Prefix(), - Event: map[string]interface{}{ + Event: map[string]any{ utils.Subject: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesStartTime: time.Date(2020, 12, 23, 59, 0, 0, 0, time.UTC), utils.OptsRatesUsage: "2h", }, @@ -737,9 +737,9 @@ func TestRateProfileCostForEventInvalidUsage(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesUsage: "invalidUsageFormat", }}, rateS.cfg.RateSCfg().Verbosity); err == nil || err.Error() != expected { t.Errorf("Expected %+v, received %+v", expected, err) @@ -749,9 +749,9 @@ func TestRateProfileCostForEventInvalidUsage(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesStartTime: "invalidStartTimeFormat", }}, rateS.cfg.RateSCfg().Verbosity); err == nil || err.Error() != expected { t.Errorf("Expected %+v, received %+v", expected, err) @@ -811,9 +811,9 @@ func TestRateProfileCostForEventZeroIncrement(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesUsage: "100m", }}, rateS.cfg.RateSCfg().Verbosity); err == nil || err.Error() != expected { t.Errorf("Expected %+v, received %+v", expected, err) @@ -872,9 +872,9 @@ func TestRateProfileCostForEventMaximumIterations(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesUsage: "10000m", }}, rateS.cfg.RateSCfg().Verbosity); err == nil || err.Error() != expected { t.Errorf("Expected %+v, received %+v", expected, err) @@ -917,7 +917,7 @@ func TestRateSMatchingRateProfileForEventErrFltr(t *testing.T) { &utils.CGREvent{ Tenant: "cgrates.org", ID: "CACHE1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: 1002, utils.AnswerTime: time.Date(9999, 7, 21, 10, 0, 0, 0, time.UTC).Add(-10 * time.Second), @@ -974,7 +974,7 @@ func TestRateSRateProfileCostForEventErrFltr(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}}, rateS.cfg.RateSCfg().Verbosity); err == nil || err != utils.ErrNotFound { t.Error(err) } @@ -987,7 +987,7 @@ func TestRateSRateProfileCostForEventErrFltr(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}}, rateS.cfg.RateSCfg().Verbosity); err == nil || err.Error() != expected { t.Errorf("Expected %+v\n, received %+v", expected, err) } @@ -1040,10 +1040,10 @@ func TestRateSRateProfileCostForEventErrInterval(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesIntervalStart: "wrongValue", }, - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}}, rateS.cfg.RateSCfg().Verbosity); err == nil || err.Error() != expected { t.Error(err) } @@ -1125,10 +1125,10 @@ func TestCDRProcessRatesCostForEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestCDRProcessRatesCostForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaUsage: 15 * time.Second, }, } @@ -1144,10 +1144,10 @@ func TestCDRProcessRatesCostForEvent(t *testing.T) { expCgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestCDRProcessRatesCostForEvent", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRateSCost: utils.RateProfileCost{ ID: "TEST_RATE_PROCESS_CDR", Cost: utils.NewDecimal(int64(15*time.Second)/10, 0), @@ -1234,7 +1234,7 @@ func TestRateProfileCostForEventProfileIgnoreFilters(t *testing.T) { if _, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}}, rateS.cfg.RateSCfg().Verbosity); err == nil || err != utils.ErrNotFound { t.Error(err) } @@ -1272,7 +1272,7 @@ func TestRateProfileCostForEventProfileIgnoreFilters(t *testing.T) { if rcv, err := rateS.rateProfileCostForEvent(context.Background(), rPrf, &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001"}}, rateS.cfg.RateSCfg().Verbosity); err != nil { t.Error(err) } else { @@ -1298,11 +1298,11 @@ func TestRateProfileCostForEventProfileIgnoreFilters(t *testing.T) { event := &utils.CGREvent{ Tenant: "cgrates.org", ID: "RATE_1", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", "TestField": "testValue1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsRatesProfileIDs: []string{"RATE_1"}, utils.MetaProfileIgnoreFilters: true, }, diff --git a/registrarc/libregistrarc.go b/registrarc/libregistrarc.go index 0a3f360db..452928625 100644 --- a/registrarc/libregistrarc.go +++ b/registrarc/libregistrarc.go @@ -36,7 +36,7 @@ import ( func NewRegisterArgs(cfg *config.CGRConfig, tnt string, hostCfgs []*config.RemoteHost) (rargs *RegisterArgs, err error) { rargs = &RegisterArgs{ Tenant: tnt, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), Hosts: make([]*RegisterHostCfg, len(hostCfgs)), } for i, hostCfg := range hostCfgs { @@ -61,7 +61,7 @@ func NewRegisterArgs(cfg *config.CGRConfig, tnt string, hostCfgs []*config.Remot // RegisterArgs the arguments to register the dispacher host type RegisterArgs struct { Tenant string - Opts map[string]interface{} + Opts map[string]any Hosts []*RegisterHostCfg } @@ -100,7 +100,7 @@ func (rhc *RegisterHostCfg) AsDispatcherHost(tnt, ip string) *engine.DispatcherH func NewUnregisterArgs(tnt string, hostCfgs []*config.RemoteHost) (uargs *UnregisterArgs) { uargs = &UnregisterArgs{ Tenant: tnt, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), IDs: make([]string, len(hostCfgs)), } for i, hostCfg := range hostCfgs { @@ -112,7 +112,7 @@ func NewUnregisterArgs(tnt string, hostCfgs []*config.RemoteHost) (uargs *Unregi // UnregisterArgs the arguments to unregister the dispacher host type UnregisterArgs struct { Tenant string - Opts map[string]interface{} + Opts map[string]any IDs []string } @@ -120,8 +120,8 @@ type UnregisterArgs struct { func Registrar(w http.ResponseWriter, r *http.Request) { defer r.Body.Close() w.Header().Set("Content-Type", "application/json") - var result interface{} = utils.OK - var errMessage interface{} + var result any = utils.OK + var errMessage any var err error var id *json.RawMessage if id, err = register(r); err != nil { @@ -150,7 +150,7 @@ func register(req *http.Request) (*json.RawMessage, error) { return sReq.Id, err case utils.RegistrarSv1UnregisterDispatcherHosts: var args UnregisterArgs - params := []interface{}{&args} + params := []any{&args} if err = json.Unmarshal(*sReq.Params, ¶ms); err != nil { utils.Logger.Warning(fmt.Sprintf("<%s> Failed to decode params because: %s", utils.RegistrarC, err)) @@ -183,7 +183,7 @@ func register(req *http.Request) (*json.RawMessage, error) { case utils.RegistrarSv1UnregisterRPCHosts: var args UnregisterArgs - params := []interface{}{&args} + params := []any{&args} if err = json.Unmarshal(*sReq.Params, ¶ms); err != nil { utils.Logger.Warning(fmt.Sprintf("<%s> Failed to decode params because: %s", utils.RegistrarC, err)) @@ -264,7 +264,7 @@ func getConnPort(cfg *config.CGRConfig, transport string, tls bool) (port string func unmarshallRegisterArgs(req *http.Request, reqParams json.RawMessage) (dH []*engine.DispatcherHost, err error) { var dHs RegisterArgs - params := []interface{}{&dHs} + params := []any{&dHs} if err = json.Unmarshal(reqParams, ¶ms); err != nil { utils.Logger.Warning(fmt.Sprintf("<%s> Failed to decode params because: %s", utils.RegistrarC, err)) diff --git a/registrarc/libregistrarc_test.go b/registrarc/libregistrarc_test.go index 4ab6f8218..e4e228594 100644 --- a/registrarc/libregistrarc_test.go +++ b/registrarc/libregistrarc_test.go @@ -50,7 +50,7 @@ func TestRegisterArgsAsDispatcherHosts(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } exp := []*engine.DispatcherHost{ { @@ -141,9 +141,9 @@ func TestRegister(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -202,9 +202,9 @@ func TestRegister(t *testing.T) { ua := &UnregisterArgs{ Tenant: "cgrates.org", IDs: []string{"Host1", "Host2"}, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - uaJSON, err := json.Marshal([]interface{}{ua}) + uaJSON, err := json.Marshal([]any{ua}) id = json.RawMessage("2") if err != nil { t.Fatal(err) @@ -347,9 +347,9 @@ func TestRegistrar(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -456,9 +456,9 @@ func TestRegisterRegistrarSv1UnregisterRPCHosts(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -485,9 +485,9 @@ func TestRegisterRegistrarSv1UnregisterRPCHostsError(t *testing.T) { ra := &UnregisterArgs{ IDs: []string{"Host1"}, Tenant: "cgrates.org", - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -544,9 +544,9 @@ func TestRegisterRegistrarSv1RegisterRPCHosts(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) @@ -586,9 +586,9 @@ func TestRegisterRegistrarSv1RegisterRPCHostsError(t *testing.T) { Transport: utils.MetaGOB, }, }, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), } - raJSON, err := json.Marshal([]interface{}{ra}) + raJSON, err := json.Marshal([]any{ra}) id := json.RawMessage("1") if err != nil { t.Fatal(err) diff --git a/registrarc/registrarc_it_test.go b/registrarc/registrarc_it_test.go index 1e08e8973..9f56f410a 100644 --- a/registrarc/registrarc_it_test.go +++ b/registrarc/registrarc_it_test.go @@ -128,10 +128,10 @@ func testDsphLoadData(t *testing.T) { } func testDsphGetNodeID() (id string, err error) { - var status map[string]interface{} + var status map[string]any if err = dspRPC.Call(context.Background(), utils.CoreSv1Status, utils.TenantWithAPIOpts{ Tenant: "cgrates.org", - APIOpts: map[string]interface{}{}, + APIOpts: map[string]any{}, }, &status); err != nil { return } diff --git a/registrarc/registrarcrpc_it_test.go b/registrarc/registrarcrpc_it_test.go index 32b3d4970..4c300462b 100644 --- a/registrarc/registrarcrpc_it_test.go +++ b/registrarc/registrarcrpc_it_test.go @@ -113,7 +113,7 @@ func testRPCStartEngine(t *testing.T) { func testRPCLoadData(t *testing.T) { var reply string if err := rpcsRPC.Call(context.Background(), utils.LoaderSv1Run, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{utils.MetaCache: utils.MetaReload}, + APIOpts: map[string]any{utils.MetaCache: utils.MetaReload}, }, &reply); err != nil { t.Error(err) } else if reply != utils.OK { @@ -125,10 +125,10 @@ func testRPCLoadData(t *testing.T) { func testRPCChargerSNoAttr(t *testing.T) { cgrEv := &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", }, - APIOpts: map[string]interface{}{utils.OptsAttributesProcessRuns: 1.}, + APIOpts: map[string]any{utils.OptsAttributesProcessRuns: 1.}, } expErr := utils.NewErrServerError(rpcclient.ErrDisconnected).Error() var rply []*engine.ChrgSProcessEventReply @@ -148,10 +148,10 @@ func testRPCStartRegc(t *testing.T) { func testRPCChargerSWithAttr(t *testing.T) { cgrEv := &utils.CGREvent{ // matching Charger1 Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1010", }, - APIOpts: map[string]interface{}{utils.OptsAttributesProcessRuns: 1.}, + APIOpts: map[string]any{utils.OptsAttributesProcessRuns: 1.}, } processedEv := []*engine.ChrgSProcessEventReply{ @@ -165,10 +165,10 @@ func testRPCChargerSWithAttr(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*chargeID": "908bd346b2203977a829c917ba25d1cd784842be", "*attrProcessRuns": 1., "*subsys": "*chargers", @@ -189,16 +189,16 @@ func testRPCChargerSWithAttr(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", "RequestType": "*none", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*chargeID": "ce15802a8c5e8e9db0ffaf10130ef265296e9ea4", "*attrProcessRuns": 1., "*subsys": "*chargers", "*runID": "raw", - "*attrProfileIDs": []interface{}{"*constant:*req.RequestType:*none"}, + "*attrProfileIDs": []any{"*constant:*req.RequestType:*none"}, "*context": "*chargers", }, }, @@ -215,17 +215,17 @@ func testRPCChargerSWithAttr(t *testing.T) { }, CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ "Account": "1010", "Subject": "SUPPLIER1", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "*chargeID": "c0766c230f77b0ee496629be7efa0db24e208cfe", "*context": "*chargers", "*attrProcessRuns": 1., "*subsys": "*chargers", "*runID": "SupplierCharges", - "*attrProfileIDs": []interface{}{"ATTR_SUPPLIER1"}, + "*attrProfileIDs": []any{"ATTR_SUPPLIER1"}, }, }, }, diff --git a/services/libcgr-engine.go b/services/libcgr-engine.go index aa042c255..8136c99f5 100644 --- a/services/libcgr-engine.go +++ b/services/libcgr-engine.go @@ -147,7 +147,7 @@ func cgrRunPreload(ctx *context.Context, cfg *config.CGRConfig, loaderIDs string var reply string for _, loaderID := range strings.Split(loaderIDs, utils.FieldsSep) { if err = loader.GetLoaderS().V1Run(ctx, &loaders.ArgsProcessFolder{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaForceLock: true, // force lock will unlock the file in case is locked and return error utils.MetaStopOnError: true, }, diff --git a/services/sessions_it_test.go b/services/sessions_it_test.go index ec496469d..9972cb229 100644 --- a/services/sessions_it_test.go +++ b/services/sessions_it_test.go @@ -68,7 +68,7 @@ func TestSessionSReload1(t *testing.T) { clientConect := make(chan birpc.ClientConnector, 1) clientConect <- &testMockClients{ - calls: func(ctx *context.Context, args, reply interface{}) error { + calls: func(ctx *context.Context, args, reply any) error { rply, cancast := reply.(*[]*engine.ChrgSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -110,7 +110,7 @@ func TestSessionSReload1(t *testing.T) { args := &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSSv1ItProcessEventInitiateSession", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.OriginID: "testSSv1ItProcessEvent", @@ -122,7 +122,7 @@ func TestSessionSReload1(t *testing.T) { utils.AnswerTime: time.Date(2018, time.January, 7, 16, 60, 10, 0, time.UTC), utils.Usage: 0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaRunID: utils.MetaDefault, utils.OptsSesInitiate: true, utils.MetaThresholds: true, diff --git a/services/sessions_test.go b/services/sessions_test.go index bc7c6688d..97c5ddafe 100644 --- a/services/sessions_test.go +++ b/services/sessions_test.go @@ -33,10 +33,10 @@ import ( ) type testMockClients struct { - calls func(_ *context.Context, _, _ interface{}) error + calls func(_ *context.Context, _, _ any) error } -func (sT *testMockClients) Call(ctx *context.Context, method string, arg, rply interface{}) error { +func (sT *testMockClients) Call(ctx *context.Context, method string, arg, rply any) error { return sT.calls(ctx, arg, rply) } diff --git a/servmanager/servmanager.go b/servmanager/servmanager.go index 1aac98cd1..69ff916f6 100644 --- a/servmanager/servmanager.go +++ b/servmanager/servmanager.go @@ -167,7 +167,7 @@ type Service interface { // ArgsServiceID are passed to Start/Stop/Status RPC methods type ArgsServiceID struct { ServiceID string - APIOpts map[string]interface{} + APIOpts map[string]any } // V1StartService starts a service with ID diff --git a/sessions/libsessions.go b/sessions/libsessions.go index 53666fa02..479903e0c 100644 --- a/sessions/libsessions.go +++ b/sessions/libsessions.go @@ -48,11 +48,11 @@ type BiRPClient interface { V1GetActiveSessionIDs(ctx *context.Context, ignParam string, sessionIDs *[]*SessionID) (err error) V1ReAuthorize(ctx *context.Context, originID string, reply *string) (err error) V1DisconnectPeer(ctx *context.Context, args *utils.DPRArgs, reply *string) (err error) - V1WarnDisconnect(ctx *context.Context, args map[string]interface{}, reply *string) (err error) + V1WarnDisconnect(ctx *context.Context, args map[string]any, reply *string) (err error) } // GetSetOptsOriginID will populate the originID key if not present and return it -func GetSetOptsOriginID(ev engine.MapEvent, opt map[string]interface{}) (originID string) { +func GetSetOptsOriginID(ev engine.MapEvent, opt map[string]any) (originID string) { fldIface, has := opt[utils.MetaOriginID] if has { originID = utils.IfaceAsString(fldIface) @@ -146,7 +146,7 @@ func (pi *ProcessedStirIdentity) VerifyHeader() (isValid bool) { // VerifySignature returns if the signature is valid func (pi *ProcessedStirIdentity) VerifySignature(ctx *context.Context, timeoutVal time.Duration) (err error) { - var pubkey interface{} + var pubkey any var ok bool if pubkey, ok = engine.Cache.Get(utils.CacheSTIR, pi.Header.X5u); !ok { if pubkey, err = utils.NewECDSAPubKey(pi.Header.X5u, timeoutVal); err != nil { @@ -195,7 +195,7 @@ func (pi *ProcessedStirIdentity) VerifyPayload(originatorTn, originatorURI, dest // NewSTIRIdentity returns the identiy for stir header func NewSTIRIdentity(ctx *context.Context, header *utils.PASSporTHeader, payload *utils.PASSporTPayload, prvkeyPath string, timeout time.Duration) (identity string, err error) { - var prvKey interface{} + var prvKey any var ok bool if prvKey, ok = engine.Cache.Get(utils.CacheSTIR, prvkeyPath); !ok { if prvKey, err = utils.NewECDSAPrvKey(prvkeyPath, timeout); err != nil { @@ -254,7 +254,7 @@ type V1STIRAuthenticateArgs struct { OriginatorTn string // the expected originator telephone number OriginatorURI string // the expected originator URI; if this is populated the OriginatorTn is ignored PayloadMaxDuration string // the duration the payload is valid after it's creation - APIOpts map[string]interface{} + APIOpts map[string]any } // V1STIRIdentityArgs are the arguments for STIRIdentity API @@ -263,7 +263,7 @@ type V1STIRIdentityArgs struct { PublicKeyPath string // the path to the public key used in the header PrivateKeyPath string // the private key path OverwriteIAT bool // if true the IAT from payload is overwrited with the present unix timestamp - APIOpts map[string]interface{} + APIOpts map[string]any } // getDerivedEvents returns only the *raw event if derivedReply flag is not specified @@ -621,7 +621,7 @@ func (v1Rply *V1UpdateSessionReply) AsNavigableMap() map[string]*utils.DataNode type ArgsReplicateSessions struct { Passive bool ConnIDs []string - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } diff --git a/sessions/libsessions_test.go b/sessions/libsessions_test.go index a6fb48f2b..7a67da05d 100644 --- a/sessions/libsessions_test.go +++ b/sessions/libsessions_test.go @@ -32,7 +32,7 @@ import ( ) func TestLibSessionSGetSetOptsOriginID(t *testing.T) { - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -52,7 +52,7 @@ func TestLibSessionSGetSetOptsOriginID(t *testing.T) { utils.OriginHost: "127.0.0.1", }) //Empty originID in event - opt := map[string]interface{}{} + opt := map[string]any{} originID := GetSetOptsOriginID(sEv, opt) if len(originID) == 0 { t.Errorf("Unexpected originID: %+v", originID) diff --git a/sessions/session_test.go b/sessions/session_test.go index e9499fa50..cb1de3b35 100644 --- a/sessions/session_test.go +++ b/sessions/session_test.go @@ -55,7 +55,7 @@ func TestSessionOriginIDOpts(t *testing.T) { } //normal check session = &Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "testID", }, } @@ -98,7 +98,7 @@ func TestSessionClone(t *testing.T) { NextAutoDebit: &tTime2, }, }, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "originID", }, } @@ -123,7 +123,7 @@ func TestSessionClone(t *testing.T) { NextAutoDebit: &tTime2, }, }, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "originID", }, } @@ -132,7 +132,7 @@ func TestSessionClone(t *testing.T) { t.Errorf("Expecting: %s, received: %s", utils.ToJSON(eOut), utils.ToJSON(rcv)) } //check clone - rcv.OptsStart = map[string]interface{}{ + rcv.OptsStart = map[string]any{ utils.MetaOriginID: "neworiginID", } @@ -153,7 +153,7 @@ func TestSessionClone(t *testing.T) { } func TestSessionAsCGREventsRawEvent(t *testing.T) { - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -169,7 +169,7 @@ func TestSessionAsCGREventsRawEvent(t *testing.T) { utils.Cost: 12.12, } s := &Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "RandomoriginID", }, Tenant: "cgrates.org", @@ -182,7 +182,7 @@ func TestSessionAsCGREventsRawEvent(t *testing.T) { } func TestSessionAsCGREvents(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -197,7 +197,7 @@ func TestSessionAsCGREvents(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -213,7 +213,7 @@ func TestSessionAsCGREvents(t *testing.T) { utils.Cost: 12.13, } s := &Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "RandomoriginID", }, Tenant: "cgrates.org", @@ -236,7 +236,7 @@ func TestSessionAsCGREvents(t *testing.T) { } func TestSessionAsExternalSessions(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -251,7 +251,7 @@ func TestSessionAsExternalSessions(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -269,7 +269,7 @@ func TestSessionAsExternalSessions(t *testing.T) { } tTime := time.Date(2020, time.April, 18, 23, 0, 0, 0, time.UTC) s := &Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "RandomoriginID", }, Tenant: "cgrates.org", @@ -318,7 +318,7 @@ func TestSessionAsExternalSessions(t *testing.T) { /* func TestSessionAsExternalSessions2(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -333,7 +333,7 @@ func TestSessionAsExternalSessions(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -350,7 +350,7 @@ func TestSessionAsExternalSessions(t *testing.T) { utils.Cost: 12.13, } s := &Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "RandomoriginID", }, Tenant: "cgrates.org", @@ -397,7 +397,7 @@ func TestSessionAsExternalSessions(t *testing.T) { } func TestSessionAsExternalSessions3(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -412,7 +412,7 @@ func TestSessionAsExternalSessions(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -431,7 +431,7 @@ func TestSessionAsExternalSessions(t *testing.T) { tTime := time.Date(2020, time.April, 18, 23, 0, 0, 0, time.UTC) s := &Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "RandomCGRID", }, Tenant: "cgrates.org", @@ -491,7 +491,7 @@ func TestSessiontotalUsage(t *testing.T) { tTime := time.Now() tTime2 := time.Date(2020, time.April, 18, 23, 0, 0, 0, time.UTC) session = &Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "originID", }, Tenant: "cgrates.org", @@ -552,7 +552,7 @@ func TestSessionstopDebitLoops(t *testing.T) { } func TestUpdateSRuns(t *testing.T) { - startEv := map[string]interface{}{ + startEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -567,7 +567,7 @@ func TestUpdateSRuns(t *testing.T) { utils.Usage: 2 * time.Second, utils.Cost: 12.12, } - ev := map[string]interface{}{ + ev := map[string]any{ utils.EventName: "TEST_EVENT2", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -584,7 +584,7 @@ func TestUpdateSRuns(t *testing.T) { utils.Cost: 12.13, } s := &Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "RandomOriginID", }, Tenant: "cgrates.org", @@ -595,7 +595,7 @@ func TestUpdateSRuns(t *testing.T) { TotalUsage: 2 * time.Second, }}, } - updEv := map[string]interface{}{ + updEv := map[string]any{ utils.EventName: "TEST_EVENT2", utils.Tenant: "cgrates.org", utils.RequestType: utils.MetaPostpaid, diff --git a/sessions/sessions.go b/sessions/sessions.go index bf7bd6b7e..9dfd92e9d 100644 --- a/sessions/sessions.go +++ b/sessions/sessions.go @@ -335,7 +335,7 @@ func (sS *SessionS) forceSTerminate(ctx *context.Context, s *Session, extraUsage var reply string for _, cgrEv := range s.asCGREvents() { if cgrEv.APIOpts == nil { - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) } cgrEv.APIOpts[utils.MetaAttributes] = false cgrEv.APIOpts[utils.MetaChargers] = false @@ -528,7 +528,7 @@ func (sS *SessionS) disconnectSession(s *Session, rsn string) (err error) { // warnSession will send warning from SessionS to clients // regarding low balance -func (sS *SessionS) warnSession(connID string, ev map[string]interface{}, opt map[string]interface{}) (err error) { +func (sS *SessionS) warnSession(connID string, ev map[string]any, opt map[string]any) (err error) { clnt := sS.biJClnt(connID) if clnt == nil { return fmt.Errorf("calling %s requires bidirectional JSON connection, connID: <%s>", @@ -557,7 +557,7 @@ func (sS *SessionS) replicateSessions(ctx *context.Context, originID string, psv // session scheduled to be removed from remote (initiate also the EventStart to avoid the panic) ss = []*Session{{ EventStart: make(engine.MapEvent), - OptsStart: engine.NewMapEvent(map[string]interface{}{ + OptsStart: engine.NewMapEvent(map[string]any{ utils.MetaOriginID: originID, }), }} @@ -1356,7 +1356,7 @@ func (sS *SessionS) endSession(ctx *context.Context, s *Session, tUsage, lastUsa // // set cost fields // sr.Event[utils.Cost] = sr.EventCost.GetCost() - // sr.Event[utils.CostDetails] = utils.ToJSON(sr.EventCost) // avoid map[string]interface{} when decoding + // sr.Event[utils.CostDetails] = utils.ToJSON(sr.EventCost) // avoid map[string]any when decoding // sr.Event[utils.CostSource] = utils.MetaSessionS // } // Set Usage field @@ -1577,11 +1577,11 @@ func (sS *SessionS) BiRPCv1AuthorizeEvent(ctx *context.Context, return // Nothing to do } if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } if attrS { if args.APIOpts == nil { - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) } rplyAttr, err := sS.processAttributes(ctx, args) if err == nil { @@ -2956,7 +2956,7 @@ func (sS *SessionS) processCDR(ctx *context.Context, cgrEv *utils.CGREvent, rply var withErrors bool for _, cgrEv := range s.asCGREvents() { if cgrEv.APIOpts == nil { - cgrEv.APIOpts = make(map[string]interface{}) + cgrEv.APIOpts = make(map[string]any) } cgrEv.APIOpts[utils.MetaAttributes] = false cgrEv.APIOpts[utils.MetaChargers] = false diff --git a/sessions/sessions_birpc_it_test.go b/sessions/sessions_birpc_it_test.go index a78c55097..87e177ee1 100644 --- a/sessions/sessions_birpc_it_test.go +++ b/sessions/sessions_birpc_it_test.go @@ -105,7 +105,7 @@ func testSessionsBiRPCStartEngine(t *testing.T) { // Connect rpc client to rater func testSessionsBiRPCApierRpcConn(t *testing.T) { - clntHandlers := map[string]interface{}{utils.SessionSv1DisconnectSession: handleDisconnectSession} + clntHandlers := map[string]any{utils.SessionSv1DisconnectSession: handleDisconnectSession} dummyClnt, err := utils.NewBiJSONrpcClient(sessionsBiRPCCfg.SessionSCfg().ListenBijson, clntHandlers) if err != nil { // First attempt is to make sure multiple clients are supported @@ -139,7 +139,7 @@ func testSessionsBiRPCSessionAutomaticDisconnects(t *testing.T) { Account: "TestSessionsBiRPCSessionAutomaticDisconnects", BalanceType: utils.MetaVoice, Value: 0.01 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsBiRPCSessionAutomaticDisconnects", utils.RatingSubject: "*zero1ms", }, @@ -168,7 +168,7 @@ func testSessionsBiRPCSessionAutomaticDisconnects(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsBiRPCSessionAutomaticDisconnects", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -210,7 +210,7 @@ func testSessionsBiRPCSessionAutomaticDisconnects(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -265,7 +265,7 @@ func testSessionsBiRPCSessionOriginatorTerminate(t *testing.T) { Account: "TestSessionsBiRPCSessionOriginatorTerminate", BalanceType: utils.MetaVoice, Value: float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsBiRPCSessionOriginatorTerminate", utils.RatingSubject: "*zero1ms", }, @@ -290,7 +290,7 @@ func testSessionsBiRPCSessionOriginatorTerminate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsBiRPCSessionOriginatorTerminate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123452", @@ -325,7 +325,7 @@ func testSessionsBiRPCSessionOriginatorTerminate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsBiRPCSessionOriginatorTerminate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123452", diff --git a/sessions/sessions_data_it_test.go b/sessions/sessions_data_it_test.go index 98e9b4feb..048d02878 100644 --- a/sessions/sessions_data_it_test.go +++ b/sessions/sessions_data_it_test.go @@ -158,7 +158,7 @@ func testSessionsDataLastUsedData(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123491", @@ -197,7 +197,7 @@ func testSessionsDataLastUsedData(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123491", @@ -235,7 +235,7 @@ func testSessionsDataLastUsedData(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123491", @@ -274,7 +274,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataLastUsedMultipleData", }, } @@ -296,7 +296,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -342,7 +342,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -390,7 +390,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -440,7 +440,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -482,7 +482,7 @@ func testSessionsDataLastUsedMultipleUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedMultipleUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123492", @@ -549,7 +549,7 @@ func testSessionsDataTTLExpired(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataTTLExpired", }, } @@ -571,7 +571,7 @@ func testSessionsDataTTLExpired(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLExpired", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "TestSessionsDataTTLExpired", @@ -585,7 +585,7 @@ func testSessionsDataTTLExpired(t *testing.T) { utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC), utils.Usage: "1024", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTLUsage: "2048", // will be charged on TTL }, }, @@ -641,7 +641,7 @@ func testSessionsDataTTLExpMultiUpdates(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataTTLExpMultiUpdates", }, } @@ -663,7 +663,7 @@ func testSessionsDataTTLExpMultiUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLExpMultiUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -711,7 +711,7 @@ func testSessionsDataTTLExpMultiUpdates(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLExpMultiUpdates", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -726,7 +726,7 @@ func testSessionsDataTTLExpMultiUpdates(t *testing.T) { utils.LastUsed: "1024", utils.Usage: "4096", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTLUsage: "2048", // will be charged on TTL utils.OptsSessionsTTLLastUsed: "1024", }, @@ -783,7 +783,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataTTLExpMultiUpdates", }, } @@ -805,7 +805,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataMultipleDataNoUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -851,7 +851,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataMultipleDataNoUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -866,7 +866,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { utils.Usage: "1024", utils.LastUsed: "1024", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: "0", // cancel timeout since usage 0 will not update it }, }, @@ -900,7 +900,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataMultipleDataNoUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -915,7 +915,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { utils.Usage: "0", utils.LastUsed: "0", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTL: "1h", // cancel timeout since usage 0 will not update it }, }, @@ -954,7 +954,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataMultipleDataNoUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -1001,7 +1001,7 @@ func testSessionsDataTTLUsageProtection(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsDataTTLUsageProtection", }, } @@ -1023,7 +1023,7 @@ func testSessionsDataTTLUsageProtection(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLUsageProtection", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaData, utils.OriginID: "123495", @@ -1078,7 +1078,7 @@ func testSessionsDataTTLLastUsage(t *testing.T) { Tenant: acntAttrs.Tenant, Account: acntAttrs.Account, BalanceType: utils.MetaData, Value: eAcntVal, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "testSessionsDataTTLLastUsage", }, } @@ -1100,7 +1100,7 @@ func testSessionsDataTTLLastUsage(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataTTLLastUsage", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "testSessionsDataTTLLastUsage", utils.ToR: utils.MetaData, utils.OriginID: "testSessionsDataTTLLastUsage", @@ -1114,7 +1114,7 @@ func testSessionsDataTTLLastUsage(t *testing.T) { utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC), utils.Usage: "1024", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsSessionsTTLLastUsage: "2048", }, }, diff --git a/sessions/sessions_it_test.go b/sessions/sessions_it_test.go index 54d5c19fe..dd1ceb116 100644 --- a/sessions/sessions_it_test.go +++ b/sessions/sessions_it_test.go @@ -136,7 +136,7 @@ func testSessionsItTerminatNonexist(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessionsItTerminatNonexist", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TerminateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -150,7 +150,7 @@ func testSessionsItTerminatNonexist(t *testing.T) { utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC), utils.Usage: usage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, }, @@ -211,7 +211,7 @@ func testSessionsItUpdateNonexist(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessionsItUpdateNonexist", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "UpdateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123789", @@ -225,7 +225,7 @@ func testSessionsItUpdateNonexist(t *testing.T) { utils.AnswerTime: time.Date(2016, time.January, 5, 18, 31, 05, 0, time.UTC), utils.Usage: usage, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "0s", }, }, @@ -253,7 +253,7 @@ func testSessionsItUpdateNonexist(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessionsItTerminatNonexist", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TerminateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123789", @@ -277,7 +277,7 @@ func testSessionsItUpdateNonexist(t *testing.T) { func testSessionsItTerminatePassive(t *testing.T) { //create the event for session - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "UpdateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123789", @@ -333,7 +333,7 @@ func testSessionsItTerminatePassive(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testSessionsItTerminatNonexist", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TerminateEvent", utils.ToR: utils.MetaVoice, utils.OriginID: "123789", @@ -375,7 +375,7 @@ func testSessionsItEventCostCompressing(t *testing.T) { Account: "TestSessionsItEventCostCompressing", Value: float64(5) * float64(time.Second), BalanceType: utils.MetaVoice, - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestSessionsItEventCostCompressing", utils.RatingSubject: "*zero50ms", }, @@ -392,7 +392,7 @@ func testSessionsItEventCostCompressing(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsItEventCostCompressing", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSessionsItEventCostCompressing", utils.AccountField: "TestSessionsItEventCostCompressing", utils.Destination: "1002", @@ -415,7 +415,7 @@ func testSessionsItEventCostCompressing(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsItEventCostCompressing", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSessionsItEventCostCompressing", utils.Usage: "1s", }, @@ -439,7 +439,7 @@ func testSessionsItEventCostCompressing(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsDataLastUsedData", - Event: map[string]interface{}{ + Event: map[string]any{ utils.OriginID: "TestSessionsItEventCostCompressing", utils.AccountField: "TestSessionsItEventCostCompressing", utils.Destination: "1002", diff --git a/sessions/sessions_rpl_it_test.go b/sessions/sessions_rpl_it_test.go index a0e296063..121172415 100644 --- a/sessions/sessions_rpl_it_test.go +++ b/sessions/sessions_rpl_it_test.go @@ -149,7 +149,7 @@ func testSessionSRplInitiate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSRplInitiate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", @@ -215,7 +215,7 @@ func testSessionSRplUpdate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSRplUpdate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", @@ -293,7 +293,7 @@ func testSessionSRplTerminate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionSRplTerminate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", @@ -356,7 +356,7 @@ func testSessionSRplManualReplicate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123451", @@ -378,7 +378,7 @@ func testSessionSRplManualReplicate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth2", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.Tenant: "cgrates.org", utils.OriginID: "123481", @@ -452,7 +452,7 @@ func testSessionSRplManualReplicate(t *testing.T) { if err := masterProc.Process.Kill(); err != nil { t.Errorf("Failed to kill process, error: %v", err.Error()) } - var status map[string]interface{} + var status map[string]any if err := smgRplcMstrRPC.Call(utils.CoreSv1Status, utils.TenantWithAPIOpts{}, &status); err == nil { // master should not longer be reachable t.Error(err, status) } diff --git a/sessions/sessions_test.go b/sessions/sessions_test.go index 0895ab833..c8a592a88 100644 --- a/sessions/sessions_test.go +++ b/sessions/sessions_test.go @@ -41,7 +41,7 @@ var attrs = &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSSv1ItAuth", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Category: "call", @@ -55,7 +55,7 @@ var attrs = &engine.AttrSProcessEventReply{ utils.SetupTime: "2018-01-07T17:00:00Z", utils.Usage: 300000000000.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.MetaOriginID: "5668666d6b8e44eb949042f25ce0796ec3592ff9", }, }, @@ -65,44 +65,44 @@ func TestIsIndexed(t *testing.T) { sS := &SessionS{} if sS.isIndexed(&Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "test", }, }, true) { t.Error("Expecting: false, received: true") } - if sS.isIndexed(&Session{OptsStart: map[string]interface{}{ + if sS.isIndexed(&Session{OptsStart: map[string]any{ utils.MetaOriginID: "test", }}, false) { t.Error("Expecting: false, received: true") } sS = &SessionS{ - aSessions: map[string]*Session{"test": {OptsStart: map[string]interface{}{ + aSessions: map[string]*Session{"test": {OptsStart: map[string]any{ utils.MetaOriginID: "test", }}}, } - if !sS.isIndexed(&Session{OptsStart: map[string]interface{}{ + if !sS.isIndexed(&Session{OptsStart: map[string]any{ utils.MetaOriginID: "test", }}, false) { t.Error("Expecting: true, received: false") } - if sS.isIndexed(&Session{OptsStart: map[string]interface{}{ + if sS.isIndexed(&Session{OptsStart: map[string]any{ utils.MetaOriginID: "test", }}, true) { t.Error("Expecting: true, received: false") } sS = &SessionS{ - pSessions: map[string]*Session{"test": {OptsStart: map[string]interface{}{ + pSessions: map[string]*Session{"test": {OptsStart: map[string]any{ utils.MetaOriginID: "test", }}}, } - if !sS.isIndexed(&Session{OptsStart: map[string]interface{}{ + if !sS.isIndexed(&Session{OptsStart: map[string]any{ utils.MetaOriginID: "test", }}, true) { t.Error("Expecting: false, received: true") } - if sS.isIndexed(&Session{OptsStart: map[string]interface{}{ + if sS.isIndexed(&Session{OptsStart: map[string]any{ utils.MetaOriginID: "test", }}, false) { t.Error("Expecting: false, received: true") @@ -165,7 +165,7 @@ func TestSessionSIndexAndUnindexSessions(t *testing.T) { "Extra4": {}, } sS := NewSessionS(cfg, nil, nil) - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -244,7 +244,7 @@ func TestSessionSIndexAndUnindexSessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.aSessionsRIdx) } // Index second session - sSEv2 := engine.NewMapEvent(map[string]interface{}{ + sSEv2 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT2", utils.OriginID: "12346", utils.AccountField: "account2", @@ -264,7 +264,7 @@ func TestSessionSIndexAndUnindexSessions(t *testing.T) { }, } sS.indexSession(session2, false) - sSEv3 := engine.NewMapEvent(map[string]interface{}{ + sSEv3 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT3", utils.Tenant: "cgrates.org", utils.OriginID: "12347", @@ -475,7 +475,7 @@ func TestSessionSIndexAndUnindexSessions(t *testing.T) { func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -532,7 +532,7 @@ func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.aSessionsRIdx) } - sSEv2 := engine.NewMapEvent(map[string]interface{}{ + sSEv2 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "222", @@ -595,7 +595,7 @@ func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.aSessionsRIdx) } - sSEv3 := engine.NewMapEvent(map[string]interface{}{ + sSEv3 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -684,7 +684,7 @@ func TestSessionSRegisterAndUnregisterASessions(t *testing.T) { func TestSessionSRegisterAndUnregisterPSessions(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -744,7 +744,7 @@ func TestSessionSRegisterAndUnregisterPSessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.pSessionsRIdx) } - sSEv2 := engine.NewMapEvent(map[string]interface{}{ + sSEv2 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "222", @@ -807,7 +807,7 @@ func TestSessionSRegisterAndUnregisterPSessions(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eRIdxes, sS.pSessionsRIdx) } - sSEv3 := engine.NewMapEvent(map[string]interface{}{ + sSEv3 := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -892,7 +892,7 @@ func TestSessionSNewV1AuthorizeArgs(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "Event", - Event: map[string]interface{}{ + Event: map[string]any{ utils.AccountField: "1001", utils.Destination: "1002", }, @@ -976,13 +976,13 @@ func TestSessionSV1AuthorizeReplyAsNavigableMap(t *testing.T) { Routes: []*engine.SortedRoute{ { RouteID: "supplier1", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 20.0, }, }, { RouteID: "supplier2", - SortingData: map[string]interface{}{ + SortingData: map[string]any{ "Weight": 10.0, }, }, @@ -1274,7 +1274,7 @@ func TestV1ProcessEventReplyAsNavigableMap(t *testing.T) { func TestSessionStransitSState(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -1293,7 +1293,7 @@ func TestSessionStransitSState(t *testing.T) { utils.OriginHost: "127.0.0.1", }) s := &Session{ - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "session1", }, EventStart: sSEv, @@ -1322,7 +1322,7 @@ func TestSessionStransitSState(t *testing.T) { func TestSessionSrelocateSessionS(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -1340,11 +1340,11 @@ func TestSessionSrelocateSessionS(t *testing.T) { utils.Route: "supplier1", utils.OriginHost: "127.0.0.1", }) - opt := make(map[string]interface{}) + opt := make(map[string]any) initialOriginID := GetSetOptsOriginID(sSEv, opt) s := &Session{ EventStart: sSEv, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: initialOriginID, }, } @@ -1362,10 +1362,10 @@ func TestSessionSrelocateSessionS(t *testing.T) { if len(rcvS) != 0 { t.Errorf("Expecting 0, received: %+v", len(rcvS)) } - ev := engine.NewMapEvent(map[string]interface{}{ + ev := engine.NewMapEvent(map[string]any{ utils.OriginID: "222", utils.OriginHost: "127.0.0.1"}) - opt2 := make(map[string]interface{}) + opt2 := make(map[string]any) originID := GetSetOptsOriginID(ev, opt2) //check the session with new originID rcvS = sS.getSessions(originID, false) @@ -1430,7 +1430,7 @@ func TestSessionSgetSessionIDsMatchingIndexes(t *testing.T) { "ToR": {}, } sS := NewSessionS(cfg, nil, nil) - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -1497,7 +1497,7 @@ func TestSessionSgetSessionIDsMatchingIndexes(t *testing.T) { Event: sEv, }, { - Event: engine.NewMapEvent(map[string]interface{}{ + Event: engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice"}), }, @@ -1526,7 +1526,7 @@ func TestSessionSgetSessionIDsMatchingIndexes(t *testing.T) { type testRPCClientConnection struct{} -func (*testRPCClientConnection) Call(string, interface{}, interface{}) error { return nil } +func (*testRPCClientConnection) Call(string, any, any) error { return nil } func TestNewSessionS(t *testing.T) { cgrCGF := config.NewDefaultCGRConfig() @@ -1601,7 +1601,7 @@ func TestV1InitSessionArgsParseFlags(t *testing.T) { func TestSessionSgetSession(t *testing.T) { cfg := config.NewDefaultCGRConfig() sS := NewSessionS(cfg, nil, nil, nil) - sSEv := engine.NewMapEvent(map[string]interface{}{ + sSEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "111", @@ -1626,7 +1626,7 @@ func TestSessionSgetSession(t *testing.T) { Event: sSEv, }, }, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "session1", }, } @@ -1648,7 +1648,7 @@ func TestSessionSfilterSessions(t *testing.T) { "ToR": {}, } sS := NewSessionS(cfg, nil, nil) - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -1817,7 +1817,7 @@ func TestSessionSfilterSessionsCount(t *testing.T) { "ToR": {}, } sS := NewSessionS(cfg, nil, nil) - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -2013,7 +2013,7 @@ type mockConnWarnDisconnect1 struct { *testRPCClientConnection } -func (mk *mockConnWarnDisconnect1) Call(method string, args interface{}, rply interface{}) error { +func (mk *mockConnWarnDisconnect1) Call(method string, args any, rply any) error { return utils.ErrNotImplemented } @@ -2021,7 +2021,7 @@ type mockConnWarnDisconnect2 struct { *testRPCClientConnection } -func (mk *mockConnWarnDisconnect2) Call(method string, args interface{}, rply interface{}) error { +func (mk *mockConnWarnDisconnect2) Call(method string, args any, rply any) error { return utils.ErrNoActiveSession } @@ -2049,16 +2049,16 @@ func TestWarnSession(t *testing.T) { } } -type clMock func(_ string, _ interface{}, _ interface{}) error +type clMock func(_ string, _ any, _ any) error -func (c clMock) Call(m string, a interface{}, r interface{}) error { +func (c clMock) Call(m string, a any, r any) error { return c(m, a, r) } func TestInitSession(t *testing.T) { cfg := config.NewDefaultCGRConfig() cfg.SessionSCfg().ChargerSConns = []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaChargers)} clientConect := make(chan birpc.ClientConnector, 1) - clientConect <- clMock(func(_ string, args interface{}, reply interface{}) error { + clientConect <- clMock(func(_ string, args any, reply any) error { rply, cancast := reply.(*[]*engine.ChrgSProcessEventReply) if !cancast { return fmt.Errorf("can't cast") @@ -2079,7 +2079,7 @@ func TestInitSession(t *testing.T) { sS := NewSessionS(cfg, nil, conMng) s, err := sS.initSession(&utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Category: "call", utils.ToR: utils.MetaVoice, utils.OriginID: "TestTerminate", diff --git a/sessions/sessions_voice_it_test.go b/sessions/sessions_voice_it_test.go index b5cb4a99e..e533a3c1f 100644 --- a/sessions/sessions_voice_it_test.go +++ b/sessions/sessions_voice_it_test.go @@ -133,7 +133,7 @@ func testSessionsVoiceMonetaryRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceMonetaryRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -173,7 +173,7 @@ func testSessionsVoiceMonetaryRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceMonetaryRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123451", @@ -210,7 +210,7 @@ func testSessionsVoiceVoiceRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceVoiceRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123452", @@ -252,7 +252,7 @@ func testSessionsVoiceVoiceRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceVoiceRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123452", @@ -295,7 +295,7 @@ func testSessionsVoiceMixedRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceMixedRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123453", @@ -340,7 +340,7 @@ func testSessionsVoiceMixedRefund(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceMixedRefund", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "123453", @@ -392,7 +392,7 @@ func testSessionsVoiceLastUsed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "12350", @@ -431,7 +431,7 @@ func testSessionsVoiceLastUsed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Update1", utils.ToR: utils.MetaVoice, utils.OriginID: "12350", @@ -468,7 +468,7 @@ func testSessionsVoiceLastUsed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "Update2", utils.ToR: utils.MetaVoice, utils.OriginID: "12350", @@ -506,7 +506,7 @@ func testSessionsVoiceLastUsed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "12350", @@ -553,7 +553,7 @@ func testSessionsVoiceLastUsedEnd(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedEnd", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234911", @@ -592,7 +592,7 @@ func testSessionsVoiceLastUsedEnd(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedEnd", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234911", @@ -630,7 +630,7 @@ func testSessionsVoiceLastUsedEnd(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedEnd", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234911", @@ -675,7 +675,7 @@ func testSessionsVoiceLastUsedNotFixed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedNotFixed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234922", @@ -715,7 +715,7 @@ func testSessionsVoiceLastUsedNotFixed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedNotFixed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234922", @@ -752,7 +752,7 @@ func testSessionsVoiceLastUsedNotFixed(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedNotFixed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234922", @@ -798,7 +798,7 @@ func testSessionsVoiceSessionTTL(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTL", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_SESSION_TTL", utils.ToR: utils.MetaVoice, utils.OriginID: "12360", @@ -866,7 +866,7 @@ func testSessionsVoiceSessionTTL(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTL", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_SESSION_TTL", utils.ToR: utils.MetaVoice, utils.OriginID: "12360", @@ -941,7 +941,7 @@ func testSessionsVoiceSessionTTLWithRelocate(t *testing.T) { Account: "TestTTLWithRelocate", BalanceType: utils.MetaVoice, Value: 300 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestTTLWithRelocate", utils.RatingSubject: "*zero50ms", }, @@ -971,7 +971,7 @@ func testSessionsVoiceSessionTTLWithRelocate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTLWithRelocate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_SESSION_TTL_RELOCATE", utils.ToR: utils.MetaVoice, utils.OriginID: "12361", @@ -1027,7 +1027,7 @@ func testSessionsVoiceSessionTTLWithRelocate(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTLWithRelocate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_SESSION_TTL_RELOCATE", utils.ToR: utils.MetaVoice, utils.InitialOriginID: "12361", //take the initial originID from init @@ -1114,7 +1114,7 @@ func testSessionsVoiceRelocateWithOriginIDPrefix(t *testing.T) { Account: "TestRelocateWithOriginIDPrefix", BalanceType: utils.MetaVoice, Value: 300 * float64(time.Second), - Balance: map[string]interface{}{ + Balance: map[string]any{ utils.ID: "TestRelocateWithOriginIDPrefix", utils.RatingSubject: "*zero1s", }, @@ -1144,7 +1144,7 @@ func testSessionsVoiceRelocateWithOriginIDPrefix(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceRelocateWithOriginIDPrefix", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_RELOCATE_ORIGPREFIX", utils.ToR: utils.MetaVoice, utils.OriginID: "12371", @@ -1200,7 +1200,7 @@ func testSessionsVoiceRelocateWithOriginIDPrefix(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceSessionTTLWithRelocate", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_RELOCATE_ORIGPREFIX", utils.ToR: utils.MetaVoice, utils.InitialOriginID: "12371", @@ -1255,7 +1255,7 @@ func testSessionsVoiceRelocateWithOriginIDPrefix(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestSessionsVoiceLastUsedNotFixed", - Event: map[string]interface{}{ + Event: map[string]any{ utils.EventName: "TEST_EVENT_RELOCATE_ORIGPREFIX", utils.ToR: utils.MetaVoice, utils.OriginID: "12372-1", @@ -1331,7 +1331,7 @@ func TestSMGDataDerivedChargingNoCredit(t *testing.T) { } else if acnt.BalanceMap[utils.MetaVoice].GetTotalValue() != eAcntVal { t.Errorf("Expected: %f, received: %f", eAcntVal, acnt.BalanceMap[utils.MetaVoice].GetTotalValue()) } - smgEv := map[string]interface{}{ + smgEv := map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: utils.MetaVoice, utils.OriginID: "1234967", diff --git a/sessions/sessionscover_test.go b/sessions/sessionscover_test.go index 07e26f685..926ae62df 100644 --- a/sessions/sessionscover_test.go +++ b/sessions/sessionscover_test.go @@ -289,7 +289,7 @@ func TestForceSTerminatorPostCDRs(t *testing.T) { EventStart: engine.NewMapEvent(nil), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, ExtraDuration: 1, @@ -325,7 +325,7 @@ func TestForceSTerminatorReleaseSession(t *testing.T) { ResourceID: "resourceID", SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, ExtraDuration: 1, @@ -347,7 +347,7 @@ type testMockClientConn struct { *testRPCClientConnection } -func (sT *testMockClientConn) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClientConn) Call(method string, arg any, rply any) error { return utils.ErrNoActiveSession } @@ -373,7 +373,7 @@ func TestForceSTerminatorClientCall(t *testing.T) { ClientConnID: "ClientConnID", SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, ExtraDuration: 1, @@ -405,7 +405,7 @@ func TestDebitSession(t *testing.T) { EventStart: engine.NewMapEvent(nil), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, ExtraDuration: 1, @@ -441,10 +441,10 @@ func TestDebitSession(t *testing.T) { //mocking for type testMockClients struct { - calls map[string]func(args interface{}, reply interface{}) error + calls map[string]func(args any, reply any) error } -func (sT *testMockClients) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClients) Call(method string, arg any, rply any) error { if call, has := sT.calls[method]; !has { return rpcclient.ErrUnsupporteServiceMethod } else { @@ -456,8 +456,8 @@ func TestDebitSessionResponderMaxDebit(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - // utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + // utils.ResponderMaxDebit: func(args any, reply any) error { // callCost := new(engine.CallCost) // callCost.Timespans = []*engine.TimeSpan{ // { @@ -489,7 +489,7 @@ func TestDebitSessionResponderMaxDebit(t *testing.T) { EventStart: engine.NewMapEvent(nil), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, ExtraDuration: time.Minute, @@ -523,11 +523,11 @@ func TestDebitSessionResponderMaxDebitError(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) sMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - // utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + // utils.ResponderMaxDebit: func(args any, reply any) error { // return utils.ErrAccountNotFound // }, - // utils.SchedulerSv1ExecuteActionPlans: func(args interface{}, reply interface{}) error { + // utils.SchedulerSv1ExecuteActionPlans: func(args any, reply any) error { // return nil // }, }, @@ -551,7 +551,7 @@ func TestDebitSessionResponderMaxDebitError(t *testing.T) { EventStart: engine.NewMapEvent(nil), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaDynaprepaid, }, // CD: &engine.CallDescriptor{Category: "test"}, @@ -573,7 +573,7 @@ func TestDebitSessionResponderMaxDebitError(t *testing.T) { } engine.Cache.Clear(nil) - // sMock.calls[utils.SchedulerSv1ExecuteActionPlans] = func(args interface{}, reply interface{}) error { + // sMock.calls[utils.SchedulerSv1ExecuteActionPlans] = func(args any, reply any) error { // return utils.ErrNotImplemented // } newInternalRpcChan := make(chan birpc.ClientConnector, 1) @@ -607,7 +607,7 @@ func TestInitSessionDebitLoops(t *testing.T) { debitStop: make(chan struct{}, 1), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPrepaid, }, // CD: &engine.CallDescriptor{Category: "test"}, @@ -631,7 +631,7 @@ type testMockClientConnDiscSess struct { *testRPCClientConnection } -func (sT *testMockClientConnDiscSess) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClientConnDiscSess) Call(method string, arg any, rply any) error { return nil } @@ -654,7 +654,7 @@ func TestDebitLoopSessionErrorDebiting(t *testing.T) { DebitInterval: time.Minute, SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaDynaprepaid, }, // CD: &engine.CallDescriptor{Category: "test"}, @@ -677,11 +677,11 @@ func TestDebitLoopSessionErrorDebiting(t *testing.T) { ss.debitStop = make(chan struct{}) engine.Cache.Clear(nil) sMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - // utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + // utils.ResponderMaxDebit: func(args any, reply any) error { // return utils.ErrAccountNotFound // }, - // utils.SchedulerSv1ExecuteActionPlans: func(args interface{}, reply interface{}) error { + // utils.SchedulerSv1ExecuteActionPlans: func(args any, reply any) error { // return utils.ErrUnauthorizedDestination // }, }, @@ -706,8 +706,8 @@ func TestDebitLoopSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { callCost := new(engine.CallCost) callCost.Timespans = []*engine.TimeSpan{ { @@ -740,7 +740,7 @@ func TestDebitLoopSession(t *testing.T) { debitStop: make(chan struct{}), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPrepaid, }, CD: &engine.CallDescriptor{ @@ -769,8 +769,8 @@ func TestDebitLoopSessionFrcDiscLowerDbtInterval(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { callCost := new(engine.CallCost) callCost.Timespans = []*engine.TimeSpan{ { @@ -803,7 +803,7 @@ func TestDebitLoopSessionFrcDiscLowerDbtInterval(t *testing.T) { debitStop: make(chan struct{}), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, CD: &engine.CallDescriptor{ @@ -830,8 +830,8 @@ func TestDebitLoopSessionLowBalance(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, }, @@ -857,7 +857,7 @@ func TestDebitLoopSessionLowBalance(t *testing.T) { debitStop: make(chan struct{}), SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaPostpaid, }, CD: &engine.CallDescriptor{ @@ -889,11 +889,11 @@ func TestDebitLoopSessionWarningSessions(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, - utils.ResourceSv1ReleaseResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1ReleaseResources: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -945,11 +945,11 @@ func TestDebitLoopSessionDisconnectSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, - utils.ResourceSv1ReleaseResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1ReleaseResources: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1015,8 +1015,8 @@ func TestStoreSCost(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CDRsV1StoreSessionCost: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CDRsV1StoreSessionCost: func(args any, reply any) error { return utils.ErrExists }, }, @@ -1063,8 +1063,8 @@ func TestRefundSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundIncrements: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundIncrements: func(args any, reply any) error { if args.(*engine.CallDescriptorWithAPIOpts).APIOpts != nil { return utils.ErrNotImplemented } @@ -1175,8 +1175,8 @@ func TestRoundCost(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderRefundRounding: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderRefundRounding: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1254,7 +1254,7 @@ func TestDisconnectSession(t *testing.T) { ss := &Session{ ClientConnID: "test", - EventStart: make(map[string]interface{}), + EventStart: make(map[string]any), SRuns: []*SRun{ { TotalUsage: time.Minute, @@ -1287,8 +1287,8 @@ func TestReplicateSessions(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.SessionSv1SetPassiveSession: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.SessionSv1SetPassiveSession: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1313,8 +1313,8 @@ func TestNewSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { if args.(*utils.CGREvent).ID == utils.EmptyString { return utils.ErrNotImplemented } @@ -1323,7 +1323,7 @@ func TestNewSession(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -1346,7 +1346,7 @@ func TestNewSession(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, } @@ -1364,14 +1364,14 @@ func TestNewSession(t *testing.T) { Tenant: "cgrates.org", ResourceID: "resourceID", ClientConnID: "clientConnID", - EventStart: map[string]interface{}{ + EventStart: map[string]any{ utils.MetaOriginID: "da39a3ee5e6b4b0d3255bfef95601890afd80709", utils.Destination: "10", }, DebitInterval: time.Second, SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, CD: &engine.CallDescriptor{ @@ -1415,11 +1415,11 @@ func TestProcessChargerS(t *testing.T) { engine.Cache.Clear(nil) testMock1 := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { return utils.ErrExists }, - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1437,7 +1437,7 @@ func TestProcessChargerS(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, } @@ -1513,23 +1513,23 @@ func TestRelocateSession(t *testing.T) { sessions.aSessions = map[string]*Session{ "0d0fe8779b54c88f121e26c5d83abee5935127e5": { CGRID: "TEST_CGRID", - EventStart: map[string]interface{}{}, + EventStart: map[string]any{}, SRuns: []*SRun{ { - Event: map[string]interface{}{}, + Event: map[string]any{}, }, }, }, } expected := &Session{ CGRID: "dfa2adaa5ab49349777c1ab3bcf3455df0259880", - EventStart: map[string]interface{}{ + EventStart: map[string]any{ utils.MetaOriginID: "dfa2adaa5ab49349777c1ab3bcf3455df0259880", utils.OriginID: "222", }, SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.MetaOriginID: "dfa2adaa5ab49349777c1ab3bcf3455df0259880", utils.OriginID: "222", }, @@ -1587,8 +1587,8 @@ func TestLibsessionsSetMockErrors(t *testing.T) { engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1636,7 +1636,7 @@ type testMockClientSyncSessions struct { *testRPCClientConnection } -func (sT *testMockClientSyncSessions) Call(method string, arg interface{}, rply interface{}) error { +func (sT *testMockClientSyncSessions) Call(method string, arg any, rply any) error { queriedSessionIDs := []*SessionID{ { OriginID: "ORIGIN_ID", @@ -1654,11 +1654,11 @@ func TestSyncSessions(t *testing.T) { engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResourceSv1ReleaseResources: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResourceSv1ReleaseResources: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -1717,17 +1717,17 @@ func TestAuthEvent(t *testing.T) { engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderGetMaxSessionTime: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderGetMaxSessionTime: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -1752,7 +1752,7 @@ func TestAuthEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.Usage: "invalid_time", }, @@ -1785,8 +1785,8 @@ func TestAuthEventMockCall(t *testing.T) { //mocking the GetMaxSession for checking the error engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderGetMaxSessionTime: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderGetMaxSessionTime: func(args any, reply any) error { usage := args.(*engine.CallDescriptorWithAPIOpts).APIOpts[utils.Usage] if usage != 10 { return utils.ErrNoMoreData @@ -1794,13 +1794,13 @@ func TestAuthEventMockCall(t *testing.T) { *reply.(*time.Duration) = 4 * time.Hour return nil }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.RequestType: utils.MetaPrepaid, }, @@ -1825,10 +1825,10 @@ func TestAuthEventMockCall(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.Usage: 10, }, } @@ -1843,7 +1843,7 @@ func TestAuthEventMockCall(t *testing.T) { t.Errorf("Expected %+v, received %+v", expectedTime, usage) } - cgrEv.APIOpts = map[string]interface{}{ + cgrEv.APIOpts = map[string]any{ utils.Usage: 20, } expected := "RALS_ERROR:NO_MORE_DATA" @@ -1858,17 +1858,17 @@ func TestChargeEvent(t *testing.T) { engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.RequestType: utils.MetaPostpaid, }, @@ -1880,7 +1880,7 @@ func TestChargeEvent(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, }, @@ -1903,7 +1903,7 @@ func TestChargeEvent(t *testing.T) { cgrEv := &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: 10, utils.RequestType: utils.MetaPostpaid, }, @@ -1953,15 +1953,15 @@ func TestUpdateSession(t *testing.T) { dm := engine.NewDataManager(data, cfg.CacheCfg(), nil) sessions := NewSessionS(cfg, dm, nil) - updatedEv := map[string]interface{}{ + updatedEv := map[string]any{ utils.Usage: time.Second, utils.Destination: 10, } ss := &Session{ - EventStart: map[string]interface{}{}, + EventStart: map[string]any{}, SRuns: []*SRun{ { - Event: map[string]interface{}{}, + Event: map[string]any{}, CD: &engine.CallDescriptor{ RunID: "RUNID_TEST", }, @@ -1990,14 +1990,14 @@ func TestEndSession(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) sTestMock := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResponderDebit: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResponderDebit: func(args any, reply any) error { return nil }, - utils.ResponderRefundRounding: func(args interface{}, reply interface{}) error { + utils.ResponderRefundRounding: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.CDRsV1StoreSessionCost: func(args interface{}, reply interface{}) error { + utils.CDRsV1StoreSessionCost: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -2016,11 +2016,11 @@ func TestEndSession(t *testing.T) { sessions := NewSessionS(cfg, dm, connMgr) ss := &Session{ - EventStart: map[string]interface{}{}, + EventStart: map[string]any{}, SRuns: []*SRun{ { TotalUsage: 50 * time.Minute, - Event: map[string]interface{}{}, + Event: map[string]any{}, EventCost: &engine.EventCost{ Usage: utils.DurationPointer(30 * time.Minute), AccountSummary: &engine.AccountSummary{}, @@ -2135,7 +2135,7 @@ func TestBiRPCv1GetActivePassiveSessions(t *testing.T) { t.Errorf("Expected %+v, received %+v", utils.ErrNotFound, err) } - sEv := engine.NewMapEvent(map[string]interface{}{ + sEv := engine.NewMapEvent(map[string]any{ utils.EventName: "TEST_EVENT", utils.ToR: "*voice", utils.OriginID: "12345", @@ -2330,8 +2330,8 @@ func TestBiRPCv1ReplicateSessions(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.SessionSv1SetPassiveSession: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.SessionSv1SetPassiveSession: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -2369,13 +2369,13 @@ func TestBiRPCv1AuthorizeEvent(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { cgrEv := engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ ID: "TestID", Tenant: "cgrates.org", - Event: map[string]interface{}{}, + Event: map[string]any{}, }, } *reply.(*engine.AttrSProcessEventReply) = cgrEv @@ -2395,7 +2395,7 @@ func TestBiRPCv1AuthorizeEvent(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, } @@ -2462,14 +2462,14 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, }, @@ -2478,13 +2478,13 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AuthorizeResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AuthorizeResources: func(args any, reply any) error { if args.(*utils.ArgRSv1ResourceUsage).Tenant == "new_tenant" { return utils.ErrNotImplemented } return nil }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ Routes: []*engine.SortedRoute{ { @@ -2494,7 +2494,7 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { }} return nil }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -2515,7 +2515,7 @@ func TestBiRPCv1AuthorizeEvent2(t *testing.T) { cgrEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, } @@ -2597,25 +2597,25 @@ func TestBiRPCv1AuthorizeEventWithDigest(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { cgrEv := engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ ID: "TestID", Tenant: "cgrates.org", - Event: map[string]interface{}{}, + Event: map[string]any{}, }, } *reply.(*engine.AttrSProcessEventReply) = cgrEv return nil }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, }, @@ -2624,13 +2624,13 @@ func TestBiRPCv1AuthorizeEventWithDigest(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AuthorizeResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AuthorizeResources: func(args any, reply any) error { if args.(*utils.ArgRSv1ResourceUsage).Tenant == "new_tenant" { return utils.ErrNotImplemented } return nil }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ Routes: []*engine.SortedRoute{ { @@ -2640,10 +2640,10 @@ func TestBiRPCv1AuthorizeEventWithDigest(t *testing.T) { }} return nil }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return nil }, - utils.StatSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args any, reply any) error { return nil }, }, @@ -2672,7 +2672,7 @@ func TestBiRPCv1AuthorizeEventWithDigest(t *testing.T) { cgrEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, } @@ -2708,14 +2708,14 @@ func TestBiRPCv1InitiateSession1(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, }, @@ -2724,19 +2724,19 @@ func TestBiRPCv1InitiateSession1(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AuthorizeResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AuthorizeResources: func(args any, reply any) error { if args.(*utils.ArgRSv1ResourceUsage).Tenant == "new_tenant" { return utils.ErrNotImplemented } return nil }, - utils.ResourceSv1AllocateResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AllocateResources: func(args any, reply any) error { if args.(*utils.ArgRSv1ResourceUsage).UsageID == "ORIGIN_ID" { return utils.ErrNotImplemented } return nil }, - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { if len(args.(*engine.AttrArgsProcessEvent).AttributeIDs) != 0 { return utils.ErrNotImplemented } @@ -2761,7 +2761,7 @@ func TestBiRPCv1InitiateSession1(t *testing.T) { sessions := NewSessionS(cfg, dm, connMgr) cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -2829,7 +2829,7 @@ func TestBiRPCv1InitiateSession1(t *testing.T) { cgrEvent = &utils.CGREvent{ ID: "Test_id", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "ORIGIN_ID", }, @@ -2856,14 +2856,14 @@ func TestBiRPCv1InitiateSession2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, }, @@ -2875,13 +2875,13 @@ func TestBiRPCv1InitiateSession2(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AuthorizeResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AuthorizeResources: func(args any, reply any) error { if args.(*utils.ArgRSv1ResourceUsage).Tenant == "new_tenant" { return utils.ErrNotImplemented } return nil }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -2904,10 +2904,10 @@ func TestBiRPCv1InitiateSession2(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "Test_id", Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "invalid_usage", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "invalid_DUR_FORMAT", }, } @@ -2952,10 +2952,10 @@ func TestBiRPCv1InitiateSession2(t *testing.T) { //is prepaid cgrEvent = &utils.CGREvent{ ID: "PREPAID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "1s", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, } @@ -2973,25 +2973,25 @@ func TestBiRPCv1InitiateSessionWithDigest(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { cgrEv := engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ ID: "TestID", Tenant: "cgrates.org", - Event: map[string]interface{}{}, + Event: map[string]any{}, }, } *reply.(*engine.AttrSProcessEventReply) = cgrEv return nil }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, }, @@ -3000,10 +3000,10 @@ func TestBiRPCv1InitiateSessionWithDigest(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.ResourceSv1AllocateResources: func(args interface{}, reply interface{}) error { + utils.ResourceSv1AllocateResources: func(args any, reply any) error { return nil }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ Routes: []*engine.SortedRoute{ { @@ -3013,10 +3013,10 @@ func TestBiRPCv1InitiateSessionWithDigest(t *testing.T) { }} return nil }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return nil }, - utils.StatSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args any, reply any) error { return nil }, }, @@ -3045,7 +3045,7 @@ func TestBiRPCv1InitiateSessionWithDigest(t *testing.T) { cgrEvent := &utils.CGREvent{ Tenant: "cgrates.org", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "ORIGIND_ID", }, @@ -3082,8 +3082,8 @@ func TestBiRPCv1UpdateSession1(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { if len(args.(*engine.AttrArgsProcessEvent).AttributeIDs) == 1 { return utils.ErrNotImplemented } @@ -3104,7 +3104,7 @@ func TestBiRPCv1UpdateSession1(t *testing.T) { sessions := NewSessionS(cfg, dm, connMgr) cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3162,14 +3162,14 @@ func TestBiRPCv1UpdateSession2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, }, @@ -3192,11 +3192,11 @@ func TestBiRPCv1UpdateSession2(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "invalid_dur_format", utils.OriginID: "TEST_ID", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "invalid_dur_format", }, } @@ -3236,14 +3236,14 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { cghrgs := []*engine.ChrgSProcessEventReply{ { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TestID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.MetaOriginID: "TEST_ID", }, @@ -3253,7 +3253,7 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = cghrgs return nil }, - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -3272,7 +3272,7 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3314,7 +3314,7 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { } cgrEvent.Event[utils.OriginID] = "ORIGIN_ID" - cgrEvent.APIOpts = make(map[string]interface{}) + cgrEvent.APIOpts = make(map[string]any) cgrEvent.APIOpts[utils.OptsDebitInterval] = "invalid_time_format" args = NewV1TerminateSessionArgs(true, false, false, nil, false, nil, cgrEvent, true) expected = "RALS_ERROR:time: invalid duration \"invalid_time_format\"" @@ -3353,7 +3353,7 @@ func TestBiRPCv1TerminateSession1(t *testing.T) { cgrEvent = &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3384,8 +3384,8 @@ func TestBiRPCv1TerminateSession2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResourceSv1ReleaseResources: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResourceSv1ReleaseResources: func(args any, reply any) error { if args.(*utils.ArgRSv1ResourceUsage).Tenant == "CHANGED_ID" { return nil } @@ -3406,7 +3406,7 @@ func TestBiRPCv1TerminateSession2(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3452,7 +3452,7 @@ func TestBiRPCv1ProcessCDR(t *testing.T) { sessions := NewSessionS(cfg, dm, nil) cgrEvent := &utils.CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3486,8 +3486,8 @@ func TestBiRPCv1ProcessMessage1(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { if args.(*engine.AttrArgsProcessEvent).ID == "test_id" { return nil } @@ -3509,7 +3509,7 @@ func TestBiRPCv1ProcessMessage1(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3565,14 +3565,14 @@ func TestBiRPCv1ProcessMessage2(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ResourceSv1AllocateResources: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ResourceSv1AllocateResources: func(args any, reply any) error { if args.(*utils.ArgRSv1ResourceUsage).UsageID == "ORIGIN_ID" { return nil } return utils.ErrNotImplemented }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ Routes: []*engine.SortedRoute{ { @@ -3582,13 +3582,13 @@ func TestBiRPCv1ProcessMessage2(t *testing.T) { }} return nil }, - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -3614,7 +3614,7 @@ func TestBiRPCv1ProcessMessage2(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", }, } @@ -3669,14 +3669,14 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -3684,12 +3684,12 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { attrs := engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }, @@ -3700,7 +3700,7 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { } return utils.ErrNotImplemented }, - utils.RouteSv1GetRoutes: func(args interface{}, reply interface{}) error { + utils.RouteSv1GetRoutes: func(args any, reply any) error { if args.(*engine.ArgsGetRoutes).ID == "SECOND_ID" { *reply.(*engine.SortedRoutesList) = engine.SortedRoutesList{{ ProfileID: "ROUTE_PRFID", @@ -3714,7 +3714,7 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { } return utils.ErrNotImplemented }, - utils.ThresholdSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.ThresholdSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -3735,7 +3735,7 @@ func TestBiRPCv1ProcessEvent(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3811,14 +3811,14 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -3826,7 +3826,7 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.StatSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -3846,7 +3846,7 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { cgrEvent := &utils.CGREvent{ ID: "test_id", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "10s", utils.OriginID: "TEST_ID", }, @@ -3869,7 +3869,7 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { } args.Flags = []string{utils.MetaSTIRAuthenticate} - args.CGREvent.APIOpts = make(map[string]interface{}) + args.CGREvent.APIOpts = make(map[string]any) args.CGREvent.APIOpts[utils.OptsStirATest] = "stir;test;opts" expected = "*stir_authenticate: missing parts of the message header" if err := sessions.BiRPCv1ProcessEvent(nil, args, &reply); err == nil || err.Error() != expected { @@ -3877,7 +3877,7 @@ func TestBiRPCv1ProcessEventStats(t *testing.T) { } args.Flags = []string{utils.MetaSTIRInitiate} - args.CGREvent.APIOpts = make(map[string]interface{}) + args.CGREvent.APIOpts = make(map[string]any) args.CGREvent.APIOpts[utils.OptsStirATest] = "stir;test;opts" expected = "*stir_authenticate: open : no such file or directory" if err := sessions.BiRPCv1ProcessEvent(nil, args, &reply); err == nil || err.Error() != expected { @@ -3893,11 +3893,11 @@ func TestBiRPCv1ProcessEventResources(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { return nil }, - utils.StatSv1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.StatSv1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -3922,7 +3922,7 @@ func TestBiRPCv1ProcessEventResources(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testBiRPCv1ProcessEventStatsResources", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.AccountField: "1001", @@ -3993,8 +3993,8 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { log.SetOutput(io.Discard) engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { if args.(*utils.CGREvent).ID != "RALS_ID" { return nil } @@ -4003,7 +4003,7 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", }, }}, @@ -4011,7 +4011,7 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.ResponderGetCost: func(args interface{}, reply interface{}) error { + utils.ResponderGetCost: func(args any, reply any) error { if args.(*engine.CallDescriptorWithAPIOpts).Tenant == "CHANGED_ID" { return nil } @@ -4040,7 +4040,7 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testBiRPCv1ProcessEventStatsResources", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.ToR: utils.MetaVoice, utils.AccountField: "1001", @@ -4074,7 +4074,7 @@ func TestBiRPCv1ProcessEventRals1(t *testing.T) { args.Flags = []string{utils.MetaRALs, utils.ConcatenatedKey(utils.MetaRALs, utils.MetaInitiate), utils.MetaChargers} - args.APIOpts = make(map[string]interface{}) + args.APIOpts = make(map[string]any) args.APIOpts[utils.OptsDebitInterval] = "invalid_dbtitrvl_format" expected = "RALS_ERROR:time: invalid duration \"invalid_dbtitrvl_format\"" if err := sessions.BiRPCv1ProcessEvent(nil, args, &reply); err == nil || err.Error() != expected { @@ -4104,14 +4104,14 @@ func TestBiRPCv1ProcessEventRals2(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.RequestType: utils.MetaPrepaid, }, @@ -4120,10 +4120,10 @@ func TestBiRPCv1ProcessEventRals2(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.CacheSv1ReplicateSet: func(args interface{}, reply interface{}) error { + utils.CacheSv1ReplicateSet: func(args any, reply any) error { return utils.ErrNotImplemented }, - utils.ResponderMaxDebit: func(args interface{}, reply interface{}) error { + utils.ResponderMaxDebit: func(args any, reply any) error { return nil }, }, @@ -4150,12 +4150,12 @@ func TestBiRPCv1ProcessEventRals2(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testBiRPCv1ProcessEventStatsResources", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Destination: "1002", utils.RequestType: utils.MetaPrepaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, }, @@ -4241,14 +4241,14 @@ func TestBiRPCv1ProcessEventCDRs11(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.ChargerSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.ChargerSv1ProcessEvent: func(args any, reply any) error { chrgrs := []*engine.ChrgSProcessEventReply{ {ChargerSProfile: "TEST_PROFILE1", CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "TEST_ID", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Destination: "10", utils.RequestType: utils.MetaPrepaid, }, @@ -4257,7 +4257,7 @@ func TestBiRPCv1ProcessEventCDRs11(t *testing.T) { *reply.(*[]*engine.ChrgSProcessEventReply) = chrgrs return nil }, - utils.CDRsV1ProcessEvent: func(args interface{}, reply interface{}) error { + utils.CDRsV1ProcessEvent: func(args any, reply any) error { return utils.ErrNotImplemented }, }, @@ -4282,13 +4282,13 @@ func TestBiRPCv1ProcessEventCDRs11(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "testBiRPCv1ProcessEventStatsResources", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.MetaOriginID: "TEST_CGRID", utils.Destination: "1002", utils.RequestType: utils.MetaPrepaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, }, @@ -4299,7 +4299,7 @@ func TestBiRPCv1ProcessEventCDRs11(t *testing.T) { CGRID: "TEST_CGRID", SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.RequestType: utils.MetaDynaprepaid, }, CD: &engine.CallDescriptor{Category: "test"}, @@ -4354,13 +4354,13 @@ func TestBiRPCv1GetCost(t *testing.T) { engine.Cache.Clear(nil) clnt := &testMockClients{ - calls: map[string]func(args interface{}, reply interface{}) error{ - utils.AttributeSv1ProcessEvent: func(args interface{}, reply interface{}) error { + calls: map[string]func(args any, reply any) error{ + utils.AttributeSv1ProcessEvent: func(args any, reply any) error { attr := &engine.AttrSProcessEventReply{ CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ATTRIBUTES", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "20m", }, }, @@ -4368,7 +4368,7 @@ func TestBiRPCv1GetCost(t *testing.T) { *reply.(*engine.AttrSProcessEventReply) = *attr return nil }, - utils.ResponderGetCost: func(args interface{}, reply interface{}) error { + utils.ResponderGetCost: func(args any, reply any) error { return nil }, }, @@ -4392,12 +4392,12 @@ func TestBiRPCv1GetCost(t *testing.T) { } cgrEvent := &utils.CGREvent{ ID: "TestBiRPCv1GetCost", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Tenant: "cgrates.org", utils.Destination: "1002", utils.RequestType: utils.MetaPrepaid, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ utils.OptsDebitInterval: "10s", }, } @@ -4443,7 +4443,7 @@ func TestBiRPCv1GetCost(t *testing.T) { CGREvent: &utils.CGREvent{ Tenant: "cgrates.org", ID: "ATTRIBUTES", - Event: map[string]interface{}{ + Event: map[string]any{ utils.Usage: "20m", }, }, @@ -4475,7 +4475,7 @@ func TestBiRPCv1GetCost(t *testing.T) { type mkCall struct{} -func (sT *mkCall) Call(ctx *context.Context, method string, arg interface{}, rply interface{}) error { +func (sT *mkCall) Call(ctx *context.Context, method string, arg any, rply any) error { if arg.(*utils.DPRArgs).OriginHost != "cgrates" { return utils.ErrNoActiveSession } @@ -4524,7 +4524,7 @@ func TestBiRPCv1DisconnectPeer(t *testing.T) { type mkCallForces struct{} -func (sT *mkCallForces) Call(ctx *context.Context, method string, arg interface{}, rply interface{}) error { +func (sT *mkCallForces) Call(ctx *context.Context, method string, arg any, rply any) error { return utils.ErrNoActiveSession } @@ -4556,26 +4556,26 @@ func TestBiRPCv1ForceDisconnect(t *testing.T) { sessions.aSessions = map[string]*Session{ "sess1": { - EventStart: map[string]interface{}{ + EventStart: map[string]any{ utils.OriginID: "222", }, SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.MetaOriginID: "dfa2adaa5ab49349777c1ab3bcf3455df0259880", utils.OriginID: "222", }, }, }, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "dfa2adaa5ab49349777c1ab3bcf3455df0259880", }, }, "CGRATES_ID": { Tenant: "cgrates.org", - EventStart: map[string]interface{}{ + EventStart: map[string]any{ utils.Usage: 7 * time.Minute, utils.OriginID: "1234", }, @@ -4583,13 +4583,13 @@ func TestBiRPCv1ForceDisconnect(t *testing.T) { ClientConnID: "client1", SRuns: []*SRun{ { - Event: map[string]interface{}{ + Event: map[string]any{ utils.MetaOriginID: "dfa2adaa5ab49349777c1ab3bcf3455df0259880", utils.OriginID: "222", }, }, }, - OptsStart: map[string]interface{}{ + OptsStart: map[string]any{ utils.MetaOriginID: "CGRATES1_ID", }, }, diff --git a/tpes/tpe_accounts_test.go b/tpes/tpe_accounts_test.go index 470bbf650..854f4aeee 100644 --- a/tpes/tpe_accounts_test.go +++ b/tpes/tpe_accounts_test.go @@ -38,7 +38,7 @@ func TestTPEnewTPAccounts(t *testing.T) { acc := &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -49,7 +49,7 @@ func TestTPEnewTPAccounts(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -95,7 +95,7 @@ func TestTPEExportItemsAccount(t *testing.T) { acc := &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -106,7 +106,7 @@ func TestTPEExportItemsAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -133,7 +133,7 @@ func TestTPEExportItemsAccountNoDbConn(t *testing.T) { acc := &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -144,7 +144,7 @@ func TestTPEExportItemsAccountNoDbConn(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -179,7 +179,7 @@ func TestTPEExportItemsAccountNoDbConn(t *testing.T) { // acc := &utils.Account{ // Tenant: "cgrates.org", // ID: "Account_simple", -// Opts: map[string]interface{}{}, +// Opts: map[string]any{}, // Balances: map[string]*utils.Balance{ // "VoiceBalance": { // ID: "VoiceBalance", @@ -190,7 +190,7 @@ func TestTPEExportItemsAccountNoDbConn(t *testing.T) { // }, // }, // Type: "*abstract", -// Opts: map[string]interface{}{ +// Opts: map[string]any{ // "Destination": "10", // }, // Units: utils.NewDecimal(0, 0), @@ -225,7 +225,7 @@ func TestTPEExportItemsAccountIDNotFound(t *testing.T) { acc := &utils.Account{ Tenant: "cgrates.org", ID: "Account_complicated", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -236,7 +236,7 @@ func TestTPEExportItemsAccountIDNotFound(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), diff --git a/tpes/tpe_dispatchers_test.go b/tpes/tpe_dispatchers_test.go index b61001624..7791ac6e1 100644 --- a/tpes/tpe_dispatchers_test.go +++ b/tpes/tpe_dispatchers_test.go @@ -40,7 +40,7 @@ func TestTPEnewTPDispatchers(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -49,7 +49,7 @@ func TestTPEnewTPDispatchers(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, @@ -79,7 +79,7 @@ func TestTPEExportItemsDispatchers(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -88,7 +88,7 @@ func TestTPEExportItemsDispatchers(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, @@ -111,7 +111,7 @@ func TestTPEExportItemsDispatchersNoDbConn(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -120,7 +120,7 @@ func TestTPEExportItemsDispatchersNoDbConn(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, @@ -145,7 +145,7 @@ func TestTPEExportItemsDispatchersIDNotFound(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -154,7 +154,7 @@ func TestTPEExportItemsDispatchersIDNotFound(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, diff --git a/tpes/tpes.go b/tpes/tpes.go index 34e096efb..abcaaff93 100644 --- a/tpes/tpes.go +++ b/tpes/tpes.go @@ -60,7 +60,7 @@ type TPeS struct { type ArgsExportTP struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any ExportItems map[string][]string // map[expType][]string{"itemID1", "itemID2"} } diff --git a/tpes/tpes_test.go b/tpes/tpes_test.go index fc146a8a2..46c2ce537 100644 --- a/tpes/tpes_test.go +++ b/tpes/tpes_test.go @@ -121,7 +121,7 @@ func TestGetTariffPlansKeys(t *testing.T) { acc := &utils.Account{ Tenant: "cgrates.org", ID: "Account_simple", - Opts: map[string]interface{}{}, + Opts: map[string]any{}, Balances: map[string]*utils.Balance{ "VoiceBalance": { ID: "VoiceBalance", @@ -132,7 +132,7 @@ func TestGetTariffPlansKeys(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": "10", }, Units: utils.NewDecimal(0, 0), @@ -353,7 +353,7 @@ func TestGetTariffPlansKeys(t *testing.T) { ID: "Dsp1", FilterIDs: []string{"*string:~*req.Account:1001", "*ai:~*req.AnswerTime:2014-07-14T14:25:00Z"}, Strategy: utils.MetaFirst, - StrategyParams: map[string]interface{}{ + StrategyParams: map[string]any{ utils.MetaDefaultRatio: "false", }, Weight: 20, @@ -362,7 +362,7 @@ func TestGetTariffPlansKeys(t *testing.T) { ID: "C1", FilterIDs: []string{}, Weight: 10, - Params: map[string]interface{}{"0": "192.168.54.203"}, + Params: map[string]any{"0": "192.168.54.203"}, Blocker: false, }, }, diff --git a/utils/account.go b/utils/account.go index 77067383a..a0693407f 100644 --- a/utils/account.go +++ b/utils/account.go @@ -35,7 +35,7 @@ type Account struct { FilterIDs []string Weights DynamicWeights Blockers DynamicBlockers - Opts map[string]interface{} + Opts map[string]any Balances map[string]*Balance ThresholdIDs []string } @@ -110,7 +110,7 @@ type Balance struct { Type string Units *Decimal UnitFactors []*UnitFactor - Opts map[string]interface{} + Opts map[string]any CostIncrements []*CostIncrement AttributeIDs []string RateProfileIDs []string @@ -347,7 +347,7 @@ func (acc *Account) Clone() (cln *Account) { copy(cln.FilterIDs, acc.FilterIDs) } if acc.Opts != nil { - cln.Opts = make(map[string]interface{}) + cln.Opts = make(map[string]any) for key, value := range acc.Opts { cln.Opts[key] = value } @@ -398,7 +398,7 @@ func (blnc *Balance) Clone() (cln *Balance) { } } if blnc.Opts != nil { - cln.Opts = make(map[string]interface{}) + cln.Opts = make(map[string]any) for key, value := range blnc.Opts { cln.Opts[key] = value } @@ -495,7 +495,7 @@ func (bWws BalancesWithWeight) Balances() (blncs []*Balance) { type AccountWithAPIOpts struct { *Account - APIOpts map[string]interface{} + APIOpts map[string]any } type ArgsActSetBalance struct { @@ -503,7 +503,7 @@ type ArgsActSetBalance struct { AccountID string Diktats []*BalDiktat Reset bool - APIOpts map[string]interface{} + APIOpts map[string]any } type BalDiktat struct { @@ -515,10 +515,10 @@ type ArgsActRemoveBalances struct { Tenant string AccountID string BalanceIDs []string - APIOpts map[string]interface{} + APIOpts map[string]any } -func (ap *Account) Set(path []string, val interface{}, newBranch bool, _ string) (err error) { +func (ap *Account) Set(path []string, val any, newBranch bool, _ string) (err error) { switch len(path) { case 0: return ErrWrongPath @@ -534,7 +534,7 @@ func (ap *Account) Set(path []string, val interface{}, newBranch bool, _ string) // path[0][8] == '[' && path[0][len(path[0])-1] == ']' { // id := path[0][9 : len(path[0])-1] // if _, has := ap.Balances[id]; !has { - // ap.Balances[id] = &Balance{ID: id, Opts: make(map[string]interface{}), Units: NewDecimal(0, 0)} + // ap.Balances[id] = &Balance{ID: id, Opts: make(map[string]any), Units: NewDecimal(0, 0)} // } // return ap.Balances[id].Set(path[1:], val, newBranch) // } @@ -582,14 +582,14 @@ func (ap *Account) Set(path []string, val interface{}, newBranch bool, _ string) } if id != EmptyString { if _, has := ap.Balances[id]; !has { - ap.Balances[id] = &Balance{ID: path[0], Opts: make(map[string]interface{}), Units: NewDecimal(0, 0)} + ap.Balances[id] = &Balance{ID: path[0], Opts: make(map[string]any), Units: NewDecimal(0, 0)} } return ap.Balances[id].Set(path[1:], val, newBranch) } return ErrWrongPath } -func (bL *Balance) Set(path []string, val interface{}, newBranch bool) (err error) { +func (bL *Balance) Set(path []string, val any, newBranch bool) (err error) { switch len(path) { default: case 0: @@ -752,7 +752,7 @@ func (bL *Balance) Set(path []string, val interface{}, newBranch bool) (err erro return ErrWrongPath } -func (ap *Account) Merge(v2 interface{}) { +func (ap *Account) Merge(v2 any) { vi := v2.(*Account) if len(vi.Tenant) != 0 { ap.Tenant = vi.Tenant @@ -778,13 +778,13 @@ func (ap *Account) Merge(v2 interface{}) { func (ap *Account) String() string { return ToJSON(ap) } func (ap *Account) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = ap.FieldAsInterface(fldPath); err != nil { return } return IfaceAsString(val), nil } -func (ap *Account) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (ap *Account) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: @@ -865,13 +865,13 @@ func (ap *Account) FieldAsInterface(fldPath []string) (_ interface{}, err error) func (bL *Balance) String() string { return ToJSON(bL) } func (bL *Balance) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = bL.FieldAsInterface(fldPath); err != nil { return } return IfaceAsString(val), nil } -func (bL *Balance) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (bL *Balance) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: @@ -989,13 +989,13 @@ func (bL *Balance) FieldAsInterface(fldPath []string) (_ interface{}, err error) func (uF *UnitFactor) String() string { return ToJSON(uF) } func (uF *UnitFactor) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = uF.FieldAsInterface(fldPath); err != nil { return } return IfaceAsString(val), nil } -func (uF *UnitFactor) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (uF *UnitFactor) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, ErrNotFound } @@ -1018,13 +1018,13 @@ func (uF *UnitFactor) FieldAsInterface(fldPath []string) (_ interface{}, err err func (cI *CostIncrement) String() string { return ToJSON(cI) } func (cI *CostIncrement) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = cI.FieldAsInterface(fldPath); err != nil { return } return IfaceAsString(val), nil } -func (cI *CostIncrement) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (cI *CostIncrement) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, ErrNotFound } diff --git a/utils/account_test.go b/utils/account_test.go index 5d99ca9c5..4609d526b 100644 --- a/utils/account_test.go +++ b/utils/account_test.go @@ -36,7 +36,7 @@ func TestCloneBalance(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*CostIncrement{ @@ -77,7 +77,7 @@ func TestCloneAccount(t *testing.T) { Weight: 2.4, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, Balances: map[string]*Balance{ @@ -90,7 +90,7 @@ func TestCloneAccount(t *testing.T) { }, }, Type: "*abstract", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Destination": 10, }, CostIncrements: []*CostIncrement{ @@ -450,7 +450,7 @@ func TestAPBalances(t *testing.T) { Factor: NewDecimal(1, 1), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaBalanceLimit: -1.0, }, CostIncrements: []*CostIncrement{ @@ -476,7 +476,7 @@ func TestAPBalances(t *testing.T) { Factor: NewDecimal(1, 1), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaBalanceLimit: -1.0, }, CostIncrements: []*CostIncrement{ @@ -636,7 +636,7 @@ func TestBalanceEqualsCase5(t *testing.T) { eBL := &Balance{ ID: "2f5ba2", Units: NewDecimal(53, 0), - Opts: map[string]interface{}{ + Opts: map[string]any{ "Opt1": "*opt", }, } @@ -644,7 +644,7 @@ func TestBalanceEqualsCase5(t *testing.T) { extBl := &Balance{ ID: "2f5ba2", Units: NewDecimal(53, 0), - Opts: map[string]interface{}{ + Opts: map[string]any{ "Opt1": "*opt2", }, } @@ -828,7 +828,7 @@ func TestAccountEqualsCase4(t *testing.T) { eAc := &Account{ Tenant: "cgrates.org", ID: "f43a2c", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Opt1": "*opt", }, } @@ -836,7 +836,7 @@ func TestAccountEqualsCase4(t *testing.T) { extAc := &Account{ Tenant: "cgrates.org", ID: "f43a2c", - Opts: map[string]interface{}{ + Opts: map[string]any{ "Opt1": "*opt2", }, } @@ -868,7 +868,7 @@ func TestAccountEqualsCase5(t *testing.T) { Factor: NewDecimal(2, 1), }, }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, CostIncrements: []*CostIncrement{}, AttributeIDs: []string{MetaNone}, RateProfileIDs: []string{MetaNone}, @@ -897,7 +897,7 @@ func TestAccountEqualsCase5(t *testing.T) { Factor: NewDecimal(3, 1), }, }, - Opts: map[string]interface{}{}, + Opts: map[string]any{}, CostIncrements: []*CostIncrement{}, AttributeIDs: []string{MetaNone}, RateProfileIDs: []string{MetaNone}, @@ -959,7 +959,7 @@ func TestAccountSet(t *testing.T) { Weights: DynamicWeights{{}}, Blockers: DynamicBlockers{{}}, ThresholdIDs: []string{"TH1"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ "bal": "val", "bal2": "val2", "bal3": "val2", @@ -970,7 +970,7 @@ func TestAccountSet(t *testing.T) { "bal1": { ID: "bal1", Type: MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ "bal7": "val3", "bal8": MapStorage{"bal9": "val3"}, "bal10": "val3", @@ -1151,7 +1151,7 @@ func TestAccountFieldAsInterface(t *testing.T) { Weights: DynamicWeights{{}}, Blockers: DynamicBlockers{{}}, ThresholdIDs: []string{"TH1"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ "bal": "val", "bal2": "val2", "bal3": "val2", @@ -1162,7 +1162,7 @@ func TestAccountFieldAsInterface(t *testing.T) { "bal1": { ID: "bal1", Type: MetaConcrete, - Opts: map[string]interface{}{ + Opts: map[string]any{ "bal7": "val3", "bal8": MapStorage{"bal9": "val3"}, "bal10": "val3", @@ -1506,11 +1506,11 @@ func TestAccountFieldAsInterface(t *testing.T) { func TestAccountMerge(t *testing.T) { acc := &Account{ - Opts: make(map[string]interface{}), + Opts: make(map[string]any), Balances: map[string]*Balance{ "bal1": { Type: MetaConcrete, - Opts: make(map[string]interface{}), + Opts: make(map[string]any), }, "bal3": {}, }, @@ -1520,7 +1520,7 @@ func TestAccountMerge(t *testing.T) { ID: "ID", FilterIDs: []string{"fltr1"}, Weights: DynamicWeights{{}}, - Opts: map[string]interface{}{"opt1": "val"}, + Opts: map[string]any{"opt1": "val"}, ThresholdIDs: []string{"TH1"}, Balances: map[string]*Balance{ "bal1": { @@ -1529,7 +1529,7 @@ func TestAccountMerge(t *testing.T) { FilterIDs: []string{"fltr1"}, Weights: DynamicWeights{{}}, Units: DecimalNaN, - Opts: map[string]interface{}{"opt1": "val"}, + Opts: map[string]any{"opt1": "val"}, AttributeIDs: []string{"ATTR1"}, RateProfileIDs: []string{"RT1"}, UnitFactors: []*UnitFactor{{}}, @@ -1544,7 +1544,7 @@ func TestAccountMerge(t *testing.T) { ID: "ID", FilterIDs: []string{"fltr1"}, Weights: DynamicWeights{{}}, - Opts: map[string]interface{}{"opt1": "val"}, + Opts: map[string]any{"opt1": "val"}, ThresholdIDs: []string{"TH1"}, Balances: map[string]*Balance{ "bal3": {Type: MetaConcrete}, @@ -1554,7 +1554,7 @@ func TestAccountMerge(t *testing.T) { FilterIDs: []string{"fltr1"}, Weights: DynamicWeights{{}}, Units: DecimalNaN, - Opts: map[string]interface{}{"opt1": "val"}, + Opts: map[string]any{"opt1": "val"}, AttributeIDs: []string{"ATTR1"}, RateProfileIDs: []string{"RT1"}, UnitFactors: []*UnitFactor{{}}, diff --git a/utils/apitpdata.go b/utils/apitpdata.go index 9b4395cdc..a6081d7ae 100644 --- a/utils/apitpdata.go +++ b/utils/apitpdata.go @@ -26,14 +26,14 @@ import ( type ArgsItemIDs struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any ItemsPrefix string } type ArgsSubItemIDs struct { Tenant string ProfileID string - APIOpts map[string]interface{} + APIOpts map[string]any ItemsPrefix string } @@ -65,7 +65,7 @@ type AttrGetCdrs struct { type AttrLoadTpFromFolder struct { FolderPath string // Take files from folder absolute path DryRun bool // Do not write to database but parse only - APIOpts map[string]interface{} + APIOpts map[string]any Caching *string } @@ -74,7 +74,7 @@ type AttrImportTPFromFolder struct { FolderPath string RunId string CsvSeparator string - APIOpts map[string]interface{} + APIOpts map[string]any } type AttrDirExportTP struct { @@ -96,45 +96,45 @@ type ExportedTPStats struct { type RPCCDRsFilter struct { //CGRIDs []string // If provided, it will filter based on the cgrids present in list //NotCGRIDs []string // Filter specific CgrIds out - RunIDs []string // If provided, it will filter on mediation runid - NotRunIDs []string // Filter specific runIds out - OriginIDs []string // If provided, it will filter on OriginIDs - NotOriginIDs []string // Filter specific OriginIDs out - OriginHosts []string // If provided, it will filter cdrhost - NotOriginHosts []string // Filter out specific cdr hosts - Sources []string // If provided, it will filter cdrsource - NotSources []string // Filter out specific CDR sources - ToRs []string // If provided, filter on TypeOfRecord - NotToRs []string // Filter specific TORs out - RequestTypes []string // If provided, it will fiter reqtype - NotRequestTypes []string // Filter out specific request types - Tenants []string // If provided, it will filter tenant - NotTenants []string // If provided, it will filter tenant - Categories []string // If provided, it will filter çategory - NotCategories []string // Filter out specific categories - Accounts []string // If provided, it will filter account - NotAccounts []string // Filter out specific Accounts - Subjects []string // If provided, it will filter the rating subject - NotSubjects []string // Filter out specific subjects - DestinationPrefixes []string // If provided, it will filter on destination prefix - NotDestinationPrefixes []string // Filter out specific destination prefixes - Costs []float64 // Query based on costs specified - NotCosts []float64 // Filter out specific costs out from result - ExtraFields map[string]string // Query based on extra fields content - NotExtraFields map[string]string // Filter out based on extra fields content - SetupTimeStart string // Start of interval, bigger or equal than configured - SetupTimeEnd string // End interval, smaller than setupTime - AnswerTimeStart string // Start of interval, bigger or equal than configured - AnswerTimeEnd string // End interval, smaller than answerTime - CreatedAtStart string // Start of interval, bigger or equal than configured - CreatedAtEnd string // End interval, smaller than - UpdatedAtStart string // Start of interval, bigger or equal than configured - UpdatedAtEnd string // End interval, smaller than - MinUsage string // Start of the usage interval (>=) - MaxUsage string // End of the usage interval (<) - OrderBy string // Ascendent/Descendent - ExtraArgs map[string]interface{} // it will contain optional arguments like: OrderIDStart,OrderIDEnd,MinCost and MaxCost - Paginator // Add pagination + RunIDs []string // If provided, it will filter on mediation runid + NotRunIDs []string // Filter specific runIds out + OriginIDs []string // If provided, it will filter on OriginIDs + NotOriginIDs []string // Filter specific OriginIDs out + OriginHosts []string // If provided, it will filter cdrhost + NotOriginHosts []string // Filter out specific cdr hosts + Sources []string // If provided, it will filter cdrsource + NotSources []string // Filter out specific CDR sources + ToRs []string // If provided, filter on TypeOfRecord + NotToRs []string // Filter specific TORs out + RequestTypes []string // If provided, it will fiter reqtype + NotRequestTypes []string // Filter out specific request types + Tenants []string // If provided, it will filter tenant + NotTenants []string // If provided, it will filter tenant + Categories []string // If provided, it will filter çategory + NotCategories []string // Filter out specific categories + Accounts []string // If provided, it will filter account + NotAccounts []string // Filter out specific Accounts + Subjects []string // If provided, it will filter the rating subject + NotSubjects []string // Filter out specific subjects + DestinationPrefixes []string // If provided, it will filter on destination prefix + NotDestinationPrefixes []string // Filter out specific destination prefixes + Costs []float64 // Query based on costs specified + NotCosts []float64 // Filter out specific costs out from result + ExtraFields map[string]string // Query based on extra fields content + NotExtraFields map[string]string // Filter out based on extra fields content + SetupTimeStart string // Start of interval, bigger or equal than configured + SetupTimeEnd string // End interval, smaller than setupTime + AnswerTimeStart string // Start of interval, bigger or equal than configured + AnswerTimeEnd string // End interval, smaller than answerTime + CreatedAtStart string // Start of interval, bigger or equal than configured + CreatedAtEnd string // End interval, smaller than + UpdatedAtStart string // Start of interval, bigger or equal than configured + UpdatedAtEnd string // End interval, smaller than + MinUsage string // Start of the usage interval (>=) + MaxUsage string // End of the usage interval (<) + OrderBy string // Ascendent/Descendent + ExtraArgs map[string]any // it will contain optional arguments like: OrderIDStart,OrderIDEnd,MinCost and MaxCost + Paginator // Add pagination } // TPResourceProfile is used in APIs to manage remotely offline ResourceProfile @@ -154,7 +154,7 @@ type TPResourceProfile struct { type ArgsComputeFilterIndexIDs struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any AttributeIDs []string ResourceIDs []string StatIDs []string @@ -169,7 +169,7 @@ type ArgsComputeFilterIndexIDs struct { type ArgsComputeFilterIndexes struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any AttributeS bool ResourceS bool StatS bool @@ -223,7 +223,7 @@ func (aI *ActivationInterval) Equals(actInt *ActivationInterval) (eq bool) { // Attributes to send on SessionDisconnect by SMG type AttrDisconnectSession struct { - EventStart map[string]interface{} + EventStart map[string]any Reason string } @@ -351,7 +351,7 @@ type TPDispatcherProfile struct { ID string FilterIDs []string Strategy string - StrategyParams []interface{} // ie for distribution, set here the pool weights + StrategyParams []any // ie for distribution, set here the pool weights Weight float64 Hosts []*TPDispatcherHostProfile } @@ -360,9 +360,9 @@ type TPDispatcherProfile struct { type TPDispatcherHostProfile struct { ID string FilterIDs []string - Weight float64 // applied in case of multiple connections need to be ordered - Params []interface{} // additional parameters stored for a session - Blocker bool // no connection after this one + Weight float64 // applied in case of multiple connections need to be ordered + Params []any // additional parameters stored for a session + Blocker bool // no connection after this one } // TPDispatcherHost is used in APIs to manage remotely offline DispatcherHost @@ -396,18 +396,18 @@ type AttrRemoteLock struct { type RPCCDRsFilterWithAPIOpts struct { *RPCCDRsFilter - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } type ArgsGetCacheItemIDsWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string ArgsGetCacheItemIDs } type ArgsGetCacheItemWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string ArgsGetCacheItem } @@ -447,7 +447,7 @@ func NewAttrReloadCacheWithOpts() *AttrReloadCacheWithAPIOpts { } } -func NewAttrReloadCacheWithOptsFromMap(arg map[string][]string, tnt string, opts map[string]interface{}) *AttrReloadCacheWithAPIOpts { +func NewAttrReloadCacheWithOptsFromMap(arg map[string][]string, tnt string, opts map[string]any) *AttrReloadCacheWithAPIOpts { return &AttrReloadCacheWithAPIOpts{ Tenant: tnt, APIOpts: opts, @@ -484,8 +484,8 @@ func NewAttrReloadCacheWithOptsFromMap(arg map[string][]string, tnt string, opts } type AttrReloadCacheWithAPIOpts struct { - APIOpts map[string]interface{} `json:",omitempty"` - Tenant string `json:",omitempty"` + APIOpts map[string]any `json:",omitempty"` + Tenant string `json:",omitempty"` ResourceProfileIDs []string `json:",omitempty"` ResourceIDs []string `json:",omitempty"` @@ -552,13 +552,13 @@ func (a *AttrReloadCacheWithAPIOpts) Map() map[string][]string { } type AttrCacheIDsWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string CacheIDs []string } type ArgsGetGroupWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string ArgsGetGroup } @@ -582,13 +582,13 @@ type SessionFilter struct { Limit *int Filters []string Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type SessionIDsWithAPIOpts struct { IDs []string Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type ArgExportToFolder struct { @@ -605,10 +605,10 @@ type DPRArgs struct { type ArgCacheReplicateSet struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any CacheID string ItemID string - Value interface{} + Value any GroupIDs []string } @@ -620,7 +620,7 @@ type Compiler interface { type ArgCacheReplicateRemove struct { CacheID string ItemID string - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } diff --git a/utils/birpcint_client.go b/utils/birpcint_client.go index 2762cf608..56dbfa933 100644 --- a/utils/birpcint_client.go +++ b/utils/birpcint_client.go @@ -26,7 +26,7 @@ import ( ) // NewBiJSONrpcClient will create a bidirectional JSON client connection -func NewBiJSONrpcClient(addr string, handlers map[string]interface{}) (*rpc2.Client, error) { +func NewBiJSONrpcClient(addr string, handlers map[string]any) (*rpc2.Client, error) { conn, err := net.Dial(TCP, addr) if err != nil { return nil, err diff --git a/utils/birpcint_client_test.go b/utils/birpcint_client_test.go index aff464761..31b3394b2 100644 --- a/utils/birpcint_client_test.go +++ b/utils/birpcint_client_test.go @@ -28,7 +28,7 @@ import ( func TestNewBiJSONrpcClient(t *testing.T) { //empty check addr := "127.0.0.1:4024" - handlers := map[string]interface{}{} + handlers := map[string]any{} rcv, err := NewBiJSONrpcClient(addr, handlers) if err == nil || rcv != nil { t.Error("Expencting: \"connection refused\", received : nil") @@ -38,7 +38,7 @@ func TestNewBiJSONrpcClient(t *testing.T) { if err != nil { t.Error(err) } - handlers = map[string]interface{}{ + handlers = map[string]any{ "": func(*rpc2.Client, *struct{}, *string) error { return nil }, } diff --git a/utils/cgrevent.go b/utils/cgrevent.go index 54ee0a147..80dd90a8c 100644 --- a/utils/cgrevent.go +++ b/utils/cgrevent.go @@ -27,8 +27,8 @@ import ( type CGREvent struct { Tenant string ID string - Event map[string]interface{} - APIOpts map[string]interface{} + Event map[string]any + APIOpts map[string]any clnb bool //rpcclonable } @@ -88,8 +88,8 @@ func (ev *CGREvent) Clone() (clned *CGREvent) { clned = &CGREvent{ Tenant: ev.Tenant, ID: ev.ID, - Event: make(map[string]interface{}), // a bit forced but safe - APIOpts: make(map[string]interface{}), + Event: make(map[string]any), + APIOpts: make(map[string]any), } for k, v := range ev.Event { clned.Event[k] = v @@ -117,8 +117,8 @@ type CGREventWithRateProfile struct { } type EventsWithOpts struct { - Event map[string]interface{} - Opts map[string]interface{} + Event map[string]any + Opts map[string]any } // CGREventWithEeIDs is the CGREventWithOpts with EventExporterIDs @@ -130,7 +130,7 @@ type CGREventWithEeIDs struct { func (CGREventWithEeIDs) RPCClone() {} // disable rpcClonable from CGREvent // NMAsCGREvent builds a CGREvent considering Time as time.Now() -// and Event as linear map[string]interface{} with joined paths +// and Event as linear map[string]any with joined paths // treats particular case when the value of map is []*NMItem - used in agents/AgentRequest func NMAsCGREvent(nM *OrderedNavigableMap, tnt string, pathSep string, opts MapStorage) (cgrEv *CGREvent) { if nM == nil { @@ -144,7 +144,7 @@ func NMAsCGREvent(nM *OrderedNavigableMap, tnt string, pathSep string, opts MapS cgrEv = &CGREvent{ Tenant: tnt, ID: UUIDSha1Prefix(), - Event: make(map[string]interface{}), + Event: make(map[string]any), APIOpts: opts, } for ; el != nil; el = el.Next() { @@ -168,7 +168,7 @@ func (attr *CGREvent) SetCloneable(rpcCloneable bool) { } // RPCClone implements rpcclient.RPCCloner interface -func (attr *CGREvent) RPCClone() (interface{}, error) { +func (attr *CGREvent) RPCClone() (any, error) { if !attr.clnb { return attr, nil } diff --git a/utils/cgrevent_test.go b/utils/cgrevent_test.go index 12955be98..1932988e6 100644 --- a/utils/cgrevent_test.go +++ b/utils/cgrevent_test.go @@ -33,7 +33,7 @@ func TestCGREventCheckMandatoryFields(t *testing.T) { t.Error(err) } cgrEvent = &CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ Usage: 20 * time.Second, "test1": 1, "test2": 2, @@ -64,7 +64,7 @@ func TestCGREventFielAsString(t *testing.T) { } //normal check cgrEvent = &CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ Usage: 20 * time.Second, "test1": 1, "test2": 2, @@ -86,14 +86,14 @@ func TestLibRoutesUsage(t *testing.T) { se := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ Usage: 20 * time.Second, }, } seErr := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: make(map[string]interface{}), + Event: make(map[string]any), } answ, err := se.FieldAsDuration(Usage) if err != nil { @@ -112,14 +112,14 @@ func TestCGREventFieldAsTime(t *testing.T) { se := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ AnswerTime: time.Now(), }, } seErr := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: make(map[string]interface{}), + Event: make(map[string]any), } answ, err := se.FieldAsTime(AnswerTime, "UTC") if err != nil { @@ -138,7 +138,7 @@ func TestCGREventFieldAsString(t *testing.T) { se := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ "supplierprofile1": "Supplier", "UsageInterval": time.Second, "PddInterval": "1s", @@ -179,14 +179,14 @@ func TestCGREventClone(t *testing.T) { ev := &CGREvent{ Tenant: "cgrates.org", ID: "supplierEvent1", - Event: map[string]interface{}{ + Event: map[string]any{ AnswerTime: time.Now(), "supplierprofile1": "Supplier", "UsageInterval": "54.2", "PddInterval": "1s", "Weight": 20.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey": 12, }, } @@ -198,7 +198,7 @@ func TestCGREventClone(t *testing.T) { func TestCGREventOptAsInt64(t *testing.T) { ev := &CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey": "13", }, } @@ -220,11 +220,11 @@ func TestCGREventOptAsInt64(t *testing.T) { func TestCGREventAsDataProvider(t *testing.T) { ev := &CGREvent{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey1": 13, "testKey2": "testString1", }, - Event: map[string]interface{}{ + Event: map[string]any{ "testKey1": 30, "testKey2": "testString2", }, @@ -318,7 +318,7 @@ func TestNMAsCGREvent(t *testing.T) { }}}); err != nil { t.Error(err) } - eEv := map[string]interface{}{ + eEv := map[string]any{ "FirstLevel2.SecondLevel2.Field2": "Value2", "FirstLevel.SecondLevel.ThirdLevel.Fld1": "Val1", "FirstLevel2.Field3": "Value3", @@ -348,14 +348,14 @@ func TestCGREventRPCClone(t *testing.T) { cgrEv := &CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ AnswerTime: nil, "supplierprofile1": "Supplier", "UsageInterval": "54.2", "PddInterval": "1s", "Weight": 20.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey": 12, }, clnb: false, //first make it non clonable @@ -378,14 +378,14 @@ func TestCGREventRPCClone(t *testing.T) { exp := &CGREvent{ Tenant: "cgrates.org", ID: "testID", - Event: map[string]interface{}{ + Event: map[string]any{ AnswerTime: nil, "supplierprofile1": "Supplier", "UsageInterval": "54.2", "PddInterval": "1s", "Weight": 20.0, }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "testKey": 12, }, clnb: false, @@ -397,7 +397,7 @@ func TestCGREventRPCClone(t *testing.T) { func TestHasField(t *testing.T) { ev := &CGREvent{ - Event: map[string]interface{}{ + Event: map[string]any{ "supplierprofile1": "Supplier", }, } diff --git a/utils/coreutils.go b/utils/coreutils.go index b2133a95a..064609040 100644 --- a/utils/coreutils.go +++ b/utils/coreutils.go @@ -491,17 +491,17 @@ func SliceStringPointer(d []string) *[]string { return &d } -func ToIJSON(v interface{}) string { +func ToIJSON(v any) string { b, _ := json.MarshalIndent(v, "", " ") return string(b) } -func ToJSON(v interface{}) string { +func ToJSON(v any) string { b, _ := json.Marshal(v) return string(b) } -func ToUnescapedJSON(value interface{}) (bts []byte, err error) { +func ToUnescapedJSON(value any) (bts []byte, err error) { buf := &bytes.Buffer{} enc := json.NewEncoder(buf) enc.SetEscapeHTML(false) @@ -705,7 +705,7 @@ type TenantID struct { type TenantIDWithAPIOpts struct { *TenantID - APIOpts map[string]interface{} + APIOpts map[string]any } func (tID *TenantID) TenantID() string { @@ -720,12 +720,12 @@ func (tID *TenantID) Equal(tID2 *TenantID) bool { type TenantWithAPIOpts struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } // CachedRPCResponse is used to cache a RPC response type CachedRPCResponse struct { - Result interface{} + Result any Error error } @@ -759,7 +759,7 @@ func GetUrlRawArguments(dialURL string) (out map[string]string) { } type StringWithAPIOpts struct { - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string Arg string } @@ -780,7 +780,7 @@ func RandomInteger(min, max int) int { type LoadIDsWithAPIOpts struct { LoadIDs map[string]int64 Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } // IsURL returns if the path is an URL @@ -791,11 +791,11 @@ func IsURL(path string) bool { type ArgsFailedPosts struct { Tenant string - Path string // Path of the exported type - Event interface{} // Event that must be written in file - FailedDir string // Directory that contains the file with Failed post - Module string // Type of efs <*ees|*kafkaLogger> - APIOpts map[string]interface{} // Specially for the meta + Path string // Path of the exported type + Event any // Event that must be written in file + FailedDir string // Directory that contains the file with Failed post + Module string // Type of efs <*ees|*kafkaLogger> + APIOpts map[string]any // Specially for the meta } type ArgsReplayFailedPosts struct { @@ -812,7 +812,7 @@ type GetIndexesArg struct { TntCtx string IdxKey string Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type MemoryPrf struct { @@ -820,12 +820,12 @@ type MemoryPrf struct { DirPath string Interval time.Duration NrFiles int - APIOpts map[string]interface{} + APIOpts map[string]any } type PanicMessageArgs struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any Message string } @@ -835,18 +835,18 @@ type SetIndexesArg struct { TntCtx string Indexes map[string]StringSet Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any } type DurationArgs struct { Duration time.Duration - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } type DirectoryArgs struct { DirPath string - APIOpts map[string]interface{} + APIOpts map[string]any Tenant string } @@ -924,8 +924,8 @@ func (b *boolGen) RandomBool() bool { // GenerateDBItemOpts will create the options for DB replication // if they are empty they should be omitted -func GenerateDBItemOpts(apiKey, routeID, cache, rmtHost string) (mp map[string]interface{}) { - mp = make(map[string]interface{}) +func GenerateDBItemOpts(apiKey, routeID, cache, rmtHost string) (mp map[string]any) { + mp = make(map[string]any) if apiKey != EmptyString { mp[OptsAPIKey] = apiKey } @@ -1011,7 +1011,7 @@ func (pgnt Paginator) Clone() Paginator { } // GetPaginateOpts retrieves paginate options from the APIOpts map -func GetPaginateOpts(opts map[string]interface{}) (limit, offset, maxItems int, err error) { +func GetPaginateOpts(opts map[string]any) (limit, offset, maxItems int, err error) { if limitIface, has := opts[PageLimitOpt]; has { if limit, err = IfaceAsInt(limitIface); err != nil { return diff --git a/utils/coreutils_test.go b/utils/coreutils_test.go index 4120095c0..238b56bde 100644 --- a/utils/coreutils_test.go +++ b/utils/coreutils_test.go @@ -1387,7 +1387,7 @@ func TestCoreUtilsGenerateDBItemOpts(t *testing.T) { cache := "testKey3" rmtHost := "testKey4" - expected := map[string]interface{}{ + expected := map[string]any{ OptsAPIKey: apiKey, OptsRouteID: routeID, MetaCache: cache, @@ -1636,7 +1636,7 @@ func TestCoreUtilsPagination(t *testing.T) { } func TestAPITPDataGetPaginateOpts(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ PageLimitOpt: 1.3, PageOffsetOpt: 4, PageMaxItemsOpt: "5", diff --git a/utils/dataconverter.go b/utils/dataconverter.go index d2e62c764..3b92f448a 100644 --- a/utils/dataconverter.go +++ b/utils/dataconverter.go @@ -40,7 +40,7 @@ type DataConverters []DataConverter // ConvertString converts from and to string func (dcs DataConverters) ConvertString(in string) (out string, err error) { - outIface := interface{}(in) + outIface := any(in) for _, cnv := range dcs { if outIface, err = cnv.Convert(outIface); err != nil { return @@ -50,7 +50,7 @@ func (dcs DataConverters) ConvertString(in string) (out string, err error) { } // ConvertString converts from and to string -func (dcs DataConverters) ConvertInterface(in interface{}) (out interface{}, err error) { +func (dcs DataConverters) ConvertInterface(in any) (out any, err error) { out = in for _, cnv := range dcs { if out, err = cnv.Convert(out); err != nil { @@ -62,7 +62,7 @@ func (dcs DataConverters) ConvertInterface(in interface{}) (out interface{}, err // DataConverter represents functions which should convert input into output type DataConverter interface { - Convert(interface{}) (interface{}, error) + Convert(any) (any, error) } // NewDataConverter is a factory of converters @@ -159,8 +159,8 @@ func NewDurationSecondsConverter(params string) (hdlr DataConverter, err error) // DurationSecondsConverter converts duration into seconds encapsulated in float64 type DurationSecondsConverter struct{} -func (mS *DurationSecondsConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (mS *DurationSecondsConverter) Convert(in any) ( + out any, err error) { var inDur time.Duration if inDur, err = IfaceAsDuration(in); err != nil { return nil, err @@ -177,8 +177,8 @@ func NewDurationNanosecondsConverter(params string) ( // DurationNanosecondsConverter converts duration into nanoseconds encapsulated in int64 type DurationNanosecondsConverter struct{} -func (mS *DurationNanosecondsConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (mS *DurationNanosecondsConverter) Convert(in any) ( + out any, err error) { var inDur time.Duration if inDur, err = IfaceAsDuration(in); err != nil { return nil, err @@ -221,7 +221,7 @@ type RoundConverter struct { Method string } -func (rnd *RoundConverter) Convert(in interface{}) (out interface{}, err error) { +func (rnd *RoundConverter) Convert(in any) (out any, err error) { var inFloat float64 if inFloat, err = IfaceAsFloat64(in); err != nil { return @@ -247,7 +247,7 @@ type MultiplyConverter struct { Value float64 } -func (m *MultiplyConverter) Convert(in interface{}) (out interface{}, err error) { +func (m *MultiplyConverter) Convert(in any) (out any, err error) { var inFloat64 float64 if inFloat64, err = IfaceAsFloat64(in); err != nil { return nil, err @@ -273,7 +273,7 @@ type DivideConverter struct { Value float64 } -func (m *DivideConverter) Convert(in interface{}) (out interface{}, err error) { +func (m *DivideConverter) Convert(in any) (out any, err error) { var inFloat64 float64 if inFloat64, err = IfaceAsFloat64(in); err != nil { return nil, err @@ -289,8 +289,8 @@ func NewDurationConverter(params string) (hdlr DataConverter, err error) { // DurationConverter converts duration into seconds encapsulated in float64 type DurationConverter struct{} -func (mS *DurationConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (mS *DurationConverter) Convert(in any) ( + out any, err error) { return IfaceAsDuration(in) } @@ -329,7 +329,7 @@ type PhoneNumberConverter struct { Format phonenumbers.PhoneNumberFormat } -func (lc *PhoneNumberConverter) Convert(in interface{}) (out interface{}, err error) { +func (lc *PhoneNumberConverter) Convert(in any) (out any, err error) { num, err := phonenumbers.Parse(IfaceAsString(in), lc.CountryCode) if err != nil { return nil, err @@ -341,7 +341,7 @@ func (lc *PhoneNumberConverter) Convert(in interface{}) (out interface{}, err er type IP2HexConverter struct{} // Convert implements DataConverter interface -func (*IP2HexConverter) Convert(in interface{}) (out interface{}, err error) { +func (*IP2HexConverter) Convert(in any) (out any, err error) { var ip net.IP switch val := in.(type) { case string: @@ -364,7 +364,7 @@ func (*IP2HexConverter) Convert(in interface{}) (out interface{}, err error) { type SIPURIHostConverter struct{} // Convert implements DataConverter interface -func (*SIPURIHostConverter) Convert(in interface{}) (out interface{}, err error) { +func (*SIPURIHostConverter) Convert(in any) (out any, err error) { return sipingo.HostFrom(IfaceAsString(in)), nil } @@ -372,7 +372,7 @@ func (*SIPURIHostConverter) Convert(in interface{}) (out interface{}, err error) type SIPURIUserConverter struct{} // Convert implements DataConverter interface -func (*SIPURIUserConverter) Convert(in interface{}) (out interface{}, err error) { +func (*SIPURIUserConverter) Convert(in any) (out any, err error) { return sipingo.UserFrom(IfaceAsString(in)), nil } @@ -380,7 +380,7 @@ func (*SIPURIUserConverter) Convert(in interface{}) (out interface{}, err error) type SIPURIMethodConverter struct{} // Convert implements DataConverter interface -func (*SIPURIMethodConverter) Convert(in interface{}) (out interface{}, err error) { +func (*SIPURIMethodConverter) Convert(in any) (out any, err error) { return sipingo.MethodFrom(IfaceAsString(in)), nil } @@ -393,8 +393,8 @@ type TimeStringConverter struct { } // Convert implements DataConverter interface -func (tS *TimeStringConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (tS *TimeStringConverter) Convert(in any) ( + out any, err error) { tm, err := ParseTimeDetectLayout(in.(string), EmptyString) if err != nil { return nil, err @@ -406,7 +406,7 @@ func (tS *TimeStringConverter) Convert(in interface{}) ( type String2HexConverter struct{} // Convert implements DataConverter interface -func (*String2HexConverter) Convert(in interface{}) (o interface{}, err error) { +func (*String2HexConverter) Convert(in any) (o any, err error) { var out string if out = hex.EncodeToString([]byte(IfaceAsString(in))); len(out) == 0 { o = out @@ -420,8 +420,8 @@ func (*String2HexConverter) Convert(in interface{}) (o interface{}, err error) { type UnixTimeConverter struct{} // Convert implements DataConverter interface -func (tS *UnixTimeConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (tS *UnixTimeConverter) Convert(in any) ( + out any, err error) { var tm time.Time if tm, err = ParseTimeDetectLayout(in.(string), EmptyString); err != nil { return @@ -463,8 +463,8 @@ type RandomConverter struct { } // Convert implements DataConverter interface -func (rC *RandomConverter) Convert(in interface{}) ( - out interface{}, err error) { +func (rC *RandomConverter) Convert(in any) ( + out any, err error) { if rC.begin == 0 { if rC.end == 0 { return rand.Int(), nil @@ -484,21 +484,21 @@ func (rC *RandomConverter) Convert(in interface{}) ( type LengthConverter struct{} // Convert implements DataConverter interface -func (LengthConverter) Convert(in interface{}) (out interface{}, err error) { +func (LengthConverter) Convert(in any) (out any, err error) { switch val := in.(type) { case string: if len(val) >= 2 { - var tmp interface{} - var l func() (interface{}, error) + var tmp any + var l func() (any, error) switch { case val[0] == '[' && val[len(val)-1] == ']': - v := []interface{}{} - l = func() (interface{}, error) { return len(v), nil } + v := []any{} + l = func() (any, error) { return len(v), nil } tmp = &v case val[0] == '{' && val[len(val)-1] == '}': - v := map[string]interface{}{} - l = func() (interface{}, error) { return len(v), nil } + v := map[string]any{} + l = func() (any, error) { return len(v), nil } tmp = &v } if tmp != nil { @@ -510,7 +510,7 @@ func (LengthConverter) Convert(in interface{}) (out interface{}, err error) { return len(val), nil case []string: return len(val), nil - case []interface{}: + case []any: return len(val), nil case []bool: return len(val), nil @@ -546,7 +546,7 @@ func (LengthConverter) Convert(in interface{}) (out interface{}, err error) { return len(val), nil case map[string]string: return len(val), nil - case map[string]interface{}: + case map[string]any: return len(val), nil case map[string]bool: return len(val), nil @@ -595,10 +595,10 @@ func (LengthConverter) Convert(in interface{}) (out interface{}, err error) { type SliceConverter struct{} // Convert implements DataConverter interface -func (SliceConverter) Convert(in interface{}) (out interface{}, err error) { +func (SliceConverter) Convert(in any) (out any, err error) { switch val := in.(type) { case []string, - []interface{}, + []any, []bool, []int, []int8, @@ -620,7 +620,7 @@ func (SliceConverter) Convert(in interface{}) (out interface{}, err error) { src := IfaceAsString(in) if strings.HasPrefix(src, IdxStart) && strings.HasSuffix(src, IdxEnd) { // it has a similar structure to a json marshaled slice - var slice []interface{} + var slice []any if err := json.Unmarshal([]byte(src), &slice); err == nil { // no error when unmarshal safe to asume that this is a slice return slice, nil } @@ -632,14 +632,14 @@ func (SliceConverter) Convert(in interface{}) (out interface{}, err error) { type Float64Converter struct{} // Convert implements DataConverter interface -func (Float64Converter) Convert(in interface{}) (interface{}, error) { +func (Float64Converter) Convert(in any) (any, error) { return IfaceAsFloat64(in) } // e164DomainConverter extracts the domain part out of a NAPTR name record type e164DomainConverter struct{} -func (e164DomainConverter) Convert(in interface{}) (interface{}, error) { +func (e164DomainConverter) Convert(in any) (any, error) { name := IfaceAsString(in) if i := strings.Index(name, ".e164."); i != -1 { name = name[i:] @@ -650,7 +650,7 @@ func (e164DomainConverter) Convert(in interface{}) (interface{}, error) { // e164Converter extracts the E164 address out of a NAPTR name record type e164Converter struct{} -func (e164Converter) Convert(in interface{}) (interface{}, error) { +func (e164Converter) Convert(in any) (any, error) { name := IfaceAsString(in) i := strings.Index(name, ".e164.") if i == -1 { @@ -662,7 +662,7 @@ func (e164Converter) Convert(in interface{}) (interface{}, error) { type joinConverter string -func (j joinConverter) Convert(in interface{}) (interface{}, error) { +func (j joinConverter) Convert(in any) (any, error) { slice, err := IfaceAsStringSlice(in) if err != nil { return nil, err @@ -672,14 +672,14 @@ func (j joinConverter) Convert(in interface{}) (interface{}, error) { type splitConverter string -func (j splitConverter) Convert(in interface{}) (interface{}, error) { +func (j splitConverter) Convert(in any) (any, error) { return strings.Split(IfaceAsString(in), string(j)), nil } // JSONConverter converts an object to json string type JSONConverter struct{} -func (jsnC JSONConverter) Convert(in interface{}) (interface{}, error) { +func (jsnC JSONConverter) Convert(in any) (any, error) { b, err := json.Marshal(in) if err != nil { return EmptyString, err diff --git a/utils/dataconverter_test.go b/utils/dataconverter_test.go index 44ad81947..95a9ad053 100644 --- a/utils/dataconverter_test.go +++ b/utils/dataconverter_test.go @@ -682,7 +682,7 @@ func TestHexConvertor(t *testing.T) { type testMockConverter struct{} // Convert function to implement DataConverter -func (*testMockConverter) Convert(interface{}) (interface{}, error) { return nil, ErrNotFound } +func (*testMockConverter) Convert(any) (any, error) { return nil, ErrNotFound } func TestDataConvertersConvertString2(t *testing.T) { hex, err := NewDataConverter(MetaIP2Hex) if err != nil { @@ -1048,7 +1048,7 @@ func TestLenTimeConverter3(t *testing.T) { } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("Expecting: %+v, received: %+v", expected, rcv) } - if rcv, err := cnv.Convert([]interface{}{}); err != nil { + if rcv, err := cnv.Convert([]any{}); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("Expecting: %+v, received: %+v", expected, rcv) @@ -1139,7 +1139,7 @@ func TestLenTimeConverter3(t *testing.T) { } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("Expecting: %+v, received: %+v", expected, rcv) } - if rcv, err := cnv.Convert(map[string]interface{}{}); err != nil { + if rcv, err := cnv.Convert(map[string]any{}); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("Expecting: %+v, received: %+v", expected, rcv) @@ -1283,7 +1283,7 @@ func TestSliceConverter(t *testing.T) { } else if !reflect.DeepEqual(expected, rcv) { t.Errorf("Expecting: %+v, received: %+v", expected, rcv) } - expected2 := []interface{}{"A", "B"} + expected2 := []any{"A", "B"} if rcv, err := cnv.Convert(`["A","B"]`); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected2, rcv) { @@ -1465,10 +1465,10 @@ func TestDataConverterConvertJSONOK(t *testing.T) { obj := &CGREvent{ Tenant: "cgrates.org", ID: "TestCGREv", - Event: map[string]interface{}{ + Event: map[string]any{ AccountField: "1001", }, - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ "opt": "value", }, } diff --git a/utils/datanode.go b/utils/datanode.go index 6b5b469d4..e9c388c57 100644 --- a/utils/datanode.go +++ b/utils/datanode.go @@ -64,7 +64,7 @@ func NewDataNode(path []string) (n *DataNode) { } // NewLeafNode creates a leaf node with given value -func NewLeafNode(val interface{}) *DataNode { +func NewLeafNode(val any) *DataNode { return &DataNode{ Type: NMDataType, Value: &DataLeaf{ @@ -83,7 +83,7 @@ type DataNode struct { // DataLeaf is an item in the DataNode type DataLeaf struct { - Data interface{} // value of the element + Data any // value of the element // the config of the leaf NewBranch bool `json:",omitempty"` AttributeID string `json:",omitempty"` @@ -138,13 +138,13 @@ func (n *DataNode) Field(path []string) (*DataLeaf, error) { // FieldAsInterface will compile the given path // and return the node value at the end of the path // this function is used most probably by filters so expect the path to not be compiled -func (n *DataNode) FieldAsInterface(path []string) (interface{}, error) { +func (n *DataNode) FieldAsInterface(path []string) (any, error) { return n.fieldAsInterface(CompilePathSlice(path)) } // fieldAsInterface return ill the node value at the end of the path // but will not compile the path -func (n *DataNode) fieldAsInterface(path []string) (interface{}, error) { +func (n *DataNode) fieldAsInterface(path []string) (any, error) { switch n.Type { // based on current type return the value case NMDataType: if len(path) != 0 { // only return if the path is empty @@ -185,7 +185,7 @@ func (n *DataNode) fieldAsInterface(path []string) (interface{}, error) { // Set will set the value at de specified path // the path should be in the same format as the path given to Field -func (n *DataNode) Set(path []string, val interface{}) (addedNew bool, err error) { +func (n *DataNode) Set(path []string, val any) (addedNew bool, err error) { if len(path) == 0 { // the path is empty so overwrite curent node data switch v := val.(type) { // cast the value to see if is a supported type for node case map[string]*DataNode: diff --git a/utils/dataprovider.go b/utils/dataprovider.go index e1feca35d..dd4005133 100644 --- a/utils/dataprovider.go +++ b/utils/dataprovider.go @@ -37,7 +37,7 @@ const ( // DataProvider is a data source from multiple formats type DataProvider interface { String() string // printable version of data - FieldAsInterface(fldPath []string) (interface{}, error) + FieldAsInterface(fldPath []string) (any, error) FieldAsString(fldPath []string) (string, error) // remove this } @@ -45,7 +45,7 @@ type DataProvider interface { type RWDataProvider interface { DataProvider - Set(fldPath []string, val interface{}) (err error) + Set(fldPath []string, val any) (err error) Remove(fldPath []string) (err error) } @@ -55,7 +55,7 @@ type NavigableMapper interface { } // DPDynamicInterface returns the value of the field if the path is dynamic -func DPDynamicInterface(dnVal string, dP DataProvider) (interface{}, error) { +func DPDynamicInterface(dnVal string, dP DataProvider) (any, error) { if strings.HasPrefix(dnVal, DynamicDataPrefix) && dnVal != DynamicDataPrefix { dnVal = strings.TrimPrefix(dnVal, DynamicDataPrefix) diff --git a/utils/dataprovider_test.go b/utils/dataprovider_test.go index a6ad99747..a8b67b9bf 100644 --- a/utils/dataprovider_test.go +++ b/utils/dataprovider_test.go @@ -27,9 +27,9 @@ func TestDPDynamicInterface(t *testing.T) { "Field1": "1001", "Field2": "1003", "Field3": MapStorage{"Field4": "Val"}, - "Field5": []interface{}{10, 101}, + "Field5": []any{10, 101}, } - var expected interface{} = "Field5[1]" + var expected any = "Field5[1]" if rply, err := DPDynamicInterface("Field5[1]", nm); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rply) { @@ -50,9 +50,9 @@ func TestDPDynamicString(t *testing.T) { "Field1": "1001", "Field2": "1003", "Field3": MapStorage{"Field4": "Val"}, - "Field5": []interface{}{10, 101}, + "Field5": []any{10, 101}, } - var expected interface{} = "Field5[1]" + var expected any = "Field5[1]" if rply, err := DPDynamicString("Field5[1]", nm); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rply) { diff --git a/utils/eventcharges.go b/utils/eventcharges.go index 9dd3787ae..ce339d0a7 100644 --- a/utils/eventcharges.go +++ b/utils/eventcharges.go @@ -374,6 +374,6 @@ func (ac *AccountCharge) equals(nAc *AccountCharge) (eq bool) { // APIEventCharges is used in APIs, ie: refundCharges type APIEventCharges struct { Tenant string - APIOpts map[string]interface{} + APIOpts map[string]any *EventCharges } diff --git a/utils/eventcharges_test.go b/utils/eventcharges_test.go index 487c3c134..8cc3f50d8 100644 --- a/utils/eventcharges_test.go +++ b/utils/eventcharges_test.go @@ -306,7 +306,7 @@ func TestEventChargesEquals(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1002"}, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, Balances: map[string]*Balance{ @@ -381,7 +381,7 @@ func TestEventChargesEquals(t *testing.T) { }, }, FilterIDs: []string{"*ai:~*req.AnswerTime:2020-10-10T10:00:00Z"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, ThresholdIDs: []string{}, @@ -483,7 +483,7 @@ func TestEventChargesEquals(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1002"}, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, Balances: map[string]*Balance{ @@ -558,7 +558,7 @@ func TestEventChargesEquals(t *testing.T) { }, }, FilterIDs: []string{"*ai:~*req.AnswerTime:2020-10-10T10:00:00Z"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, ThresholdIDs: []string{}, @@ -694,7 +694,7 @@ func TestEventChargerMerge(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1002"}, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, Balances: map[string]*Balance{ @@ -769,7 +769,7 @@ func TestEventChargerMerge(t *testing.T) { }, }, FilterIDs: []string{"*ai:~*req.AnswerTime:2020-10-10T10:00:00Z"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, ThresholdIDs: []string{}, @@ -831,7 +831,7 @@ func TestEventChargerMerge(t *testing.T) { }, }, FilterIDs: []string{"*ai:~*req.AnswerTime:2020-10-10T10:00:00Z"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, ThresholdIDs: []string{}, @@ -974,7 +974,7 @@ func TestEventChargerMerge(t *testing.T) { FilterIDs: []string{"*string:~*req.Account:1002"}, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, Balances: map[string]*Balance{ @@ -1049,7 +1049,7 @@ func TestEventChargerMerge(t *testing.T) { }, }, FilterIDs: []string{"*ai:~*req.AnswerTime:2020-10-10T10:00:00Z"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, ThresholdIDs: []string{}, @@ -1063,7 +1063,7 @@ func TestEventChargerMerge(t *testing.T) { }, }, FilterIDs: []string{"*ai:~*req.AnswerTime:2020-10-10T10:00:00Z"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, ThresholdIDs: []string{}, @@ -1119,7 +1119,7 @@ func TestEventChargesAppendChargeEntry(t *testing.T) { }, }, FilterIDs: []string{"*ai:~*req.AnswerTime:2020-10-10T10:00:00Z"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, ThresholdIDs: []string{}, @@ -1206,7 +1206,7 @@ func TestEventChargesAppendChargeEntryNonEmptyCharges(t *testing.T) { }, }, FilterIDs: []string{"*ai:~*req.AnswerTime:2020-10-10T10:00:00Z"}, - Opts: map[string]interface{}{ + Opts: map[string]any{ MetaSubsys: MetaSessionS, }, ThresholdIDs: []string{}, @@ -1498,7 +1498,7 @@ func TestECEventChargesClone(t *testing.T) { Weight: 20, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ "optName": "optValue", }, Balances: map[string]*Balance{ @@ -1526,7 +1526,7 @@ func TestECEventChargesClone(t *testing.T) { Factor: NewDecimalFromFloat64(123.4), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ "optName": "optValue", }, CostIncrements: []*CostIncrement{ @@ -1564,7 +1564,7 @@ func TestECEventChargesClone(t *testing.T) { Factor: NewDecimalFromFloat64(123.4), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ "optName": "optValue", }, CostIncrements: []*CostIncrement{ @@ -1593,7 +1593,7 @@ func TestECEventChargesClone(t *testing.T) { Weight: 25, }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ "optName": "optValue", }, Balances: map[string]*Balance{ @@ -1621,7 +1621,7 @@ func TestECEventChargesClone(t *testing.T) { Factor: NewDecimalFromFloat64(123.4), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ "optName": "optValue", }, CostIncrements: []*CostIncrement{ @@ -1659,7 +1659,7 @@ func TestECEventChargesClone(t *testing.T) { Factor: NewDecimalFromFloat64(123.4), }, }, - Opts: map[string]interface{}{ + Opts: map[string]any{ "optName": "optValue", }, CostIncrements: []*CostIncrement{ diff --git a/utils/failover_export.go b/utils/failover_export.go index d2c278600..b64ee3378 100644 --- a/utils/failover_export.go +++ b/utils/failover_export.go @@ -30,7 +30,7 @@ func SetFailedPostCacheTTL(ttl time.Duration) { failedPostCache = ltcache.NewCache(-1, ttl, true, writeFailedPosts) } -func writeFailedPosts(_ string, value interface{}) { +func writeFailedPosts(_ string, value any) { expEv, canConvert := value.(*FailedExportersLogg) if !canConvert { return @@ -67,15 +67,15 @@ func WriteToFile(filePath string, expEv FailoverPoster) (err error) { type FailedExportersLogg struct { lk sync.RWMutex Path string - Opts map[string]interface{} // THIS WILL BE META + Opts map[string]any // THIS WILL BE META Format string - Events []interface{} + Events []any FailedPostsDir string Module string } func AddFailedMessage(failedPostsDir, expPath, format, - module string, ev interface{}, opts map[string]interface{}) { + module string, ev any, opts map[string]any) { key := ConcatenatedKey(failedPostsDir, expPath, format, module) switch module { case EEs: @@ -122,7 +122,7 @@ func AddFailedMessage(failedPostsDir, expPath, format, } // AddEvent adds one event -func (expEv *FailedExportersLogg) AddEvent(ev interface{}) { +func (expEv *FailedExportersLogg) AddEvent(ev any) { expEv.lk.Lock() expEv.Events = append(expEv.Events, ev) expEv.lk.Unlock() diff --git a/utils/libdynamics.go b/utils/libdynamics.go index f12f321bb..93ba74b5a 100644 --- a/utils/libdynamics.go +++ b/utils/libdynamics.go @@ -68,7 +68,7 @@ type DynamicDecimalBigOpt struct { type DynamicInterfaceOpt struct { FilterIDs []string `json:",omitempty"` Tenant string - Value interface{} + Value any } type DynamicIntPointerOpt struct { diff --git a/utils/librates.go b/utils/librates.go index ac63fc098..2da9c623b 100644 --- a/utils/librates.go +++ b/utils/librates.go @@ -199,7 +199,7 @@ func (rt *Rate) RunTimes(sTime, eTime time.Time, verbosity int) (aTimes [][]time // RateProfileWithAPIOpts is used in replicatorV1 for dispatcher type RateProfileWithAPIOpts struct { *RateProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // RateSInterval is used by RateS to integrate Rate info for one charging interval @@ -544,7 +544,7 @@ func (rIcr *RateSIncrement) Cost(rts map[string]*IntervalRate) (cost *decimal.Bi type APIRateProfile struct { *RateProfile - APIOpts map[string]interface{} + APIOpts map[string]any } // AsRate converts APIRate to Rate @@ -613,10 +613,10 @@ type RemoveRPrfRates struct { Tenant string ID string RateIDs []string - APIOpts map[string]interface{} + APIOpts map[string]any } -func (rp *RateProfile) Set(path []string, val interface{}, newBranch bool, _ string) (err error) { +func (rp *RateProfile) Set(path []string, val any, newBranch bool, _ string) (err error) { if len(path) == 0 { return ErrWrongPath } @@ -673,7 +673,7 @@ func (rp *RateProfile) Set(path []string, val interface{}, newBranch bool, _ str } -func (rt *Rate) Set(path []string, val interface{}, newBranch bool) (err error) { +func (rt *Rate) Set(path []string, val any, newBranch bool) (err error) { switch len(path) { default: return ErrWrongPath @@ -731,7 +731,7 @@ func (rt *Rate) Set(path []string, val interface{}, newBranch bool) (err error) return } -func (rp *RateProfile) Merge(v2 interface{}) { +func (rp *RateProfile) Merge(v2 any) { vi := v2.(*RateProfile) if len(vi.Tenant) != 0 { rp.Tenant = vi.Tenant @@ -809,13 +809,13 @@ func (ivalRate *IntervalRate) Merge(v2 *IntervalRate) { func (rp *RateProfile) String() string { return ToJSON(rp) } func (rp *RateProfile) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = rp.FieldAsInterface(fldPath); err != nil { return } return IfaceAsString(val), nil } -func (rp *RateProfile) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (rp *RateProfile) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) == 1 { switch fldPath[0] { default: @@ -880,13 +880,13 @@ func (rp *RateProfile) FieldAsInterface(fldPath []string) (_ interface{}, err er func (rt *Rate) String() string { return ToJSON(rt) } func (rt *Rate) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = rt.FieldAsInterface(fldPath); err != nil { return } return IfaceAsString(val), nil } -func (rt *Rate) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (rt *Rate) FieldAsInterface(fldPath []string) (_ any, err error) { switch len(fldPath) { default: return nil, ErrNotFound @@ -933,13 +933,13 @@ func (rt *Rate) FieldAsInterface(fldPath []string) (_ interface{}, err error) { func (iR *IntervalRate) String() string { return ToJSON(iR) } func (iR *IntervalRate) FieldAsString(fldPath []string) (_ string, err error) { - var val interface{} + var val any if val, err = iR.FieldAsInterface(fldPath); err != nil { return } return IfaceAsString(val), nil } -func (iR *IntervalRate) FieldAsInterface(fldPath []string) (_ interface{}, err error) { +func (iR *IntervalRate) FieldAsInterface(fldPath []string) (_ any, err error) { if len(fldPath) != 1 { return nil, ErrNotFound } @@ -960,8 +960,8 @@ func (iR *IntervalRate) FieldAsInterface(fldPath []string) (_ interface{}, err e } // AsDataDBMap is used to is a convert method in order to properly set trough a hasmap in redis server our rate profile -func (rp *RateProfile) AsDataDBMap(ms Marshaler) (mp map[string]interface{}, err error) { - mp = map[string]interface{}{ +func (rp *RateProfile) AsDataDBMap(ms Marshaler) (mp map[string]any, err error) { + mp = map[string]any{ MaxCostStrategy: rp.MaxCostStrategy, } if len(rp.FilterIDs) != 0 { @@ -995,7 +995,7 @@ func (rp *RateProfile) AsDataDBMap(ms Marshaler) (mp map[string]interface{}, err } // NewRateProfileFromMapDataDBMap will convert a RateProfile map into a RatePRofile struct. This is used when we get the map from redis database -func NewRateProfileFromMapDataDBMap(tnt, id string, mapRP map[string]interface{}, ms Marshaler) (rp *RateProfile, err error) { +func NewRateProfileFromMapDataDBMap(tnt, id string, mapRP map[string]any, ms Marshaler) (rp *RateProfile, err error) { rp = &RateProfile{ ID: id, Tenant: tnt, diff --git a/utils/librates_test.go b/utils/librates_test.go index 778df0b4f..de7fd4b07 100644 --- a/utils/librates_test.go +++ b/utils/librates_test.go @@ -2408,11 +2408,11 @@ func TestMergeRate(t *testing.T) { type MockMarshaler struct{} -func (MockMarshaler) Marshal(interface{}) ([]byte, error) { +func (MockMarshaler) Marshal(any) ([]byte, error) { return nil, ErrNotImplemented } -func (MockMarshaler) Unmarshal([]byte, interface{}) error { +func (MockMarshaler) Unmarshal([]byte, any) error { return ErrNotImplemented } @@ -2448,7 +2448,7 @@ func TestAsDataDBMap(t *testing.T) { } func TestNewRateProfileFromMapDataDBMap(t *testing.T) { - mapRP := map[string]interface{}{ + mapRP := map[string]any{ "FilterIDs": "fltrID1", "Weights": "fltrID1;20", "MinCost": "2", @@ -2459,7 +2459,7 @@ func TestNewRateProfileFromMapDataDBMap(t *testing.T) { t.Error(rcv, err) } - mapRP = map[string]interface{}{ + mapRP = map[string]any{ "FilterIDs": "fltrID1", "Weights": "wrong", } @@ -2467,7 +2467,7 @@ func TestNewRateProfileFromMapDataDBMap(t *testing.T) { if _, err := NewRateProfileFromMapDataDBMap("cgrates.org", "ExID", mapRP, JSONMarshaler{}); err == nil || err.Error() != expErr { t.Errorf("Expected error <%v>, received <%v>", expErr, err) } - mapRP = map[string]interface{}{ + mapRP = map[string]any{ "FilterIDs": "fltrID1", "MinCost": "wrong", } @@ -2475,7 +2475,7 @@ func TestNewRateProfileFromMapDataDBMap(t *testing.T) { if _, err := NewRateProfileFromMapDataDBMap("cgrates.org", "ExID", mapRP, JSONMarshaler{}); err == nil || err.Error() != expErr { t.Errorf("Expected error <%v>, received <%v>", expErr, err) } - mapRP = map[string]interface{}{ + mapRP = map[string]any{ "FilterIDs": "fltrID1", "MaxCost": "wrong", } @@ -2483,7 +2483,7 @@ func TestNewRateProfileFromMapDataDBMap(t *testing.T) { if _, err := NewRateProfileFromMapDataDBMap("cgrates.org", "ExID", mapRP, JSONMarshaler{}); err == nil || err.Error() != expErr { t.Errorf("Expected error <%v>, received <%v>", expErr, err) } - mapRP = map[string]interface{}{ + mapRP = map[string]any{ "FilterIDs": "fltrID1", "Rates:rat1": "{\"ID\":\"rat1\",\"FilterIDs\":null,\"ActivationTimes\":\"\",\"Weights\":null,\"Blocker\":false,\"IntervalRates\":null}\",\"Rates:rat2\":\"{\"ID\":\"rat2\",\"FilterIDs\":null,\"ActivationTimes\":\"\",\"Weights\":null,\"Blocker\":false,\"IntervalRates\":null}\",\"Weights\":\";10\"}", } diff --git a/utils/mapstorage.go b/utils/mapstorage.go index 126a4fe89..63640b40e 100644 --- a/utils/mapstorage.go +++ b/utils/mapstorage.go @@ -31,7 +31,7 @@ import ( type DataStorage interface { DataProvider - Set(fldPath []string, val interface{}) error + Set(fldPath []string, val any) error Remove(fldPath []string) error GetKeys(nested bool, nesteedLimit int, prefix string) []string } @@ -52,13 +52,13 @@ func NewMapFromCSV(str string) (MapStorage, error) { } // MapStorage is the basic dataStorage -type MapStorage map[string]interface{} +type MapStorage map[string]any // String returns the map as json string func (ms MapStorage) String() string { return ToJSON(ms) } // FieldAsInterface returns the value from the path -func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ms MapStorage) FieldAsInterface(fldPath []string) (val any, err error) { if len(fldPath) == 0 { err = errors.New("empty field path") return @@ -84,7 +84,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er } val = rv[indx] return - case []interface{}: + case []any: var indx int if indx, err = strconv.Atoi(*sindx); err != nil { return @@ -96,7 +96,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er return case DataProvider: return rv.FieldAsInterface(append([]string{*sindx}, fldPath[1:]...)) - case map[string]interface{}: + case map[string]any: return MapStorage(rv).FieldAsInterface(append([]string{*sindx}, fldPath[1:]...)) default: } @@ -122,7 +122,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er switch dp := ms[fldPath[0]].(type) { case DataProvider: return dp.FieldAsInterface(fldPath[1:]) - case map[string]interface{}: + case map[string]any: return MapStorage(dp).FieldAsInterface(fldPath[1:]) default: err = ErrWrongPath @@ -132,7 +132,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er switch dp := ms[opath].(type) { case DataProvider: return dp.FieldAsInterface(append([]string{*sindx}, fldPath[1:]...)) - case map[string]interface{}: + case map[string]any: return MapStorage(dp).FieldAsInterface(append([]string{*sindx}, fldPath[1:]...)) case []DataProvider: var indx int @@ -152,7 +152,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er return nil, ErrNotFound } return dp[indx].FieldAsInterface(fldPath[1:]) - case []map[string]interface{}: + case []map[string]any: var indx int if indx, err = strconv.Atoi(*sindx); err != nil { return @@ -162,7 +162,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er } return MapStorage(dp[indx]).FieldAsInterface(fldPath[1:]) - case []interface{}: + case []any: var indx int if indx, err = strconv.Atoi(*sindx); err != nil { return @@ -173,7 +173,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er switch ds := dp[indx].(type) { case DataProvider: return ds.FieldAsInterface(fldPath[1:]) - case map[string]interface{}: + case map[string]any: return MapStorage(ds).FieldAsInterface(fldPath[1:]) default: } @@ -186,7 +186,7 @@ func (ms MapStorage) FieldAsInterface(fldPath []string) (val interface{}, err er // FieldAsString returns the value from path as string func (ms MapStorage) FieldAsString(fldPath []string) (str string, err error) { - var val interface{} + var val any if val, err = ms.FieldAsInterface(fldPath); err != nil { return } @@ -194,7 +194,7 @@ func (ms MapStorage) FieldAsString(fldPath []string) (str string, err error) { } // Set sets the value at the given path -func (ms MapStorage) Set(fldPath []string, val interface{}) (err error) { +func (ms MapStorage) Set(fldPath []string, val any) (err error) { if len(fldPath) == 0 { return ErrWrongPath } @@ -211,7 +211,7 @@ func (ms MapStorage) Set(fldPath []string, val interface{}) (err error) { switch dp := ms[fldPath[0]].(type) { case DataStorage: return dp.Set(fldPath[1:], val) - case map[string]interface{}: + case map[string]any: return MapStorage(dp).Set(fldPath[1:], val) default: return ErrWrongPath @@ -249,7 +249,7 @@ func (ms MapStorage) GetKeys(nested bool, nestedLimit int, prefix string) (keys switch rv := v.(type) { // and for performance we only take in consideration a limited set of types for nested false case DataStorage: keys = append(keys, rv.GetKeys(nested, nestedLimit-1, prefix+k)...) - case map[string]interface{}: + case map[string]any: keys = append(keys, MapStorage(rv).GetKeys(nested, nestedLimit-1, prefix+k)...) case nil, int, int32, int64, uint32, uint64, bool, float32, float64, []uint8, time.Duration, time.Time, string: keys = append(keys, prefix+k) @@ -264,7 +264,7 @@ func (ms MapStorage) GetKeys(nested bool, nestedLimit int, prefix string) (keys switch rv := v.(type) { case DataStorage: keys = append(keys, rv.GetKeys(nested, nestedLimit, prefix+k)...) - case map[string]interface{}: + case map[string]any: keys = append(keys, MapStorage(rv).GetKeys(nested, nestedLimit, prefix+k)...) case []MapStorage: for i, dp := range rv { @@ -278,13 +278,13 @@ func (ms MapStorage) GetKeys(nested bool, nestedLimit int, prefix string) (keys // keys = append(keys, pref) keys = append(keys, dp.GetKeys(nested, nestedLimit, pref)...) } - case []map[string]interface{}: + case []map[string]any: for i, dp := range rv { pref := prefix + k + fmt.Sprintf("[%v]", i) // keys = append(keys, pref) keys = append(keys, MapStorage(dp).GetKeys(nested, nestedLimit, pref)...) } - case []interface{}: + case []any: for i := range rv { keys = append(keys, prefix+k+fmt.Sprintf("[%v]", i)) } @@ -308,7 +308,7 @@ func (ms MapStorage) Remove(fldPath []string) (err error) { if len(fldPath) == 0 { return ErrWrongPath } - var val interface{} + var val any var has bool if val, has = ms[fldPath[0]]; !has { return // ignore (already removed) @@ -321,7 +321,7 @@ func (ms MapStorage) Remove(fldPath []string) (err error) { switch dp := val.(type) { case DataStorage: return dp.Remove(fldPath[1:]) - case map[string]interface{}: + case map[string]any: return MapStorage(dp).Remove(fldPath[1:]) default: return ErrWrongPath diff --git a/utils/mapstorage_test.go b/utils/mapstorage_test.go index 63fe49009..c20c9805b 100644 --- a/utils/mapstorage_test.go +++ b/utils/mapstorage_test.go @@ -29,9 +29,9 @@ import ( func TestNavMapGetFieldAsString(t *testing.T) { nM := MapStorage{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ + "FirstLevel": map[string]any{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ "Fld1": "Val1", }, }, @@ -120,14 +120,14 @@ func TestNavMapAdd2(t *testing.T) { t.Errorf("Expected error: %s received: %v", ErrWrongPath, err) } - nM = MapStorage{"Field1": map[string]interface{}{}} + nM = MapStorage{"Field1": map[string]any{}} path = []string{"Field1", "SecondLevel2", "Field2"} data = 123 if err := nM.Set(path, data); err != nil { t.Error(err) } - eNavMap = MapStorage{"Field1": map[string]interface{}{ + eNavMap = MapStorage{"Field1": map[string]any{ "SecondLevel2": MapStorage{ "Field2": 123, }, @@ -139,15 +139,15 @@ func TestNavMapAdd2(t *testing.T) { func TestCloneMapStorage(t *testing.T) { expected := MapStorage{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ + "FirstLevel": map[string]any{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ "Fld1": "Val1", }, }, }, - "FistLever2": map[string]interface{}{ - "SecondLevel2": map[string]interface{}{ + "FistLever2": map[string]any{ + "SecondLevel2": map[string]any{ "Field2": "Value2", }, "Field3": "Value3", @@ -160,16 +160,16 @@ func TestCloneMapStorage(t *testing.T) { } func TestNavMapString(t *testing.T) { - myData := map[string]interface{}{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ + myData := map[string]any{ + "FirstLevel": map[string]any{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ "Fld1": "Val1", }, }, }, - "FistLever2": map[string]interface{}{ - "SecondLevel2": map[string]interface{}{ + "FistLever2": map[string]any{ + "SecondLevel2": map[string]any{ "Field2": "Value2", }, "Field3": "Value3", @@ -185,23 +185,23 @@ func TestNavMapString(t *testing.T) { func TestNavMapGetField(t *testing.T) { nM := MapStorage{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ - "Fld1": []interface{}{"Val1", "Val2"}, + "FirstLevel": map[string]any{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ + "Fld1": []any{"Val1", "Val2"}, }, }, }, - "FirstLevel2": map[string]interface{}{ - "SecondLevel2": []map[string]interface{}{ + "FirstLevel2": map[string]any{ + "SecondLevel2": []map[string]any{ { - "ThirdLevel2": map[string]interface{}{ + "ThirdLevel2": map[string]any{ "Fld1": "Val1", }, }, { "Count": 10, - "ThirdLevel2": map[string]interface{}{ + "ThirdLevel2": map[string]any{ "Fld2": []string{"Val1", "Val2", "Val3"}, }, }, @@ -217,7 +217,7 @@ func TestNavMapGetField(t *testing.T) { } else if !reflect.DeepEqual(eFld, fld) { t.Errorf("expecting: %s, received: %s", ToIJSON(eFld), ToIJSON(fld)) } - eFld2 := map[string]interface{}{"Fld1": "Val1"} + eFld2 := map[string]any{"Fld1": "Val1"} pth = []string{"FirstLevel2", "SecondLevel2[0]", "ThirdLevel2"} if fld, err := nM.FieldAsInterface(pth); err != nil { t.Error(err) @@ -243,16 +243,16 @@ func TestNavMapGetField(t *testing.T) { func TestNavMapFieldAsInterface(t *testing.T) { nM := MapStorage{ - "FirstLevel": map[string]interface{}{ - "SecondLevel": []map[string]interface{}{ + "FirstLevel": map[string]any{ + "SecondLevel": []map[string]any{ { - "ThirdLevel": map[string]interface{}{ + "ThirdLevel": map[string]any{ "Fld1": "Val1", }, }, { "Count": 10, - "ThirdLevel2": map[string]interface{}{ + "ThirdLevel2": map[string]any{ "Fld2": []string{"Val1", "Val2", "Val3"}, }, }, @@ -263,7 +263,7 @@ func TestNavMapFieldAsInterface(t *testing.T) { path := []string{"FirstLevel", "SecondLevel[0]", "Count"} expErr := ErrNotFound - var eVal interface{} = nil + var eVal any = nil if _, err := nM.FieldAsInterface(path); err != nil && err.Error() != expErr.Error() { t.Errorf("Expected error: %s, received error: %v", expErr.Error(), err) } @@ -302,14 +302,14 @@ func TestNavMapFieldAsInterface(t *testing.T) { func TestNavMapGetKeys(t *testing.T) { navMp := MapStorage{ "FirstLevel": MapStorage{ - "SecondLevel": map[string]interface{}{ - "ThirdLevel": map[string]interface{}{ + "SecondLevel": map[string]any{ + "ThirdLevel": map[string]any{ "Fld1": 123.123, }, }, }, - "FistLever2": map[string]interface{}{ - "SecondLevel2": map[string]interface{}{ + "FistLever2": map[string]any{ + "SecondLevel2": map[string]any{ "Field2": 123, }, "Field3": "Value3", @@ -376,12 +376,12 @@ func TestNavMapFieldAsInterface2(t *testing.T) { "AnotherFirstLevel": "ValAnotherFirstLevel", "Slice": &[]struct{}{{}}, "SliceString": []string{"1", "2"}, - "SliceInterface": []interface{}{1, "2"}, + "SliceInterface": []any{1, "2"}, } path := []string{"Slice[1]"} expErr := ErrNotFound - var eVal interface{} = nil + var eVal any = nil if _, err := nM.FieldAsInterface(path); err != nil && err.Error() != expErr.Error() { t.Errorf("Expected error: %s, received error: %v", expErr.Error(), err) } @@ -442,7 +442,7 @@ func TestNavMapGetField2(t *testing.T) { "FirstLevel": MapStorage{ "SecondLevel": MapStorage{ "ThirdLevel": MapStorage{ - "Fld1": []interface{}{"Val1", "Val2"}, + "Fld1": []any{"Val1", "Val2"}, }, }, }, @@ -510,7 +510,7 @@ func TestNavMapRemove(t *testing.T) { t.Errorf("Expected error: %s received: %v", ErrWrongPath, err) } nM = MapStorage{ - "Field1": map[string]interface{}{ + "Field1": map[string]any{ "SecondLevel2": 1, }, } @@ -519,7 +519,7 @@ func TestNavMapRemove(t *testing.T) { if err := nM.Remove(path); err != nil { t.Error(err) } - eNavMap := MapStorage{"Field1": map[string]interface{}{}} + eNavMap := MapStorage{"Field1": map[string]any{}} if !reflect.DeepEqual(nM, eNavMap) { t.Errorf("Expecting: %+v, received: %+v", eNavMap, nM) } @@ -549,8 +549,8 @@ func TestNavMapFieldAsInterface3(t *testing.T) { "AnotherFirstLevel": "ValAnotherFirstLevel", "Slice": []MapStorage{{}}, "Slice2": []DataProvider{MapStorage{}}, - "SliceString": []map[string]interface{}{{}}, - "SliceInterface": []interface{}{MapStorage{"A": 0}, map[string]interface{}{"B": 1}}, + "SliceString": []map[string]any{{}}, + "SliceInterface": []any{MapStorage{"A": 0}, map[string]any{"B": 1}}, } path := []string{"Slice[1]", "A"} @@ -595,7 +595,7 @@ func TestNavMapFieldAsInterface3(t *testing.T) { path = []string{"SliceInterface[0]", "A"} expErr = fmt.Errorf(`strconv.Atoi: parsing "nan": invalid syntax`) - var eVal interface{} = 0 + var eVal any = 0 if rplyVal, err := nM.FieldAsInterface(path); err != nil && err.Error() != expErr.Error() { t.Errorf("Expected error: %s, received error: %v", expErr.Error(), err) } else if !reflect.DeepEqual(eVal, rplyVal) { @@ -633,14 +633,14 @@ func TestNavMapFieldAsInterface3(t *testing.T) { func TestNavMapGetKeys2(t *testing.T) { navMp := MapStorage{ "FirstLevel": DataStorage(MapStorage{ - "SecondLevel": map[string]interface{}{ + "SecondLevel": map[string]any{ "ThirdLevel": MapStorage{ "Fld1": 123.123, }, }, }), "FistLever2": MapStorage{ - "SecondLevel2": map[string]interface{}{ + "SecondLevel2": map[string]any{ "Field2": 123, }, "Field3": "Value3", @@ -654,10 +654,10 @@ func TestNavMapGetKeys2(t *testing.T) { Item2: 10, }, "Field6": []string{"1", "2"}, - "Field7": []interface{}{"1", "2"}, + "Field7": []any{"1", "2"}, "Field8": []DataStorage{MapStorage{"A": 1}}, "Field9": []MapStorage{{"A": 1}}, - "Field10": []map[string]interface{}{{"A": 1}}, + "Field10": []map[string]any{{"A": 1}}, } expKeys := []string{ "FirstLevel.SecondLevel.ThirdLevel.Fld1", @@ -695,7 +695,7 @@ func TestNavMapGetFieldAsMapStringInterfaceError(t *testing.T) { "AnotherFirstLevel": "ValAnotherFirstLevel", "Slice": &[]struct{}{{}}, "SliceString": []string{"1", "2"}, - "SliceInterface": map[string]interface{}{}, + "SliceInterface": map[string]any{}, } path := []string{"SliceInterface[4]"} _, err := nM.FieldAsInterface(path) @@ -707,7 +707,7 @@ func TestNavMapGetFieldAsMapStringInterfaceError(t *testing.T) { func TestNavMapGetFieldAsMapStringInterface(t *testing.T) { nM := MapStorage{ - "FIELD": map[string]interface{}{ + "FIELD": map[string]any{ "Field1": "Val1", "Field2": "Val2"}, } diff --git a/utils/marshaler.go b/utils/marshaler.go index d4f2cd0c0..b876bed3c 100644 --- a/utils/marshaler.go +++ b/utils/marshaler.go @@ -43,40 +43,40 @@ func NewMarshaler(mrshlerStr string) (ms Marshaler, err error) { } type Marshaler interface { - Marshal(v interface{}) ([]byte, error) - Unmarshal(data []byte, v interface{}) error + Marshal(v any) ([]byte, error) + Unmarshal(data []byte, v any) error } type JSONMarshaler struct{} -func (JSONMarshaler) Marshal(v interface{}) ([]byte, error) { +func (JSONMarshaler) Marshal(v any) ([]byte, error) { return json.Marshal(v) } -func (JSONMarshaler) Unmarshal(data []byte, v interface{}) error { +func (JSONMarshaler) Unmarshal(data []byte, v any) error { return json.Unmarshal(data, v) } type BSONMarshaler struct{} -func (BSONMarshaler) Marshal(v interface{}) ([]byte, error) { +func (BSONMarshaler) Marshal(v any) ([]byte, error) { return bson.Marshal(v) } -func (BSONMarshaler) Unmarshal(data []byte, v interface{}) error { +func (BSONMarshaler) Unmarshal(data []byte, v any) error { return bson.Unmarshal(data, v) } type JSONBufMarshaler struct{} -func (JSONBufMarshaler) Marshal(v interface{}) (data []byte, err error) { +func (JSONBufMarshaler) Marshal(v any) (data []byte, err error) { buf := new(bytes.Buffer) err = json.NewEncoder(buf).Encode(v) data = buf.Bytes() return } -func (JSONBufMarshaler) Unmarshal(data []byte, v interface{}) error { +func (JSONBufMarshaler) Unmarshal(data []byte, v any) error { return json.NewDecoder(bytes.NewBuffer(data)).Decode(v) } @@ -87,18 +87,18 @@ type CodecMsgpackMarshaler struct { func NewCodecMsgpackMarshaler() *CodecMsgpackMarshaler { cmm := &CodecMsgpackMarshaler{new(codec.MsgpackHandle)} mh := cmm.mh - mh.MapType = reflect.TypeOf(map[string]interface{}(nil)) + mh.MapType = reflect.TypeOf(map[string]any(nil)) mh.RawToString = true return cmm } -func (cmm *CodecMsgpackMarshaler) Marshal(v interface{}) (b []byte, err error) { +func (cmm *CodecMsgpackMarshaler) Marshal(v any) (b []byte, err error) { enc := codec.NewEncoderBytes(&b, cmm.mh) err = enc.Encode(v) return } -func (cmm *CodecMsgpackMarshaler) Unmarshal(data []byte, v interface{}) error { +func (cmm *CodecMsgpackMarshaler) Unmarshal(data []byte, v any) error { dec := codec.NewDecoderBytes(data, cmm.mh) return dec.Decode(&v) } @@ -111,26 +111,26 @@ func NewBincMarshaler() *BincMarshaler { return &BincMarshaler{new(codec.BincHandle)} } -func (bm *BincMarshaler) Marshal(v interface{}) (b []byte, err error) { +func (bm *BincMarshaler) Marshal(v any) (b []byte, err error) { enc := codec.NewEncoderBytes(&b, bm.bh) err = enc.Encode(v) return } -func (bm *BincMarshaler) Unmarshal(data []byte, v interface{}) error { +func (bm *BincMarshaler) Unmarshal(data []byte, v any) error { dec := codec.NewDecoderBytes(data, bm.bh) return dec.Decode(&v) } type GOBMarshaler struct{} -func (GOBMarshaler) Marshal(v interface{}) (data []byte, err error) { +func (GOBMarshaler) Marshal(v any) (data []byte, err error) { buf := new(bytes.Buffer) err = gob.NewEncoder(buf).Encode(v) data = buf.Bytes() return } -func (GOBMarshaler) Unmarshal(data []byte, v interface{}) error { +func (GOBMarshaler) Unmarshal(data []byte, v any) error { return gob.NewDecoder(bytes.NewBuffer(data)).Decode(v) } diff --git a/utils/net.go b/utils/net.go index 3fc8fb946..452556907 100644 --- a/utils/net.go +++ b/utils/net.go @@ -29,11 +29,11 @@ import ( ) type Server interface { - RpcRegister(rcvr interface{}) - RpcRegisterName(name string, rcvr interface{}) + RpcRegister(rcvr any) + RpcRegisterName(name string, rcvr any) RegisterHTTPFunc(pattern string, handler func(http.ResponseWriter, *http.Request)) RegisterHttpHandler(pattern string, handler http.Handler) - BiRPCRegisterName(method string, handlerFunc interface{}) + BiRPCRegisterName(method string, handlerFunc any) } func LocalAddr() *NetAddr { @@ -126,7 +126,7 @@ type serverRequest struct { Id *json.RawMessage `json:"id"` } -func WriteServerResponse(w io.Writer, id *json.RawMessage, result, err interface{}) error { +func WriteServerResponse(w io.Writer, id *json.RawMessage, result, err any) error { return json.NewEncoder(w).Encode( serverResponse{ Id: id, @@ -137,6 +137,6 @@ func WriteServerResponse(w io.Writer, id *json.RawMessage, result, err interface type serverResponse struct { Id *json.RawMessage `json:"id"` - Result interface{} `json:"result"` - Error interface{} `json:"error"` + Result any `json:"result"` + Error any `json:"error"` } diff --git a/utils/net_test.go b/utils/net_test.go index 4d875744e..98639a9bf 100644 --- a/utils/net_test.go +++ b/utils/net_test.go @@ -98,8 +98,8 @@ func TestDecodeServerRequest(t *testing.T) { func TestWriteServerResponse(t *testing.T) { writer := bytes.NewBufferString(EmptyString) var id *json.RawMessage - var result interface{} = "OK" - var errMessage interface{} + var result any = "OK" + var errMessage any slsByte := []byte("10") id = (*json.RawMessage)(&slsByte) diff --git a/utils/orderednavigablemap.go b/utils/orderednavigablemap.go index dac53626d..1c7a022b8 100644 --- a/utils/orderednavigablemap.go +++ b/utils/orderednavigablemap.go @@ -50,7 +50,7 @@ func (onm *OrderedNavigableMap) GetFirstElement() *PathItemElement { } // Interface returns navigble map that's inside -func (onm *OrderedNavigableMap) Interface() interface{} { +func (onm *OrderedNavigableMap) Interface() any { return onm.nm } @@ -96,7 +96,7 @@ func (onm *OrderedNavigableMap) Remove(fullPath *FullPath) (err error) { // Set sets the value at the given path // this used with full path and the processed path to not calculate them for every set // used in tests -func (onm *OrderedNavigableMap) Set(fullPath *FullPath, val interface{}) (err error) { +func (onm *OrderedNavigableMap) Set(fullPath *FullPath, val any) (err error) { if fullPath == nil || len(fullPath.PathSlice) == 0 { return ErrWrongPath } @@ -144,7 +144,7 @@ func (onm *OrderedNavigableMap) SetAsSlice(fullPath *FullPath, vals []*DataNode) // FieldAsString returns the value from path as string func (onm *OrderedNavigableMap) FieldAsString(fldPath []string) (str string, err error) { - var val interface{} + var val any if val, err = onm.FieldAsInterface(fldPath); err != nil { return } @@ -152,7 +152,7 @@ func (onm *OrderedNavigableMap) FieldAsString(fldPath []string) (str string, err } // FieldAsInterface returns the interface at the path -func (onm *OrderedNavigableMap) FieldAsInterface(fldPath []string) (iface interface{}, err error) { +func (onm *OrderedNavigableMap) FieldAsInterface(fldPath []string) (iface any, err error) { return onm.nm.FieldAsInterface(fldPath) } @@ -165,8 +165,8 @@ func (onm *OrderedNavigableMap) GetOrder() (order [][]string) { } // OrderedFields returns the elements in order they were inserted -func (onm *OrderedNavigableMap) OrderedFields() (flds []interface{}) { - flds = make([]interface{}, 0, len(onm.nm.Map)) +func (onm *OrderedNavigableMap) OrderedFields() (flds []any) { + flds = make([]any, 0, len(onm.nm.Map)) for el := onm.GetFirstElement(); el != nil; el = el.Next() { fld, _ := onm.Field(el.Value) flds = append(flds, fld.Data) diff --git a/utils/orderednavigablemap_test.go b/utils/orderednavigablemap_test.go index e5f13f588..d81d22c22 100644 --- a/utils/orderednavigablemap_test.go +++ b/utils/orderednavigablemap_test.go @@ -851,7 +851,7 @@ func TestOrderedNavigableMapOrderedFields(t *testing.T) { PathSlice: []string{"Field5"}, Path: "Field5", }) - exp := []interface{}{"1003", "1004", "1006"} + exp := []any{"1003", "1004", "1006"} rcv := nm.OrderedFields() if !reflect.DeepEqual(exp, rcv) { t.Errorf("Expected %+v<%T>, received %+v<%T>", exp, exp[0], rcv, rcv[0]) diff --git a/utils/reflect.go b/utils/reflect.go index 4fe96c994..c128f0fa5 100644 --- a/utils/reflect.go +++ b/utils/reflect.go @@ -32,7 +32,7 @@ import ( // StringToInterface will parse string into supported types // if no other conversion possible, original string will be returned -func StringToInterface(s string) interface{} { +func StringToInterface(s string) any { if s == EmptyString { return s } @@ -61,7 +61,7 @@ func StringToInterface(s string) interface{} { return s } -func IfaceAsTime(itm interface{}, timezone string) (t time.Time, err error) { +func IfaceAsTime(itm any, timezone string) (t time.Time, err error) { switch v := itm.(type) { case time.Time: return v, nil @@ -99,7 +99,7 @@ func StringAsBig(itm string) (b *decimal.Big, err error) { return z, nil } -func IfaceAsBig(itm interface{}) (b *decimal.Big, err error) { +func IfaceAsBig(itm any) (b *decimal.Big, err error) { switch it := itm.(type) { case time.Duration: return decimal.New(int64(it), 0), nil @@ -139,7 +139,7 @@ func IfaceAsBig(itm interface{}) (b *decimal.Big, err error) { return } -func IfaceAsDuration(itm interface{}) (d time.Duration, err error) { +func IfaceAsDuration(itm any) (d time.Duration, err error) { switch it := itm.(type) { case time.Duration: return it, nil @@ -175,7 +175,7 @@ func IfaceAsDuration(itm interface{}) (d time.Duration, err error) { return } -func IfaceAsInt64(itm interface{}) (i int64, err error) { +func IfaceAsInt64(itm any) (i int64, err error) { switch it := itm.(type) { case int: return int64(it), nil @@ -194,7 +194,7 @@ func IfaceAsInt64(itm interface{}) (i int64, err error) { } // IfaceAsTInt converts interface to type int -func IfaceAsInt(itm interface{}) (i int, err error) { +func IfaceAsInt(itm any) (i int, err error) { switch it := itm.(type) { case int: return it, nil @@ -217,7 +217,7 @@ func IfaceAsInt(itm interface{}) (i int, err error) { } // same function as IfaceAsInt64 but if the value is float round it to int64 instead of returning error -func IfaceAsTInt64(itm interface{}) (i int64, err error) { +func IfaceAsTInt64(itm any) (i int64, err error) { switch it := itm.(type) { case int: return int64(it), nil @@ -239,7 +239,7 @@ func IfaceAsTInt64(itm interface{}) (i int64, err error) { return } -func IfaceAsFloat64(itm interface{}) (f float64, err error) { +func IfaceAsFloat64(itm any) (f float64, err error) { switch it := itm.(type) { case float64: return it, nil @@ -257,7 +257,7 @@ func IfaceAsFloat64(itm interface{}) (f float64, err error) { return } -func IfaceAsBool(itm interface{}) (b bool, err error) { +func IfaceAsBool(itm any) (b bool, err error) { switch v := itm.(type) { case bool: return v, nil @@ -284,7 +284,7 @@ func IfaceAsBool(itm interface{}) (b bool, err error) { return } -func IfaceAsString(fld interface{}) (out string) { +func IfaceAsString(fld any) (out string) { switch value := fld.(type) { case nil: return @@ -319,7 +319,7 @@ func IfaceAsString(fld interface{}) (out string) { } } -func GetUniformType(item interface{}) (interface{}, error) { +func GetUniformType(item any) (any, error) { valItm := reflect.ValueOf(item) switch valItm.Kind() { // convert evreting to float64 case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: @@ -335,7 +335,7 @@ func GetUniformType(item interface{}) (interface{}, error) { } } -func GetBasicType(item interface{}) interface{} { +func GetBasicType(item any) any { valItm := reflect.ValueOf(item) switch valItm.Kind() { // convert evreting to float64 case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: @@ -351,7 +351,7 @@ func GetBasicType(item interface{}) interface{} { // GreaterThan attempts to compare two items // returns the result or error if not comparable -func GreaterThan(item, oItem interface{}, orEqual bool) (gte bool, err error) { +func GreaterThan(item, oItem any, orEqual bool) (gte bool, err error) { item = GetBasicType(item) oItem = GetBasicType(oItem) typItem := reflect.TypeOf(item) @@ -405,7 +405,7 @@ func GreaterThan(item, oItem interface{}, orEqual bool) (gte bool, err error) { return } -func EqualTo(item, oItem interface{}) (eq bool, err error) { +func EqualTo(item, oItem any) (eq bool, err error) { item = GetBasicType(item) oItem = GetBasicType(oItem) typItem := reflect.TypeOf(item) @@ -447,7 +447,7 @@ func EqualTo(item, oItem interface{}) (eq bool, err error) { // Sum attempts to sum multiple items // returns the result or error if not comparable -func Sum(items ...interface{}) (sum interface{}, err error) { +func Sum(items ...any) (sum any, err error) { //we need at least 2 items to sum them if len(items) < 2 { return nil, ErrNotEnoughParameters @@ -510,7 +510,7 @@ func Sum(items ...interface{}) (sum interface{}, err error) { // Difference attempts to sum multiple items // returns the result or error if not comparable -func Difference(tm string, items ...interface{}) (diff interface{}, err error) { +func Difference(tm string, items ...any) (diff any, err error) { //we need at least 2 items to diff them if len(items) < 2 { return nil, ErrNotEnoughParameters @@ -579,7 +579,7 @@ func Difference(tm string, items ...interface{}) (diff interface{}, err error) { // Multiply attempts to multiply multiple items // returns the result or error if not comparable -func Multiply(items ...interface{}) (mlt interface{}, err error) { +func Multiply(items ...any) (mlt any, err error) { //we need at least 2 items to diff them if len(items) < 2 { return nil, ErrNotEnoughParameters @@ -623,7 +623,7 @@ func Multiply(items ...interface{}) (mlt interface{}, err error) { // Divide attempts to divide multiple items // returns the result or error if not comparable -func Divide(items ...interface{}) (div interface{}, err error) { +func Divide(items ...any) (div any, err error) { //we need at least 2 items to diff them if len(items) < 2 { return nil, ErrNotEnoughParameters @@ -667,7 +667,7 @@ func Divide(items ...interface{}) (div interface{}, err error) { // ReflectFieldMethodInterface parses intf attepting to return the field value or error otherwise // Supports "ExtraFields" where additional fields are dynamically inserted in map with field name: extraFieldsLabel -func ReflectFieldMethodInterface(obj interface{}, fldName string) (retIf interface{}, err error) { +func ReflectFieldMethodInterface(obj any, fldName string) (retIf any, err error) { v := reflect.ValueOf(obj) if v.Kind() == reflect.Ptr { v = v.Elem() @@ -721,7 +721,7 @@ func ReflectFieldMethodInterface(obj interface{}, fldName string) (retIf interfa return field.Interface(), nil } -func IfaceAsStringSlice(fld interface{}) (ss []string, err error) { +func IfaceAsStringSlice(fld any) (ss []string, err error) { switch value := fld.(type) { case nil: case []string: @@ -766,7 +766,7 @@ func IfaceAsStringSlice(fld interface{}) (ss []string, err error) { for i, v := range value { ss[i] = strconv.FormatFloat(v, 'f', -1, 64) } - case []interface{}: + case []any: ss = make([]string, len(value)) for i, v := range value { ss[i] = IfaceAsString(v) @@ -781,7 +781,7 @@ func IfaceAsStringSlice(fld interface{}) (ss []string, err error) { return } -func OptAsBool(opts map[string]interface{}, name string) (b bool) { +func OptAsBool(opts map[string]any, name string) (b bool) { val, has := opts[name] if !has { return @@ -790,7 +790,7 @@ func OptAsBool(opts map[string]interface{}, name string) (b bool) { return } -func OptAsBoolOrDef(opts map[string]interface{}, name string, def bool) (b bool) { +func OptAsBoolOrDef(opts map[string]any, name string, def bool) (b bool) { val, has := opts[name] if !has { return def @@ -799,7 +799,7 @@ func OptAsBoolOrDef(opts map[string]interface{}, name string, def bool) (b bool) return } -func OptAsStringSlice(opts map[string]interface{}, name string) (b []string, err error) { +func OptAsStringSlice(opts map[string]any, name string) (b []string, err error) { val, has := opts[name] if !has { return diff --git a/utils/reflect_test.go b/utils/reflect_test.go index ea4ec1055..1b5a9172a 100644 --- a/utils/reflect_test.go +++ b/utils/reflect_test.go @@ -34,7 +34,7 @@ func TestGreaterThan(t *testing.T) { t.Error("should be not greater than") } if _, err := GreaterThan(struct{}{}, - map[string]interface{}{"a": "a"}, false); err == nil || + map[string]any{"a": "a"}, false); err == nil || !strings.HasPrefix(err.Error(), "incomparable") { t.Error(err) } @@ -139,19 +139,19 @@ func TestStringToInterface(t *testing.T) { } func TestIfaceAsString(t *testing.T) { - val := interface{}("string1") + val := any("string1") if rply := IfaceAsString(val); rply != "string1" { t.Errorf("Expected string1 ,received %+v", rply) } - val = interface{}(123) + val = any(123) if rply := IfaceAsString(val); rply != "123" { t.Errorf("Expected 123 ,received %+v", rply) } - val = interface{}([]byte("byte_val")) + val = any([]byte("byte_val")) if rply := IfaceAsString(val); rply != "byte_val" { t.Errorf("Expected byte_val ,received %+v", rply) } - val = interface{}(true) + val = any(true) if rply := IfaceAsString(val); rply != "true" { t.Errorf("Expected true ,received %+v", rply) } @@ -161,15 +161,15 @@ func TestIfaceAsString(t *testing.T) { if rply := IfaceAsString(nil); rply != "" { t.Errorf("Expected ,received %+v", rply) } - val = interface{}(net.ParseIP("127.0.0.1")) + val = any(net.ParseIP("127.0.0.1")) if rply := IfaceAsString(val); rply != "127.0.0.1" { t.Errorf("Expected ,received %+v", rply) } - val = interface{}(10.23) + val = any(10.23) if rply := IfaceAsString(val); rply != "10.23" { t.Errorf("Expected ,received %+v", rply) } - val = interface{}(time.Date(2009, 11, 10, 23, 0, 0, 0, time.UTC)) + val = any(time.Date(2009, 11, 10, 23, 0, 0, 0, time.UTC)) if rply := IfaceAsString(val); rply != "2009-11-10T23:00:00Z" { t.Errorf("Expected ,received %+v", rply) } @@ -177,19 +177,19 @@ func TestIfaceAsString(t *testing.T) { func TestIfaceAsTime(t *testing.T) { timeDate := time.Date(2009, 11, 10, 23, 0, 0, 0, time.UTC) - val := interface{}("2009-11-10T23:00:00Z") + val := any("2009-11-10T23:00:00Z") if itmConvert, err := IfaceAsTime(val, "UTC"); err != nil { t.Error(err) } else if itmConvert != timeDate { t.Errorf("received: %+v", itmConvert) } - val = interface{}(timeDate) + val = any(timeDate) if itmConvert, err := IfaceAsTime(val, "UTC"); err != nil { t.Error(err) } else if itmConvert != timeDate { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not a time") + val = any("This is not a time") if _, err := IfaceAsTime(val, "UTC"); err == nil { t.Error("There should be error") } @@ -197,63 +197,63 @@ func TestIfaceAsTime(t *testing.T) { func TestIfaceAsDuration(t *testing.T) { eItm := time.Second - if itmConvert, err := IfaceAsDuration(interface{}(time.Second)); err != nil { + if itmConvert, err := IfaceAsDuration(any(time.Second)); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if itmConvert, err := IfaceAsDuration(interface{}(float64(1000000000.0))); err != nil { + if itmConvert, err := IfaceAsDuration(any(float64(1000000000.0))); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if itmConvert, err := IfaceAsDuration(interface{}(int64(1000000000))); err != nil { + if itmConvert, err := IfaceAsDuration(any(int64(1000000000))); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if itmConvert, err := IfaceAsDuration(interface{}(int(1000000000))); err != nil { + if itmConvert, err := IfaceAsDuration(any(int(1000000000))); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if itmConvert, err := IfaceAsDuration(interface{}(string("1s"))); err != nil { + if itmConvert, err := IfaceAsDuration(any(string("1s"))); err != nil { t.Error(err) } else if eItm != itmConvert { t.Errorf("received: %+v", itmConvert) } - if _, err := IfaceAsDuration(interface{}(string("s1s"))); err == nil { + if _, err := IfaceAsDuration(any(string("s1s"))); err == nil { t.Error("empty error") } } func TestIfaceAsFloat64(t *testing.T) { eFloat := 6.0 - val := interface{}(6.0) + val := any(6.0) if itmConvert, err := IfaceAsFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}(6) + val = any(6) if itmConvert, err := IfaceAsFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}("6") + val = any("6") if itmConvert, err := IfaceAsFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int64(6)) + val = any(int64(6)) if itmConvert, err := IfaceAsFloat64(val); err != nil { t.Error(err) } else if itmConvert != eFloat { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not a float") + val = any("This is not a float") if _, err := IfaceAsFloat64(val); err == nil { t.Error("expecting error") } @@ -261,31 +261,31 @@ func TestIfaceAsFloat64(t *testing.T) { func TestIfaceAsInt64(t *testing.T) { eInt := int64(3) - val := interface{}(3) + val := any(3) if itmConvert, err := IfaceAsInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(3) + val = any(3) if itmConvert, err := IfaceAsInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}("3") + val = any("3") if itmConvert, err := IfaceAsInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int64(3)) + val = any(int64(3)) if itmConvert, err := IfaceAsInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not an integer") + val = any("This is not an integer") if _, err := IfaceAsInt64(val); err == nil { t.Error("expecting error") } @@ -293,115 +293,115 @@ func TestIfaceAsInt64(t *testing.T) { func TestIfaceAsTInt64(t *testing.T) { eInt := int64(3) - val := interface{}(3) + val := any(3) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(3) + val = any(3) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}("3") + val = any("3") if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int64(3)) + val = any(int64(3)) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int32(3)) + val = any(int32(3)) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(float32(3.14)) + val = any(float32(3.14)) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}(float64(3.14)) + val = any(float64(3.14)) if itmConvert, err := IfaceAsTInt64(val); err != nil { t.Error(err) } else if itmConvert != eInt { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not an integer") + val = any("This is not an integer") if _, err := IfaceAsTInt64(val); err == nil { t.Error("expecting error") } } func TestIfaceAsBool(t *testing.T) { - val := interface{}(true) + val := any(true) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if !itmConvert { t.Errorf("received: %+v", itmConvert) } - val = interface{}("true") + val = any("true") if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if !itmConvert { t.Errorf("received: %+v", itmConvert) } - val = interface{}(0) + val = any(0) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if itmConvert { t.Errorf("received: %+v", itmConvert) } - val = interface{}(int32(2)) + val = any(int32(2)) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if !itmConvert { t.Errorf("received: %+v", itmConvert) } - val = interface{}(1) + val = any(1) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if !itmConvert { t.Errorf("received: %+v", itmConvert) } - val = interface{}(uint32(2)) + val = any(uint32(2)) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if !itmConvert { t.Errorf("received: %+v", itmConvert) } - val = interface{}(uint64(2)) + val = any(uint64(2)) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if !itmConvert { t.Errorf("received: %+v", itmConvert) } - val = interface{}(0.0) + val = any(0.0) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if itmConvert { t.Errorf("received: %+v", itmConvert) } - val = interface{}(1.0) + val = any(1.0) if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if !itmConvert { t.Errorf("received: %+v", itmConvert) } - val = interface{}("This is not a bool") + val = any("This is not a bool") if _, err := IfaceAsBool(val); err == nil { t.Error("expecting error") } - val = interface{}("") + val = any("") if itmConvert, err := IfaceAsBool(val); err != nil { t.Error(err) } else if itmConvert { @@ -446,7 +446,7 @@ func TestSum(t *testing.T) { } func TestGetUniformType(t *testing.T) { - var arg, expected interface{} + var arg, expected any arg = time.Second expected = float64(time.Second) if rply, err := GetUniformType(arg); err != nil { @@ -620,7 +620,7 @@ func TestEqualTo(t *testing.T) { t.Error("should be not greater than") } if _, err := EqualTo(struct{}{}, - map[string]interface{}{"a": "a"}); err == nil || + map[string]any{"a": "a"}); err == nil || !strings.HasPrefix(err.Error(), "incomparable") { t.Error(err) } @@ -949,7 +949,7 @@ func TestIfaceAsStringFloat32Neg(t *testing.T) { } func TestGetBasicTypeUint(t *testing.T) { - var test interface{} = uint8(123) + var test any = uint8(123) valItm := reflect.ValueOf(test) response := GetBasicType(test) if !reflect.DeepEqual(valItm.Uint(), response) { @@ -1642,7 +1642,7 @@ func TestIfaceAsStringSliceFloat64(t *testing.T) { func TestIfaceAsStringSliceInterface(t *testing.T) { //case of []interface - fld := []interface{}{1.2, "string", false} + fld := []any{1.2, "string", false} rcv, err := IfaceAsStringSlice(fld) if err != nil { t.Error(err) @@ -1677,7 +1677,7 @@ func TestIfaceAsStringSliceDefault(t *testing.T) { } func TestOptAsBool(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "field1": 2, } rcv := OptAsBool(opts, "field1") @@ -1692,7 +1692,7 @@ func TestOptAsBool(t *testing.T) { } func TestOptAsBoolOrDef(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "field1": 2, } rcv := OptAsBoolOrDef(opts, "field1", false) @@ -1707,7 +1707,7 @@ func TestOptAsBoolOrDef(t *testing.T) { } func TestOptAsStringSlice(t *testing.T) { - opts := map[string]interface{}{ + opts := map[string]any{ "field1": []string{"val1", "val2"}, } rcv, err := OptAsStringSlice(opts, "field1") diff --git a/utils/safemapstorage.go b/utils/safemapstorage.go index 905451f4a..9d9425d5e 100644 --- a/utils/safemapstorage.go +++ b/utils/safemapstorage.go @@ -36,7 +36,7 @@ func (ms *SafeMapStorage) String() string { } // FieldAsInterface returns the value from the path -func (ms *SafeMapStorage) FieldAsInterface(fldPath []string) (val interface{}, err error) { +func (ms *SafeMapStorage) FieldAsInterface(fldPath []string) (val any, err error) { ms.RLock() defer ms.RUnlock() return ms.MapStorage.FieldAsInterface(fldPath) @@ -50,7 +50,7 @@ func (ms *SafeMapStorage) FieldAsString(fldPath []string) (str string, err error } // Set sets the value at the given path -func (ms *SafeMapStorage) Set(fldPath []string, val interface{}) (err error) { +func (ms *SafeMapStorage) Set(fldPath []string, val any) (err error) { ms.Lock() defer ms.Unlock() return ms.MapStorage.Set(fldPath, val) diff --git a/utils/slice.go b/utils/slice.go index cbd59a7fd..fd0612c96 100644 --- a/utils/slice.go +++ b/utils/slice.go @@ -48,8 +48,8 @@ func PrefixSliceItems(prfx string, slc []string) (out []string) { } // SliceStringToIface converts slice of strings into a slice of interfaces -func SliceStringToIface(slc []string) (ifc []interface{}) { - ifc = make([]interface{}, len(slc)) +func SliceStringToIface(slc []string) (ifc []any) { + ifc = make([]any, len(slc)) for i, itm := range slc { ifc[i] = itm } diff --git a/utils/slice_test.go b/utils/slice_test.go index 14ca3fbe3..2fee66584 100644 --- a/utils/slice_test.go +++ b/utils/slice_test.go @@ -69,7 +69,7 @@ func TestPrefixSliceItems(t *testing.T) { } func TestSliceStringToIface(t *testing.T) { - exp := []interface{}{"*default", "ToR", "*voice"} + exp := []any{"*default", "ToR", "*voice"} if rply := SliceStringToIface([]string{"*default", "ToR", "*voice"}); !reflect.DeepEqual(exp, rply) { t.Errorf("Expected: %s ,received: %s", ToJSON(exp), ToJSON(rply)) } diff --git a/utils/stir_shaken_utils.go b/utils/stir_shaken_utils.go index 1f6b0f1b6..ab17c8db0 100644 --- a/utils/stir_shaken_utils.go +++ b/utils/stir_shaken_utils.go @@ -92,7 +92,7 @@ func GetReaderFromPath(path string, timeout time.Duration) (r io.ReadCloser, err } // EncodeBase64JSON encodes the structure in json and then the string in base64 -func EncodeBase64JSON(val interface{}) (enc string, err error) { +func EncodeBase64JSON(val any) (enc string, err error) { var b []byte if b, err = json.Marshal(val); err != nil { return @@ -102,7 +102,7 @@ func EncodeBase64JSON(val interface{}) (enc string, err error) { } // DecodeBase64JSON decodes the base64 json string in the given interface -func DecodeBase64JSON(data string, val interface{}) (err error) { +func DecodeBase64JSON(data string, val any) (err error) { var b []byte if b, err = jwt.DecodeSegment(data); err != nil { return diff --git a/utils/stir_shaken_utils_test.go b/utils/stir_shaken_utils_test.go index a737873b8..3ff5dd8c6 100644 --- a/utils/stir_shaken_utils_test.go +++ b/utils/stir_shaken_utils_test.go @@ -36,12 +36,12 @@ func TestRemoveWhiteSpaces(t *testing.T) { } func TestEncodeBase64JSON(t *testing.T) { - var args interface{} + var args any args = math.NaN() if _, err := EncodeBase64JSON(args); err == nil { t.Errorf("Expected error") } - args = map[string]interface{}{"Q": 1} + args = map[string]any{"Q": 1} expected := `eyJRIjoxfQ` if rply, err := EncodeBase64JSON(args); err != nil { t.Error(err) @@ -56,8 +56,8 @@ func TestDecodeBase64JSON(t *testing.T) { if err := DecodeBase64JSON(args, &rply1); err == nil { t.Errorf("Expected error") } - var rply2 map[string]interface{} - expected := map[string]interface{}{"Q": 1.} + var rply2 map[string]any + expected := map[string]any{"Q": 1.} if err := DecodeBase64JSON(args, &rply2); err != nil { t.Error(err) } else if !reflect.DeepEqual(expected, rply2) { diff --git a/utils/stringset.go b/utils/stringset.go index e229b3a52..c9f38ee4a 100644 --- a/utils/stringset.go +++ b/utils/stringset.go @@ -143,7 +143,7 @@ func (s StringSet) Equals(s2 StringSet) bool { func (s StringSet) String() string { return ToJSON(s.AsSlice()) } // FieldAsInterface returns an empty structure if the path exists else ErrNotFound -func (s StringSet) FieldAsInterface(fldPath []string) (interface{}, error) { +func (s StringSet) FieldAsInterface(fldPath []string) (any, error) { if len(fldPath) != 1 { return nil, ErrNotFound } diff --git a/utils/struct.go b/utils/struct.go index d59828ebb..009a4cbd2 100644 --- a/utils/struct.go +++ b/utils/struct.go @@ -52,7 +52,7 @@ func valueIsEmpty(fld reflect.Value) bool { } // Detects missing field values based on mandatory field names, s should be a pointer to a struct -func MissingStructFields(s interface{}, mandatories []string) []string { +func MissingStructFields(s any, mandatories []string) []string { missing := []string{} sValue := reflect.ValueOf(s).Elem() sType := sValue.Type() @@ -68,7 +68,7 @@ func MissingStructFields(s interface{}, mandatories []string) []string { // UpdateStructWithIfaceMap will update struct fields with values coming from map // if map values are not matching the ones in struct convertion is being attempted // ToDo: add here more fields -func UpdateStructWithIfaceMap(s interface{}, mp map[string]interface{}) (err error) { +func UpdateStructWithIfaceMap(s any, mp map[string]any) (err error) { for key, val := range mp { fld := reflect.ValueOf(s).Elem().FieldByName(key) if fld.IsValid() { diff --git a/utils/struct_test.go b/utils/struct_test.go index 0ab3d32e3..bb78e4bc9 100644 --- a/utils/struct_test.go +++ b/utils/struct_test.go @@ -37,7 +37,7 @@ func TestMissingStructFieldsCorrect(t *testing.T) { func TestMissingStructFieldsNilCorporate(t *testing.T) { tst := &TenantIDWithAPIOpts{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ OptsAPIKey: "attr1234", }, } @@ -49,11 +49,11 @@ func TestMissingStructFieldsNilCorporate(t *testing.T) { func TestMissingStructFieldsNilCorporateTwoStructs(t *testing.T) { tst := &struct { - APIOpts map[string]interface{} + APIOpts map[string]any *TenantID *TenantWithAPIOpts }{ - APIOpts: map[string]interface{}{ + APIOpts: map[string]any{ OptsAPIKey: "attr1234", }, TenantID: &TenantID{ @@ -74,7 +74,7 @@ func TestUpdateStructWithIfaceMap(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "s", "Bool": true, "Float": 6.4, @@ -91,7 +91,7 @@ func TestUpdateStructWithIfaceMap(t *testing.T) { } else if !reflect.DeepEqual(eStruct, s) { t.Errorf("expecting: %+v, received: %+v", eStruct, s) } - mp = map[string]interface{}{ + mp = map[string]any{ "String": "aaa", "Bool": false, } @@ -129,7 +129,7 @@ func TestUpdateStructWithIfaceMapValEmpty(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "", "Bool": "", "Float": "", @@ -155,7 +155,7 @@ func TestUpdateStructWithIfaceMapErrorBol(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "string", "Bool": "cat", "Float": 1.2, @@ -175,7 +175,7 @@ func TestUpdateStructWithIfaceMapErrorInt(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "string", "Bool": true, "Float": 1.2, @@ -195,7 +195,7 @@ func TestUpdateStructWithIfaceMapErrorFloat(t *testing.T) { Int int64 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "String": "string", "Bool": true, "Float": "cat", @@ -212,7 +212,7 @@ func TestUpdateStructWithIfaceMapErrorDefault(t *testing.T) { wrongField1 complex128 } s := new(myStruct) - mp := map[string]interface{}{ + mp := map[string]any{ "wrongField1": cmplx.Sqrt(-5 + 12i), } err := UpdateStructWithIfaceMap(s, mp)