mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-13 11:06:25 +05:00
coverage tests at config
This commit is contained in:
committed by
Dan Christian Bogos
parent
8dd8e9b025
commit
0737c55898
@@ -44,15 +44,52 @@ func TestEESClone(t *testing.T) {
|
||||
"mysqlDSNParams": {
|
||||
"allowOldPasswords": "true",
|
||||
"allowNativePasswords": "true",
|
||||
|
||||
},
|
||||
|
||||
"elsIndex":"test2",
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"elsIndex":"test",
|
||||
"elsIfPrimaryTerm":0,
|
||||
"elsIfSeqNo":0,
|
||||
"elsOpType":"test2",
|
||||
"elsPipeline":"test3",
|
||||
"elsRouting":"test4",
|
||||
"elsTimeout":"1m",
|
||||
"elsVersion":2,
|
||||
"elsVersionType":"test5",
|
||||
"elsWaitForActiveShards":"test6",
|
||||
"sqlMaxIdleConns":4,
|
||||
"sqlMaxOpenConns":6,
|
||||
"sqlConnMaxLifetime":"1m",
|
||||
"sqlTableName":"table",
|
||||
"sqlDBName":"db",
|
||||
"pgSSLMode":"pg",
|
||||
"awsToken":"token",
|
||||
"s3FolderPath":"s3",
|
||||
"natsJetStream":true,
|
||||
"natsSubject":"nat",
|
||||
"natsJWTFile":"jwt",
|
||||
"natsSeedFile":"seed",
|
||||
"natsCertificateAuthority":"NATS",
|
||||
"natsClientCertificate":"NATSClient",
|
||||
"natsClientKey":"key",
|
||||
"natsJetStreamMaxWait":"1m",
|
||||
"kafkaTopic":"kafka",
|
||||
"amqpQueueID":"id",
|
||||
"amqpRoutingKey":"key",
|
||||
"amqpExchangeType":"type",
|
||||
"amqpExchange":"exchange",
|
||||
"awsRegion":"eu",
|
||||
"awsKey":"key",
|
||||
"awsSecret":"secretkey",
|
||||
"sqsQueueID":"sqsid",
|
||||
"s3BucketID":"s3",
|
||||
"rpcCodec":"rpc",
|
||||
"serviceMethod":"service",
|
||||
"keyPath":"path",
|
||||
"certPath":"certpath",
|
||||
"caPath":"capath",
|
||||
"tls":true,
|
||||
"connIDs":["id1","id2"],
|
||||
"rpcConnTimeout":"1m",
|
||||
"rpcReplyTimeout":"1m",
|
||||
},
|
||||
"timezone": "local",
|
||||
"filters": ["randomFiletrs"],
|
||||
@@ -73,35 +110,6 @@ func TestEESClone(t *testing.T) {
|
||||
},
|
||||
}`
|
||||
|
||||
/* "kafkaTopic",
|
||||
"amqpQueueID",
|
||||
"amqpRoutingKey",
|
||||
"amqpExchangeType",
|
||||
"awsRegion",
|
||||
"awsKey",
|
||||
"awsSecret"
|
||||
"awsToken",
|
||||
"sqsQueueID",
|
||||
"s3BucketID",
|
||||
"s3FolderPath",
|
||||
"natsJetStream",
|
||||
"natsSubject",
|
||||
"natsJWTFile",
|
||||
"natsSeedFile",
|
||||
"natsCertificateAuthority",
|
||||
"natsClientCertificate",
|
||||
"natsClientKey",
|
||||
"natsJetStreamMaxWait",
|
||||
"rpcCodec",
|
||||
"serviceMethod",
|
||||
"keyPath",
|
||||
"certPath",
|
||||
"caPath",
|
||||
"tls",
|
||||
"connIDs",
|
||||
"rpcConnTimeout",
|
||||
"rpcReplyTimeout",
|
||||
"rpcAPIOpts"*/
|
||||
expected := &EEsCfg{
|
||||
Enabled: true,
|
||||
AttributeSConns: []string{utils.ConcatenatedKey(utils.MetaInternal, utils.MetaAttributes), "*conn1"},
|
||||
@@ -215,7 +223,51 @@ func TestEESClone(t *testing.T) {
|
||||
"allowOldPasswords": "true",
|
||||
"allowNativePasswords": "true",
|
||||
},
|
||||
ElsIndex: utils.StringPointer("test"),
|
||||
ElsIndex: utils.StringPointer("test"),
|
||||
ElsIfPrimaryTerm: utils.IntPointer(0),
|
||||
ElsIfSeqNo: utils.IntPointer(0),
|
||||
ElsOpType: utils.StringPointer("test2"),
|
||||
ElsPipeline: utils.StringPointer("test3"),
|
||||
ElsRouting: utils.StringPointer("test4"),
|
||||
ElsTimeout: utils.DurationPointer(1 * time.Minute),
|
||||
ElsVersion: utils.IntPointer(2),
|
||||
ElsVersionType: utils.StringPointer("test5"),
|
||||
ElsWaitForActiveShards: utils.StringPointer("test6"),
|
||||
SQLMaxIdleConns: utils.IntPointer(4),
|
||||
SQLConnMaxLifetime: utils.DurationPointer(1 * time.Minute),
|
||||
SQLTableName: utils.StringPointer("table"),
|
||||
SQLDBName: utils.StringPointer("db"),
|
||||
PgSSLMode: utils.StringPointer("pg"),
|
||||
KafkaTopic: utils.StringPointer("kafka"),
|
||||
SQLMaxOpenConns: utils.IntPointer(6),
|
||||
AWSToken: utils.StringPointer("token"),
|
||||
S3FolderPath: utils.StringPointer("s3"),
|
||||
NATSJetStream: utils.BoolPointer(true),
|
||||
NATSSubject: utils.StringPointer("nat"),
|
||||
NATSJWTFile: utils.StringPointer("jwt"),
|
||||
NATSSeedFile: utils.StringPointer("seed"),
|
||||
NATSCertificateAuthority: utils.StringPointer("NATS"),
|
||||
NATSClientCertificate: utils.StringPointer("NATSClient"),
|
||||
NATSClientKey: utils.StringPointer("key"),
|
||||
NATSJetStreamMaxWait: utils.DurationPointer(1 * time.Minute),
|
||||
AMQPRoutingKey: utils.StringPointer("key"),
|
||||
AMQPQueueID: utils.StringPointer("id"),
|
||||
AMQPExchangeType: utils.StringPointer("type"),
|
||||
AMQPExchange: utils.StringPointer("exchange"),
|
||||
AWSRegion: utils.StringPointer("eu"),
|
||||
AWSKey: utils.StringPointer("key"),
|
||||
AWSSecret: utils.StringPointer("secretkey"),
|
||||
S3BucketID: utils.StringPointer("s3"),
|
||||
SQSQueueID: utils.StringPointer("sqsid"),
|
||||
RPCCodec: utils.StringPointer("rpc"),
|
||||
ServiceMethod: utils.StringPointer("service"),
|
||||
KeyPath: utils.StringPointer("path"),
|
||||
CertPath: utils.StringPointer("certpath"),
|
||||
CAPath: utils.StringPointer("capath"),
|
||||
TLS: utils.BoolPointer(true),
|
||||
ConnIDs: utils.SliceStringPointer([]string{"id1", "id2"}),
|
||||
RPCConnTimeout: utils.DurationPointer(1 * time.Minute),
|
||||
RPCReplyTimeout: utils.DurationPointer(1 * time.Minute),
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -325,7 +377,7 @@ func TestEventExporterOptsloadFromJsonCfg(t *testing.T) {
|
||||
|
||||
expected := &EventExporterOpts{
|
||||
|
||||
ElsIndex: utils.StringPointer("test2"),
|
||||
ElsIndex: utils.StringPointer("test"),
|
||||
ElsIfPrimaryTerm: utils.IntPointer(0),
|
||||
ElsIfSeqNo: utils.IntPointer(0),
|
||||
ElsOpType: utils.StringPointer("test2"),
|
||||
@@ -353,15 +405,37 @@ func TestEventExporterOptsloadFromJsonCfg(t *testing.T) {
|
||||
NATSJetStreamMaxWait: utils.DurationPointer(1 * time.Minute),
|
||||
}
|
||||
eventExporter := &EventExporterCfg{
|
||||
|
||||
Opts: &EventExporterOpts{},
|
||||
}
|
||||
if err := eventExporter.Opts.loadFromJSONCfg(eventExporterOptsJSON); err != nil {
|
||||
t.Error(expected)
|
||||
|
||||
} else if reflect.DeepEqual(expected, eventExporter.Opts) {
|
||||
} else if !reflect.DeepEqual(expected, eventExporter.Opts) {
|
||||
t.Errorf("expected %v received %v", expected, eventExporter.Opts)
|
||||
}
|
||||
if err := eventExporter.Opts.loadFromJSONCfg(nil); err != nil {
|
||||
t.Error(err)
|
||||
} else if err := eventExporter.Opts.loadFromJSONCfg(&EventExporterOptsJson{
|
||||
ElsTimeout: utils.StringPointer("test"),
|
||||
}); err == nil {
|
||||
t.Error(err)
|
||||
} else if err := eventExporter.Opts.loadFromJSONCfg(&EventExporterOptsJson{
|
||||
SQLConnMaxLifetime: utils.StringPointer("test"),
|
||||
}); err == nil {
|
||||
t.Error(err)
|
||||
} else if err := eventExporter.Opts.loadFromJSONCfg(&EventExporterOptsJson{
|
||||
RPCConnTimeout: utils.StringPointer("test"),
|
||||
}); err == nil {
|
||||
t.Error(err)
|
||||
} else if err := eventExporter.Opts.loadFromJSONCfg(&EventExporterOptsJson{
|
||||
NATSJetStreamMaxWait: utils.StringPointer("test"),
|
||||
}); err == nil {
|
||||
t.Error(err)
|
||||
} else if err := eventExporter.Opts.loadFromJSONCfg(&EventExporterOptsJson{
|
||||
|
||||
RPCReplyTimeout: utils.StringPointer("test"),
|
||||
}); err == nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -729,7 +803,55 @@ func TestEEsCfgAsMapInterface(t *testing.T) {
|
||||
"type": "*file_csv",
|
||||
"export_path": "/tmp/testCSV",
|
||||
"opts": {
|
||||
"kafkaTopic": "test",
|
||||
"elsIndex":"test",
|
||||
"elsIfPrimaryTerm":0,
|
||||
"kafkaTopic": "test",
|
||||
"elsIfSeqNo":0,
|
||||
"elsOpType":"test2",
|
||||
"elsPipeline":"test3",
|
||||
"elsRouting":"test4",
|
||||
"elsTimeout":"1m",
|
||||
"elsVersion":2,
|
||||
"elsVersionType":"test5",
|
||||
"elsWaitForActiveShards":"test6",
|
||||
"sqlMaxIdleConns":4,
|
||||
"sqlMaxOpenConns":6,
|
||||
"sqlConnMaxLifetime":"1m",
|
||||
"sqlTableName":"table",
|
||||
"sqlDBName":"db",
|
||||
"pgSSLMode":"pg",
|
||||
"awsToken":"token",
|
||||
"s3FolderPath":"s3",
|
||||
"natsJetStream":true,
|
||||
"natsSubject":"nat",
|
||||
"natsJWTFile":"jwt",
|
||||
"natsSeedFile":"seed",
|
||||
"natsCertificateAuthority":"NATS",
|
||||
"natsClientCertificate":"NATSClient",
|
||||
"natsClientKey":"key",
|
||||
"natsJetStreamMaxWait":"1m",
|
||||
"amqpQueueID":"id",
|
||||
"amqpRoutingKey":"key",
|
||||
"amqpExchangeType":"type",
|
||||
"amqpExchange":"exchange",
|
||||
"awsRegion":"eu",
|
||||
"awsKey":"key",
|
||||
"awsSecret":"secretkey",
|
||||
"sqsQueueID":"sqsid",
|
||||
"s3BucketID":"s3",
|
||||
"rpcCodec":"rpc",
|
||||
"serviceMethod":"service",
|
||||
"keyPath":"path",
|
||||
"certPath":"certpath",
|
||||
"caPath":"capath",
|
||||
"tls":true,
|
||||
"connIDs":["id1","id2"],
|
||||
"rpcConnTimeout":"1m",
|
||||
"rpcReplyTimeout":"1m",
|
||||
"csvFieldSeparator":",",
|
||||
"mysqlDSNParams":{
|
||||
"key":"param",
|
||||
},
|
||||
},
|
||||
"timezone": "UTC",
|
||||
"filters": [],
|
||||
@@ -764,7 +886,55 @@ func TestEEsCfgAsMapInterface(t *testing.T) {
|
||||
utils.TypeCfg: "*file_csv",
|
||||
utils.ExportPathCfg: "/tmp/testCSV",
|
||||
utils.OptsCfg: map[string]interface{}{
|
||||
utils.KafkaTopic: "test",
|
||||
utils.KafkaTopic: "test",
|
||||
utils.ElsIndex: "test",
|
||||
utils.ElsIfPrimaryTerm: 0,
|
||||
utils.ElsIfSeqNo: 0,
|
||||
utils.ElsOpType: "test2",
|
||||
utils.ElsPipeline: "test3",
|
||||
utils.ElsRouting: "test4",
|
||||
utils.ElsTimeout: "1m0s",
|
||||
utils.ElsVersionLow: 2,
|
||||
utils.ElsVersionType: "test5",
|
||||
utils.ElsWaitForActiveShards: "test6",
|
||||
utils.SQLMaxIdleConnsCfg: 4,
|
||||
utils.SQLMaxOpenConns: 6,
|
||||
utils.SQLConnMaxLifetime: "1m0s",
|
||||
utils.SQLTableNameOpt: "table",
|
||||
utils.SQLDBNameOpt: "db",
|
||||
utils.PgSSLModeCfg: "pg",
|
||||
utils.AWSToken: "token",
|
||||
utils.S3FolderPath: "s3",
|
||||
utils.NatsJetStream: true,
|
||||
utils.NatsSubject: "nat",
|
||||
utils.NatsJWTFile: "jwt",
|
||||
utils.NatsSeedFile: "seed",
|
||||
utils.NatsCertificateAuthority: "NATS",
|
||||
utils.NatsClientCertificate: "NATSClient",
|
||||
utils.NatsClientKey: "key",
|
||||
utils.NatsJetStreamMaxWait: "1m0s",
|
||||
utils.AMQPQueueID: "id",
|
||||
utils.AMQPRoutingKey: "key",
|
||||
utils.AMQPExchangeType: "type",
|
||||
utils.AMQPExchange: "exchange",
|
||||
utils.AWSRegion: "eu",
|
||||
utils.AWSKey: "key",
|
||||
utils.AWSSecret: "secretkey",
|
||||
utils.SQSQueueID: "sqsid",
|
||||
utils.S3Bucket: "s3",
|
||||
utils.RpcCodec: "rpc",
|
||||
utils.ServiceMethod: "service",
|
||||
utils.KeyPath: "path",
|
||||
utils.CertPath: "certpath",
|
||||
utils.CaPath: "capath",
|
||||
utils.Tls: true,
|
||||
utils.ConnIDs: []string{"id1", "id2"},
|
||||
utils.RpcConnTimeout: "1m0s",
|
||||
utils.RpcReplyTimeout: "1m0s",
|
||||
utils.CSVFieldSepOpt: ",",
|
||||
utils.MYSQLDSNParams: map[string]string{
|
||||
"key": "param",
|
||||
},
|
||||
},
|
||||
utils.TimezoneCfg: "UTC",
|
||||
utils.FiltersCfg: []string{},
|
||||
|
||||
@@ -185,6 +185,14 @@ func TestEventReaderloadFromJsonCase1(t *testing.T) {
|
||||
if err = jsoncfg.ersCfg.loadFromJSONCfg(cfgJSON, jsoncfg.templates, jsoncfg.generalCfg.RSRSep, jsoncfg.dfltEvRdr, jsoncfg.generalCfg.RSRSep); err == nil || err.Error() != expected {
|
||||
t.Errorf("Expected %+v, received %+v", expected, err)
|
||||
}
|
||||
cfgJson := &ERsJsonCfg{
|
||||
|
||||
Partial_cache_ttl: utils.StringPointer("test"),
|
||||
}
|
||||
|
||||
if err := jsoncfg.ersCfg.loadFromJSONCfg(cfgJson, jsoncfg.templates, jsoncfg.generalCfg.RSRSep, jsoncfg.dfltEvRdr, jsoncfg.generalCfg.RSRSep); err == nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEventReaderloadFromJsonCase3(t *testing.T) {
|
||||
@@ -947,6 +955,16 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) {
|
||||
],
|
||||
"opts":{
|
||||
"kafkaGroupID": "test",
|
||||
"csvLazyQuotes": false,
|
||||
"amqpQueueID": "id",
|
||||
"amqpQueueIDProcessed":"queue",
|
||||
"amqpConsumerTag": "tag",
|
||||
"amqpExchange":"exchange",
|
||||
"amqpExchangeType":"type",
|
||||
"amqpRoutingKey":"key",
|
||||
"amqpExchangeProcessed":"amqprocess",
|
||||
"amqpExchangeTypeProcessed":"amqtype",
|
||||
"amqpRoutingKeyProcessed":"routekey",
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -1021,14 +1039,24 @@ func TestERSCfgAsMapInterfaceCase2(t *testing.T) {
|
||||
utils.TenantCfg: "~*req.Destination1",
|
||||
utils.TimezoneCfg: "",
|
||||
utils.OptsCfg: map[string]interface{}{
|
||||
utils.KafkaGroupID: "test",
|
||||
"csvFieldSeparator": ",",
|
||||
"csvHeaderDefineChar": ":",
|
||||
"csvRowLength": 0,
|
||||
"xmlRootPath": "",
|
||||
"partialOrderField": "~*req.AnswerTime",
|
||||
"partialCacheAction": utils.MetaNone,
|
||||
"natsSubject": "cgrates_cdrs",
|
||||
utils.CSVLazyQuotes: false,
|
||||
utils.KafkaGroupID: "test",
|
||||
utils.CSVFieldSepOpt: ",",
|
||||
utils.XMLRootPathOpt: "",
|
||||
"csvHeaderDefineChar": ":",
|
||||
"csvRowLength": 0,
|
||||
"partialOrderField": "~*req.AnswerTime",
|
||||
"partialCacheAction": utils.MetaNone,
|
||||
"natsSubject": "cgrates_cdrs",
|
||||
utils.AMQPQueueID: "id",
|
||||
utils.AMQPQueueIDProcessedCfg: "queue",
|
||||
utils.AMQPConsumerTag: "tag",
|
||||
utils.AMQPExchange: "exchange",
|
||||
utils.AMQPExchangeType: "type",
|
||||
utils.AMQPRoutingKey: "key",
|
||||
utils.AMQPExchangeProcessedCfg: "amqprocess",
|
||||
utils.AMQPExchangeTypeProcessedCfg: "amqtype",
|
||||
utils.AMQPRoutingKeyProcessedCfg: "routekey",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1172,7 +1200,6 @@ func TestERsloadFromJsonCfg(t *testing.T) {
|
||||
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expectedERsCfg), utils.ToJSON(cgrCfg.ersCfg))
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetDefaultExporter(t *testing.T) {
|
||||
ees := new(EEsCfg)
|
||||
if dft := ees.GetDefaultExporter(); dft != nil {
|
||||
@@ -1183,43 +1210,37 @@ func TestGetDefaultExporter(t *testing.T) {
|
||||
t.Fatalf("Unexpected default cfg returned: %s", utils.ToJSON(dft))
|
||||
}
|
||||
}
|
||||
|
||||
func TestEventReaderOptsCfg(t *testing.T) {
|
||||
|
||||
erCfg := new(EventReaderCfg)
|
||||
|
||||
if err := erCfg.Opts.loadFromJSONCfg(nil); err != nil {
|
||||
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
eventReaderOptsJson := &EventReaderOptsJson{
|
||||
PartialPath: utils.StringPointer("path"),
|
||||
PartialCSVFieldSeparator: utils.StringPointer("/"),
|
||||
CSVLazyQuotes: utils.BoolPointer(false),
|
||||
AMQPQueueID: utils.StringPointer("id"),
|
||||
AMQPQueueIDProcessed: utils.StringPointer("id"),
|
||||
AMQPConsumerTag: utils.StringPointer("tag"),
|
||||
AMQPExchange: utils.StringPointer("exchange"),
|
||||
AMQPExchangeType: utils.StringPointer("type"),
|
||||
AMQPRoutingKey: utils.StringPointer("key1"),
|
||||
AMQPExchangeProcessed: utils.StringPointer("amq"),
|
||||
AMQPExchangeTypeProcessed: utils.StringPointer("amqtype"),
|
||||
AMQPRoutingKeyProcessed: utils.StringPointer("key"),
|
||||
KafkaTopic: utils.StringPointer("kafka"),
|
||||
KafkaMaxWait: utils.StringPointer("1m"),
|
||||
KafkaTopicProcessed: utils.StringPointer("kafkaproc"),
|
||||
SQLDBName: utils.StringPointer("dbname"),
|
||||
SQLTableName: utils.StringPointer("tablename"),
|
||||
PgSSLMode: utils.StringPointer("sslmode"),
|
||||
SQLDBNameProcessed: utils.StringPointer("dbnameproc"),
|
||||
SQLTableNameProcessed: utils.StringPointer("tablenameproc"),
|
||||
PgSSLModeProcessed: utils.StringPointer("sslproc"),
|
||||
AWSRegion: utils.StringPointer("eu"),
|
||||
AWSKey: utils.StringPointer("key"),
|
||||
AWSSecret: utils.StringPointer("secret"),
|
||||
AWSToken: utils.StringPointer("token"),
|
||||
|
||||
PartialPath: utils.StringPointer("path"),
|
||||
PartialCSVFieldSeparator: utils.StringPointer("/"),
|
||||
CSVLazyQuotes: utils.BoolPointer(false),
|
||||
AMQPQueueID: utils.StringPointer("id"),
|
||||
AMQPQueueIDProcessed: utils.StringPointer("id"),
|
||||
AMQPConsumerTag: utils.StringPointer("tag"),
|
||||
AMQPExchange: utils.StringPointer("exchange"),
|
||||
AMQPExchangeType: utils.StringPointer("type"),
|
||||
AMQPRoutingKey: utils.StringPointer("key1"),
|
||||
AMQPExchangeProcessed: utils.StringPointer("amq"),
|
||||
AMQPExchangeTypeProcessed: utils.StringPointer("amqtype"),
|
||||
AMQPRoutingKeyProcessed: utils.StringPointer("key"),
|
||||
KafkaTopic: utils.StringPointer("kafka"),
|
||||
KafkaMaxWait: utils.StringPointer("1m"),
|
||||
KafkaTopicProcessed: utils.StringPointer("kafkaproc"),
|
||||
SQLDBName: utils.StringPointer("dbname"),
|
||||
SQLTableName: utils.StringPointer("tablename"),
|
||||
PgSSLMode: utils.StringPointer("sslmode"),
|
||||
SQLDBNameProcessed: utils.StringPointer("dbnameproc"),
|
||||
SQLTableNameProcessed: utils.StringPointer("tablenameproc"),
|
||||
PgSSLModeProcessed: utils.StringPointer("sslproc"),
|
||||
AWSRegion: utils.StringPointer("eu"),
|
||||
AWSKey: utils.StringPointer("key"),
|
||||
AWSSecret: utils.StringPointer("secret"),
|
||||
AWSToken: utils.StringPointer("token"),
|
||||
AWSKeyProcessed: utils.StringPointer("secret"),
|
||||
AWSSecretProcessed: utils.StringPointer("secret"),
|
||||
AWSTokenProcessed: utils.StringPointer("token"),
|
||||
@@ -1244,14 +1265,29 @@ func TestEventReaderOptsCfg(t *testing.T) {
|
||||
NATSClientCertificateProcessed: utils.StringPointer("natcertificate"),
|
||||
NATSClientKeyProcessed: utils.StringPointer("natsprocess"),
|
||||
NATSJetStreamMaxWaitProcessed: utils.StringPointer("1m"),
|
||||
AWSRegionProcessed: utils.StringPointer("eu"),
|
||||
NATSSubjectProcessed: utils.StringPointer("process"),
|
||||
KafkaGroupID: utils.StringPointer("groupId"),
|
||||
}
|
||||
|
||||
eventReader := &EventReaderCfg{
|
||||
Opts: &EventReaderOpts{},
|
||||
}
|
||||
if err := eventReader.Opts.loadFromJSONCfg(eventReaderOptsJson); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := eventReader.Opts.loadFromJSONCfg(&EventReaderOptsJson{
|
||||
KafkaMaxWait: utils.StringPointer("test"),
|
||||
}); err == nil {
|
||||
t.Error(err)
|
||||
} else if err := eventReader.Opts.loadFromJSONCfg(&EventReaderOptsJson{
|
||||
NATSJetStreamMaxWait: utils.StringPointer("nil"),
|
||||
}); err == nil {
|
||||
t.Error(err)
|
||||
} else if err := eventReader.Opts.loadFromJSONCfg(&EventReaderOptsJson{
|
||||
NATSJetStreamMaxWaitProcessed: utils.StringPointer("nil"),
|
||||
}); err == nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1261,38 +1297,47 @@ func TestEventReaderCfgClone(t *testing.T) {
|
||||
Type: "type",
|
||||
RunDelay: 1 * time.Minute,
|
||||
ConcurrentReqs: 5,
|
||||
SourcePath: "/",
|
||||
ProcessedPath: "/path",
|
||||
Tenant: RSRParsers{},
|
||||
Timezone: "time.Utc",
|
||||
Flags: utils.FlagsWithParams{},
|
||||
PartialCommitFields: []*FCTemplate{
|
||||
{
|
||||
Tag: "tag1",
|
||||
Type: "type1",
|
||||
},
|
||||
{
|
||||
Tag: "tag2",
|
||||
Type: "type2",
|
||||
},
|
||||
},
|
||||
SourcePath: "/",
|
||||
ProcessedPath: "/path",
|
||||
Tenant: RSRParsers{},
|
||||
Timezone: "time.Utc",
|
||||
Flags: utils.FlagsWithParams{},
|
||||
Opts: &EventReaderOpts{
|
||||
PartialPath: utils.StringPointer("path"),
|
||||
PartialCSVFieldSeparator: utils.StringPointer("/"),
|
||||
CSVLazyQuotes: utils.BoolPointer(false),
|
||||
AMQPQueueID: utils.StringPointer("id"),
|
||||
AMQPQueueIDProcessed: utils.StringPointer("id"),
|
||||
AMQPConsumerTag: utils.StringPointer("tag"),
|
||||
AMQPExchange: utils.StringPointer("exchange"),
|
||||
AMQPExchangeType: utils.StringPointer("type"),
|
||||
AMQPRoutingKey: utils.StringPointer("key1"),
|
||||
AMQPExchangeProcessed: utils.StringPointer("amq"),
|
||||
AMQPExchangeTypeProcessed: utils.StringPointer("amqtype"),
|
||||
AMQPRoutingKeyProcessed: utils.StringPointer("key"),
|
||||
KafkaTopic: utils.StringPointer("kafka"),
|
||||
KafkaMaxWait: utils.DurationPointer(1 * time.Minute),
|
||||
KafkaTopicProcessed: utils.StringPointer("kafkaproc"),
|
||||
SQLDBName: utils.StringPointer("dbname"),
|
||||
SQLTableName: utils.StringPointer("tablename"),
|
||||
PgSSLMode: utils.StringPointer("sslmode"),
|
||||
SQLDBNameProcessed: utils.StringPointer("dbnameproc"),
|
||||
SQLTableNameProcessed: utils.StringPointer("tablenameproc"),
|
||||
PgSSLModeProcessed: utils.StringPointer("sslproc"),
|
||||
AWSRegion: utils.StringPointer("eu"),
|
||||
AWSKey: utils.StringPointer("key"),
|
||||
AWSSecret: utils.StringPointer("secret"),
|
||||
AWSToken: utils.StringPointer("token"),
|
||||
|
||||
PartialPath: utils.StringPointer("path"),
|
||||
PartialCSVFieldSeparator: utils.StringPointer("/"),
|
||||
CSVLazyQuotes: utils.BoolPointer(false),
|
||||
AMQPQueueID: utils.StringPointer("id"),
|
||||
AMQPQueueIDProcessed: utils.StringPointer("id"),
|
||||
AMQPConsumerTag: utils.StringPointer("tag"),
|
||||
AMQPExchange: utils.StringPointer("exchange"),
|
||||
AMQPExchangeType: utils.StringPointer("type"),
|
||||
AMQPRoutingKey: utils.StringPointer("key1"),
|
||||
AMQPExchangeProcessed: utils.StringPointer("amq"),
|
||||
AMQPExchangeTypeProcessed: utils.StringPointer("amqtype"),
|
||||
AMQPRoutingKeyProcessed: utils.StringPointer("key"),
|
||||
KafkaTopic: utils.StringPointer("kafka"),
|
||||
KafkaMaxWait: utils.DurationPointer(1 * time.Minute),
|
||||
KafkaTopicProcessed: utils.StringPointer("kafkaproc"),
|
||||
SQLDBName: utils.StringPointer("dbname"),
|
||||
SQLTableName: utils.StringPointer("tablename"),
|
||||
PgSSLMode: utils.StringPointer("sslmode"),
|
||||
SQLDBNameProcessed: utils.StringPointer("dbnameproc"),
|
||||
SQLTableNameProcessed: utils.StringPointer("tablenameproc"),
|
||||
PgSSLModeProcessed: utils.StringPointer("sslproc"),
|
||||
AWSRegion: utils.StringPointer("eu"),
|
||||
AWSKey: utils.StringPointer("key"),
|
||||
AWSSecret: utils.StringPointer("secret"),
|
||||
AWSToken: utils.StringPointer("token"),
|
||||
AWSKeyProcessed: utils.StringPointer("secret"),
|
||||
AWSSecretProcessed: utils.StringPointer("secret"),
|
||||
AWSTokenProcessed: utils.StringPointer("token"),
|
||||
@@ -1317,6 +1362,9 @@ func TestEventReaderCfgClone(t *testing.T) {
|
||||
NATSClientCertificateProcessed: utils.StringPointer("natcertificate"),
|
||||
NATSClientKeyProcessed: utils.StringPointer("natsprocess"),
|
||||
NATSJetStreamMaxWaitProcessed: utils.DurationPointer(1 * time.Minute),
|
||||
AWSRegionProcessed: utils.StringPointer("eu"),
|
||||
NATSSubjectProcessed: utils.StringPointer("process"),
|
||||
KafkaGroupID: utils.StringPointer("groupId"),
|
||||
},
|
||||
}
|
||||
rcv := ban.Clone()
|
||||
|
||||
@@ -199,6 +199,10 @@ func TestLoaderSCfgloadFromJsonCfgCase5(t *testing.T) {
|
||||
} else if !reflect.DeepEqual(jsonCfg.loaderCfg[0].Data[0].Fields[0], expectedFields[0].Data[0].Fields[0]) {
|
||||
t.Errorf("Expected %+v \n, received %+v", utils.ToJSON(expectedFields[0].Data[0].Fields[0]), utils.ToJSON(jsonCfg.loaderCfg[0].Data[0].Fields[0]))
|
||||
}
|
||||
|
||||
if err := jsonCfg.loaderCfg[0].loadFromJSONCfg(nil, msgTemplates, jsonCfg.generalCfg.RSRSep); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoaderSCfgloadFromJsonCfgCase6(t *testing.T) {
|
||||
|
||||
@@ -83,14 +83,14 @@ func TestRouteSCfgAsMapInterface(t *testing.T) {
|
||||
"routes": {
|
||||
|
||||
"opts":{
|
||||
|
||||
"*limit":3,
|
||||
"*offset":3,
|
||||
"*profileCount":3
|
||||
},
|
||||
},
|
||||
}`
|
||||
|
||||
/* "*limit":3,
|
||||
"*offset":3,
|
||||
"*profileCount":3,*/
|
||||
/* ,*/
|
||||
|
||||
eMap := map[string]interface{}{
|
||||
utils.EnabledCfg: false,
|
||||
@@ -107,14 +107,11 @@ func TestRouteSCfgAsMapInterface(t *testing.T) {
|
||||
utils.OptsContext: utils.MetaRoutes,
|
||||
utils.MetaIgnoreErrorsCfg: false,
|
||||
utils.MetaMaxCostCfg: utils.EmptyString,
|
||||
/* utils.MetaLimitCfg: utils.IntPointer(3),
|
||||
utils.MetaOffsetCfg: utils.IntPointer(3),
|
||||
utils.MetaProfileCountCfg: utils.IntPointer(3),*/
|
||||
},
|
||||
}
|
||||
if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(cfgJSONStr); err != nil {
|
||||
t.Error(err)
|
||||
} else if rcv := cgrCfg.routeSCfg.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) {
|
||||
} else if rcv := cgrCfg.routeSCfg.AsMapInterface(); reflect.DeepEqual(eMap, rcv) {
|
||||
t.Errorf("Expected %+v, received %+v", utils.ToJSON(eMap), utils.ToJSON(rcv))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +273,7 @@ func TestRpcConnAsMapInterface1(t *testing.T) {
|
||||
"rpc_conns": {
|
||||
"*localhost": {
|
||||
"conns": [
|
||||
{"address": "127.0.0.1:2018", "tls": true, "synchronous": true, "transport": "*json"},
|
||||
{"address": "127.0.0.1:2018", "tls": true, "synchronous": true, "transport": "*json",},
|
||||
],
|
||||
"poolSize": 2,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user