Commit Graph

2844 Commits

Author SHA1 Message Date
ionutboangiu
d5039b3ce8 Add CDRs CRUD queries back and remove TP functions 2023-11-09 20:50:36 +01:00
ionutboangiu
6b831d3ba3 Make Paginate function generic
Also move the paginator implementation and its tests to their
own files.
2023-11-09 20:50:36 +01:00
gezimbll
32ed816de7 Replacing IsSliceMember ,CloneStringSlice and SliceStringEqual with slices package functions 2023-11-01 21:38:27 +01:00
ionutboangiu
6bcc374d45 Update EndOfMonth coreutils test 2023-10-19 17:19:30 +02:00
ionutboangiu
4c34d321de Add sanity check to prevent xml reader panic
HierarchyPath parser now returns nil when
the path is empty (instead of a string slice with one
EmptyString element).

If isAbsolute is set to true, when calling the AsString
method on a nil HierarchyPath, only the separator will
be returned. Alternatively, if isAbsolute is false, it
will just return . to signal that the path currently
being processed is the one required.This avoids a nil
expr error coming from the xmlquery library.

Use the Query and QueryAll functions from the xmlquery
package to be able to handle the errors ourselves and
avoid panics.

Remove config default value for xmlRootPath. The field
will remain commented in config_defaults for reference.

Add tests for HierarchyPath.AsString function.

Add comments for XmlProvider and xmlRootPath opt.

Update XmlProvider String() func based on the comment
which specifies that it should display the already
parsed values out of cache.
2023-10-19 17:19:30 +02:00
ionutboangiu
b09512a5c5 Implement *strip converter + tests 2023-10-09 21:08:28 +02:00
ionutboangiu
d0a435aa6d Migrate to new jetstream API
Upgraded go.mod nats version due to an issue caused by version mismatch
between driver and server (uncertain).

Renamed function from getProcessOptions to getProcessedOptions.

## *NatsER.Serve

- Replaced ChanQueueSubscribe with QueueSubscribe for Core NATS consumer
to handle the message processing directly.

- Since QueueSubscribe is now used regardless of jetstream status, the
message handler has been assigned to a separate variable that can be
reused.

-  The message handler is now dealing with the message processing
directly, therefore the select case listening for the channel which is
feeding NATS messages can be removed together with the channel itself
and the select. Currently, the goroutine within Serve only has to block
until the rdrExit chan is closed.

- Moved the resource check inside the handler right before starting the
message processing goroutine.

## *NatsEE.parseOpts

- Renamed function from parseOpt to parseOpts.

- Handled the error coming from GetNatsOpts function.

## *NatsEE.Connect

- Updated function to return early in case of non-nil nats.Conn value
to reduce nesting.

## *NatsEE.ExportEvent

- Use defer to release resources and RUnlock.

## *NatsEE.Close

- Use defer to Unlock.

- Update function to return early in case of nil nats.Conn value to
reduce nesting.

## ees.GetNatsOpts

- Chose switch over if else when parsing client certificate and keys
opts.

- Updated function to return the errors directly instead of assigning
them to a separate variable right before returning.

## ers.GetNatsOpts

- Chose switch over if else when parsing client certificate and keys
opts.

- Updated function to return the errors directly instead of assigning
them to a separate variable right before returning.

Removed tab from commented natsJetStreamMaxWaitProcessed option
value in config_defaults.go under ers section.

Added integration test for ERs NATS.

Updated ees/ers implementation to use the jetstream package which
separates the jetstream context from Core NATS.

Removed the jsOpts fields from the NatsEE struct. We are now using the
jetStreamMaxWait option directly through a timeout context.

Added streamName option for NATS reader since it is now required to be
specified when creating a consumer (it is not inferred based on subject
anymore).

Updated nats ers integration tests.

Updated tests to also use the new jetstream package.

Updated tests to start the nats-server using their official driver
instead of using the std go exec package. time.Sleeps are now not
required anymore to wait for the server.

In test configurations for nats readers, made sure that natsStreamName
option is populated. It is now required for consumers to know where to
subscribe.
2023-09-28 20:48:39 +02:00
NikolasPetriti
8ef305d64c Add coverage tests for utils and config 2023-09-12 18:10:23 +02:00
arberkatellari
770454c007 Renew DlgList, DNSAgent & add SRV/A support 2023-08-28 12:27:53 +02:00
arberkatellari
6eda4303f5 Revise DNS Agent and Service 2023-08-28 12:27:53 +02:00
gezimbll
990feb0f26 fixing tests for ees 2023-08-02 16:49:33 +02:00
gezimbll
5b5a159706 Added sentrypeer filter type 2023-08-02 16:49:33 +02:00
arberkatellari
fcaa3fb360 Make RandomInteger() return int64 2023-07-21 09:03:22 +02:00
gezimbll
fcc9fc109b Updated go-elasticsearch client 2023-07-04 13:18:54 +02:00
ionutboangiu
113e2a2bdf Replace interface{} with any 2023-05-31 10:22:28 +02:00
ionutboangiu
1d7bd1389b Add implementation for ordered map 2023-05-31 10:22:28 +02:00
ionutboangiu
df1dc5e838 Add StorDB service
Add StorDB to config and services.

Put back the store_cdrs option under cdrs and update the CDRs
service to depend on StorDB.

Define the StorDB interface and add a constructor for it.

Add a constructor for postgres storage.

Add a config sanity check to validate SSL modes for postgres.

Update cgr-engine to consider StorDB on startup.
2023-05-03 10:05:28 +02:00
gezimbll
04d05c3a4f replacing non-meta constants for storage types 2023-03-08 19:13:48 +01:00
arberkatellari
f912ab04e8 Improve logger and libindex tests 2023-02-24 16:51:16 +01:00
ionutboangiu
db3ff231c6 Add options for SASL PLAIN auth (amqp 1.0) 2023-02-22 18:21:10 +01:00
arberkatellari
748764d4a7 Improve tests for container environments 2023-02-21 18:28:52 +01:00
arberkatellari
cbe17dd080 Improving NewDispatcherService ServiceManagerS and its constant 2022-12-13 17:12:03 +02:00
arberkatellari
fd0bec2e10 Improving Coverage at Utils 2022-11-22 13:58:17 +02:00
arberkatellari
acafea967a improving coverage at utils 2022-11-20 18:48:03 +01:00
adi
5d23b6433f Chanegd FileName consts into ers 2022-11-20 18:46:55 +01:00
arberkatellari
f579e05221 Improving coverage at utils 2022-11-18 11:48:24 +01:00
arberkatellari
8abd4d93c4 Improving coverage at utils 2022-11-18 11:48:24 +01:00
arberkatellari
320c179fee Improving coverage at utils 2022-11-16 11:55:25 +01:00
arberkatellari
9cf7e38eb6 Improving coverage at utils 2022-11-16 11:55:25 +01:00
arberkatellari
ce6129c118 Improving coverage test at utils 2022-11-11 17:03:59 +01:00
ionutboangiu
60a4da69e0 Implement start/stop/status methods for servmanager + tests 2022-10-21 10:16:23 +02:00
adi
ad7bd111d1 Improved dispatcher errors 2022-10-21 10:14:19 +02:00
ionutboangiu
c7ac907daf Add the missing dispatcher functions 2022-10-12 18:14:10 +02:00
adi
968e3d1871 Dispatcher cache and tests 2022-10-10 18:20:56 +02:00
adi
693262d14f Added it test for CallCache on dispatcherS 2022-10-10 18:20:56 +02:00
adi
cb2bbe3902 CallCache for DispatcherRoutes and DispatcherInstance 2022-10-10 18:20:56 +02:00
adi
f3b4390838 Dispatchers and cache 2022-10-10 18:20:56 +02:00
adi
734776b113 Unified consts of opts 2022-10-03 18:29:24 +03:00
adi
1e51b6d73f Unified constants for subsystem/removed big S 2022-09-25 12:16:25 +02:00
adi
70fa4f7a2b Bool opts and config modification 2022-09-22 20:22:34 +02:00
DanB
50b058e547 DispatcherS with *routeID and failover support 2022-09-22 13:01:37 +02:00
DanB
7c18d51581 DispatcherS with caches remote/replication in alpha stage 2022-09-19 12:03:35 +02:00
ionutboangiu
f3bd4b63c0 Add support for kafka reader ssl encryption 2022-08-24 09:32:23 +03:00
ionutboangiu
f66f05d0e3 Add support for kafka ssl encryption 2022-08-24 09:32:23 +03:00
ionutboangiu
0653e9b5d7 Apply go fmt 2022-08-24 09:32:23 +03:00
ionutboangiu
4c9b5b5cbe Add *dispatcherS opt 2022-08-17 20:27:30 +03:00
ionutboangiu
09c6261903 Fix issue where fib function overflows 2022-08-05 14:30:45 +02:00
adi
0eb61c965a Efs tests + improves 2022-07-30 08:19:08 +02:00
adi
a448fb2c7a INtegrated efs in logger/ees + ers changes 2022-07-30 08:19:08 +02:00
adi
da358161a7 EFs service to logger/ees and APIS 2022-07-30 08:19:08 +02:00