Commit Graph

5102 Commits

Author SHA1 Message Date
ionutboangiu
52bb1c2970 Add support for *transfer_balance inside *cdrlog action 2024-02-20 11:11:39 +01:00
ionutboangiu
87da08f7fd Revise *transfer_balance action and its API
Ensure parameter fields are not abbreviated.

The action will not depend on balance type anymore. It will go through all
balances.

*default balance from source balance can go negative during transfer.
2024-02-19 11:28:52 +01:00
ionutboangiu
41976e5721 Update *cdrlog action to support *remove_expired actions
Will also be able to process more than one CDR per
action.
2024-02-19 11:28:52 +01:00
ionutboangiu
267e6109e1 Implement CDRsv1.ProcessEvents API 2024-02-19 11:28:52 +01:00
arberkatellari
e730ef4eb2 Update integration tests 2024-02-15 17:02:41 +01:00
ionutboangiu
d182d6f601 Revise behaviour of balance factor
Now it multiplies instead of dividing.
2024-02-06 10:06:30 +01:00
ionutboangiu
f01ae9fb37 Add compatibility support between *remove_balance and *cdrlog actions 2024-01-30 18:46:48 +01:00
ionutboangiu
8c0bee1a1a Add error constant for INSUFFICIENT_CREDIT_BALANCE_BLOCKER 2024-01-29 09:57:49 +01:00
ionutboangiu
050af6032c Include DestinationIDs and Factor when cloning balances
This fixes an issue where, if data_db is of type *internal, the Factor value is lost
on GetAccount
2024-01-29 09:57:49 +01:00
gezimbll
dfb8011a1a Fix encoding dataprovider as json body for *http filter 2024-01-26 12:11:46 +01:00
ionutboangiu
911cd1b607 Update SMCostRetries backoff increment unit to ms 2024-01-25 18:41:17 +01:00
ionutboangiu
5c96ecf27e Update balance factor to depend on category
Updated unit tests to reflect that also.
2024-01-25 18:41:17 +01:00
ionutboangiu
dca2c4b6a1 Revise unit tests following the blocker update 2024-01-23 14:12:33 +01:00
ionutboangiu
36bdc41e97 Add support for kafka ssl encryption
For both poster and reader.
Added integration test.
2024-01-23 14:12:33 +01:00
DanB
e0d15f1a9e Prevent balance Blocker to partially debit 2024-01-19 16:28:09 +01:00
gezimbll
6f6374abb9 added *http attribute type 2024-01-15 16:17:02 +01:00
gezimbll
584a55ab25 added *http filter type 2024-01-15 16:17:02 +01:00
ionutboangiu
b76d61281c Implement new *transfer_balance action
Added possibility to mock datamanager account functions.

Fixed typo in SubtractValue function name.

Added unit & integration tests.
2024-01-15 16:15:18 +01:00
gezimbll
422d9196b4 Added new filter "*contains" 2023-12-18 17:30:15 +01:00
ionutboangiu
b4ef61d6f2 Update eventcost FieldAsInterface methods
Rating map is now accessible from Accounting.

ExtraCharges struct is accessible from Accounting.

RatingUnit fields that did not represent the id of another event cost struct
are now retrievable.
2023-12-13 20:32:27 +01:00
ionutboangiu
17fbc2d51b Rename mongoScheme opt to mongoConnScheme 2023-12-12 10:10:26 +01:00
ionutboangiu
24cbe49d90 Add support for mongodb+srv conn format
Option can be found in db opts under the name 'mongoSchema'.
2023-12-11 17:15:40 +01:00
ionutboangiu
1154cad0df Rename max_recursion_depth cfg param to fallback_depth 2023-12-07 17:08:22 +01:00
ionutboangiu
ff53446e41 Make recursion_max_depth a configurable option
Also added an integration test checking the recursion depth functionality.
2023-12-07 17:08:22 +01:00
ionutboangiu
7886a35d63 Rename composeURI func to composeMongoURI
To reflect that it's used exclusively for MongoDB (for now at least).

Also added a descriptive comment to the function.
2023-12-07 17:07:42 +01:00
ionutboangiu
a057b34505 Use simple string concatenation to build URI
No need to keep the Parse call as a validation step since
any issue would be caught when establishing a connection.

Renamed buildURL to composeURI.
2023-12-07 17:07:42 +01:00
ionutboangiu
b502920b0b Revise buildURL function
The RawQuery field would not be properly populated in
the old implementation. Has been fixed by calling the
Parse function at the end.
2023-12-07 17:07:42 +01:00
gezimbll
f258a289f4 Updated statmetrics test && added comments 2023-12-01 18:27:44 +01:00
gezimbll
b99d87c262 Added OneEvent functionality for statmetrics && tests 2023-12-01 18:27:44 +01:00
gezimbll
b2aad38e68 Added OneEvent functionality to StatS 2023-12-01 18:27:44 +01:00
gezimbll
5f801c8b67 Revise integration tests 2023-11-30 16:52:43 +01:00
ionutboangiu
a440c18c0c Prolong expiration date for balance in unit test 2023-11-14 18:26:54 +01:00
ionutboangiu
7eeab045a3 Trim fldPath Increments before retrieving one of its fields 2023-11-14 18:23:33 +01:00
arberkatellari
681cd3c58a Add dryrun for CDRsV2ProcessEvent 2023-11-09 09:37:34 +01:00
gezimbll
09e5088262 Removed warnings from go staticcheck 2023-11-08 17:10:13 +01:00
gezimbll
c2dacc42c1 Removed warnings from go staticcheck 2023-11-08 17:10:13 +01:00
gezimbll
5a85c119c8 Replacing IsSliceMember ,CloneStringSlice and SliceStringEqual with slices package equivalent functions 2023-11-01 21:52:50 +01:00
ionutboangiu
6722d6b6a4 Remove unused DryRun field from CallDescriptor
dryRun vars will also not be considered anymore in the balance
blocker condition.

Fixes #4163
2023-11-01 21:37:32 +01:00
ionutboangiu
88f31c189d Optimize CDRs unit test (12s->1s) 2023-10-27 18:51:01 +02:00
ionutboangiu
38578524da Upgrade MongoDB driver to v1.12
- Set (but comment) serverAPI options (currently distinct api and
create.size BSON field are deprecated + possible others that are untested)
- Remove the custom time decoder used for mongo BSON
datetime values. The custom decoder was only converting these values
into UTC and was not any different from the default time.Time
decoder in the MongoDB driver, which also handles BSON string, int64,
and document values.
- Implement 'buildURL' function to connect to mongo (can also be
used for mysql and postgres)
- Update function names, variable names, and comments for clarity
- Replace 'bsonx.Regex' with the Regex primitive for v1.12 compatibility
- Use simple concatenation instead of Sprintf
- Declare 'decimalType' locally, replace global 'decimalType'
- Simplify several functions without altering functionality
- Converting directly from a D to an M is deprecated. We are now decoding
  directly in a M.
- Used errors.As and errors.Is for proper error comparison and assertion
- Revised sloppy reassignments and added missing error checks
2023-10-27 18:51:01 +02:00
ionutboangiu
62b27b569f Make EventCost type vars satisfy the DataStorage interface 2023-10-26 15:55:54 +02:00
gezimbll
969ef4b754 Make go vet pass 2023-10-26 15:52:06 +02:00
gezimbll
9df5f2e02e Added EventCost FieldAsString tests 2023-10-26 15:52:06 +02:00
gezimbll
d560152d55 Improving internal storage coverage tests 2023-10-16 13:34:55 +03:00
gezimbll
405f29ca00 added internal storage tests 2023-10-12 15:06:04 +02:00
gezimbll
e52778794c Coverage tests for internal storage 2023-10-09 21:05:42 +02:00
ionutboangiu
1429445bde Update failing versions it test 2023-10-05 17:23:26 +02:00
gezimbll
37e5a54ea9 Fixed config tests & added new stordb tests 2023-10-04 20:58:25 +02:00
Bas Couwenberg
8894cc19ee Fix spelling errors.
* beacause     -> because
 * disconect    -> disconnect
 * quering      -> querying
 * retrived     -> retrieved
 * syncronous   -> synchronous
 * treshold     -> threshold
 * unsuccesfull -> unsuccessful
2023-09-11 12:24:52 +02:00
ionutboangiu
87c6fcac63 Revise failing tests in engine
For the first test, the connection comparison was removed since we are
expecting an error from the constructor.

The second one has been removed, because there is no way to compare
2 instances of rpcclient.RPCClient from engine. It will probably be
added back when an Equal function will be implemented for RPCClient.
2023-09-01 18:11:54 +02:00